物聯網的輸出與輸入

I/O(英語:Input/Output),即輸入/輸出,通常指資料在記憶體和外部記憶體或其他周邊裝置之間的輸入和輸出。
評論
評論

學習輸出與輸入

在深入原型化(prototype)物聯網時,輸入與輸出(Input and output I/O)是最基礎的須知。本文提供了電子輸出與輸入的基礎概念,以及範例及應用。

有效的輸入與對應的輸出資料,電路才算完整運作,例如,設想有種小朋友的玩具,按鈕按下燈亮,放開按鈕燈滅。在這之中,感應器與致動器扮演重要的角色。感應器扮演輸入角色,其主要功能為接收真實世界的物理變化值,例如溫度、觸摸、壓力、濕度以及磁場。由於感應器可轉換將輸入能量轉換成輸出能量,因此它們亦被當作傳感器。輸出角色大致則由致動器擔當,他們可控制像是音響以及燈泡等硬體。

感應器與致動器

依照可觀測的能量變化,五花八門的感應器因應而生。在許多專案中,經常可看到加速度感應器,它由光束組成,以電壓測量干擾,測得加速度的變化量。在眾多加速度感應器中,您可找到因應各種變化情境的感應器,例如電容(隨著加速度變化量會改變電容量)、壓電(使用微晶體決定電壓輸出量,轉換為加速度量)、霍爾效應(改變磁場)、磁阻效應(磁場改變)、熱傳、壓阻效應(電阻變化)。當您要購買專案的感應器時,記得其價格會隨著靈敏度、觀測範圍、精確度以及其他功能而有所變化。致動器自感應器獲取並處理資料(電子訊號),會在物理世界中產出變化量,因此它同時是個傳感器。伺服馬達、馬達以及蜂鳴器皆屬其分類。在更複雜的網絡中,您可擁有多組感應器以及致動器連接在同一個網絡裡,資料搜集與協調可以在感應器對感應器、感應器對致動器、致動器對致動器之間調整。

您可找到許多針對感應器與致動器設計的應用程式。在健康領域,血糖儀是由測量病患血糖含量之生物感應器組裝而成,化學傳感器(輸入)以微型泵浦(輸出)觸發胰島素的釋放,圖一 為聲音感應器(輸入)轉換聲音成為電子波動至揚聲器(輸出)之輸入輸出 (I/O) 應用情境。

流程從輸入開始,接著將物理能量轉換成電子波動,接著導入物理輸出(聲音)。圖一中,感應器與制動器連接在 Intel® Edison board,其可完美將物理觀察到的聲音傳送至揚聲器輸出。

image03

圖一  聲音的輸入與輸出

當感應器偵測到一個或多個信號(輸入),會為致動器轉換信號為類比或數位,以便於接收。類比訊號會隨著連續性變化,在圖中顯示通常是連續性的平滑曲線。數位訊號是精確的描述,途中如同階梯般鋒利,筆直的上升、以及筆直的下降。

如圖一範例,資料為類比。電子硬體以類比轉數位轉換器,處理了類比以及數位通訊。其促使微控制器連接類比感應器讀取類比電壓。圖二提供了數位與類比訊號的視覺呈現。亦有感應器設計為具備接收兩種訊號,加速度感應器及有此例,而光與聲音感應器則以接收類比訊號較常見。

image01

圖二 數位與類比信號種類

 

以 Intel® Edison Board 探索輸入與輸出

讓我們深入了解輸入輸出在 Intel® Edison board 是如何運作。

概括而說,輸入輸出腳位位於 Arduino expansion board 的邊上,如圖三。這些針腳是介於 Intel® Edison board 與現實世界的物理介面:每個針腳代表著高(「on」模式,電壓變化)或低(「off」模式,無電壓)。您可結合 base shield 於針腳上,以連接感應器與致動器。在 Intel® Edison board 上,I/O 真腳資料紀錄在 /sys/class/gpio 的一個檔案中。由於這些針腳是雙向的,其目錄位在 /sys/class/gpio/gpio<XX>/direction,<XX> 表示 GPIO 所給予編號,以及輸出或輸入之分。

image00

圖三  位於 Intel® Edison board 針腳

現在您對於 I/O 在專案中扮演的角色已經有了清楚的概念,讓我們深入了解一些在日常生活中會遇到的範例,該如何以 Intel 科技如 Intel® Edison 或 Intel® Galileo board 實現。

 

光感應器

光度感應器是一種被動類比硬體,轉換光能源—包括可見與不可見光—成為電子訊號輸出。光感應器分為四種,端看他們如何輸入(光):光射、光導、光伏或光結。本文將聚焦於光導感應器,其電阻會隨著接受到的光變化,當光變強時,電流隨之增加。光敏電阻器(LDR)是一種被普遍使用的光導感應器,它會隨著光線的不同改變電阻,進而觸發行為。

較新的車會在周圍環境欠缺光線時,例如處於傍晚或是進入隧道,自動開啟燈光。另外也很相似的例子,您可以在家中插上夜燈,或是照亮戶外區域。您可靠 LDR、電源供應(電池)、燈、電阻以及晶體管創造一個簡單的夜燈。您可透過增加其餘程式碼至 Intel® Edison board 來 擴充功能。

聲音感應器

常見的的拍手聲控燈光,就是聲音感應器的最佳範例。該硬體由麥克風搜尋周遭的聲音(輸入),轉換成電子訊號並增強。濾波器(filter)會比對聲紋,進而卻認為拍手訊號。根據濾波器得出的結果,送出電子訊號至電源控制,決定連接在上的硬體開或關。

使用 Intel® Edison board 及 Arduino* extension board,加上揚聲器以及晶體管,您可建造拍手聲控器或敲門聲控器,如同「敲門門鎖偵測器」專案之範例。

結論

您可用感應器來獲取資料,並用致動器結合它們,讓資料可實際轉換為物理動量,在現實世界輸出。感應器可在各種情境用上,如熱感器、光度感應器以及壓力感應器等,其種類繁多不及備載。透過將感應器與致動器接上 Intel® Edison board 或 Intel® Galileo board,可將資料轉換成輸出至致動器上。

附加閱讀

欲留下評論請登入,若您尚未註冊,請至  Intel 開發者專區 註冊。

更多精選文章....