導語
之前的幾篇文章我們已經介紹過物聯網的各種無線技術,包括近距離通信的無線技術,比如藍牙、WiFi、Zigbee,也有遠距離無線通信技術,如GPRS、LoRa、NB-IoT等。
除了通信,物聯網終端節點還具有一定計算能力和感知能力,一部分終端節點還具有執行能力。今天我們就來聊一下物聯網終端設備。
物聯網終端節點組成
物聯網終端設備一般由通信接口、MCU、傳感器和執行器組成。
如果把物聯網終端看作是一個人,那通信接口相當於嘴巴,主要是用來信息交流的。物聯網的通信方式主要是無線,當然也可能是有線,這要看具體的應用場景。
傳感器相當於人的眼睛、耳朵、鼻子、舌頭這些感知器官,用來接收外界的刺激。物聯網節點所使用的傳感器包括聲、光、電、氣等各種不同類型。
執行器相當於人的四肢。接收MCU的指令,然後根據MCU的命令來執行任務。執行器一般是繼電器、開關,也可能是電機等。
MCU是物聯網節點最重要的部分,相當於人的大腦,控制著傳感器、執行器和通信接口。典型的工作方式是這樣的,一邊接收傳感器的信息,並上傳到雲端;一邊接收雲端的指令,再根據指令來控制執行器。
談談MCU
什麼是MCU?
微控制單元(MCU:Microcontroller Unit) ,又稱單片微型計算機(Single Chip Microcomputer )或者單片機。
MCU就是我們常說的單片機,開發嵌入式系統的核心部件。嵌入式系統(Embedded System)是一個很寬泛的概念,主要是相對於計算機而言,是一種尺寸受限、功耗受限的特殊類型的計算機,小到手錶,大到手機,都可以認為是嵌入式系統。
其實物聯網節點就是一種嵌入式系統,只不過嵌入式系統不一定要有通信能力,不要求一定要接入網絡,這是與物聯網節點的最大區別。
以前用的最多的單片機就是Intel 8051系列單片機,51單片機幾乎是每個電子類專業大學生的必修課。基於8051內核的單片機是8位的處理器,工作頻率比較低,因此處理性能非常有限,但在過去對於絕大多數嵌入式應用已經完全勝任了。
不過隨著技術的進步,更高處理能力的ARM芯片價格越來越低,甚至於要比51單片機還低。現在基於Cortex-M系列ARM內核的MCU已經逐漸在應用中取代了51單片機。
用於物聯網應用的ARM芯片的主頻更高,處理能力更強,一般都是32位的。現在的物聯網應用所使用的傳感器精度更高,而且也有更大的數據量要求,還有很多情況下,需要執行多任務。傳統51單片機就有些力不從心了。
物聯網終端的軟件
剛才說的通信接口、傳感器、執行器,還有MCU都是硬件,但物聯網終端節點光有硬件,沒有軟件是沒法工作的。這種嵌入式設備上面運行的軟件,或者說嵌入式軟件,一般都是在出廠前燒寫到芯片中,在這之後通常不會改動。
嵌入式軟件一般保存在EROM(可擦寫只讀存儲器)或EEPROM,通常也稱作固件(Firmware)。
早期的嵌入式軟件一般功能比較單一,沒有操作系統的概念。平時一般只有一個無限循環的任務在運行;當有外部輸入時,會觸發中斷,然後掛起當前運行的主任務;先處理中斷任務,中斷任務處理完,再回到主任務繼續執行。這樣的工作方式稱為前後臺系統。
後來隨著嵌入式系統的複雜性不斷增加,嵌入式系統需要有多任務執行的併發能力,這種前後臺的工作方式已經不能滿足需要了。需要有一個程序來管理多個任務的執行順序,給多個任務分配資源,並創造運行環境,這個程序就是嵌入式操作系統。
嵌入式操作系統和我們平時用到的Windows、Linux、Android、iOS等其實是一回事,只不過嵌入式操作系統的尺寸沒有這些PC操作系統或手機操作系統那麼龐大,受到存儲空間、成本的限制,通常大小隻有幾十KB或者幾KB。
一些嵌入式操作系統是在Linux操作系統基礎上裁剪而成,還有一些做了實時性方面的改造;還有一些操作系統是獨立設計和開發的。微軟公司歷史上也開發過不少面向嵌入式設備的Windows Embedded系列,其中應用最廣泛的就是Windows CE。
結語
在後面的文章,我們會和大家詳細介紹各種目前應用比較廣泛的嵌入式操作系統,這些操作系統都可以用於各種各樣的物聯網終端節點中,不過具體如何選擇,還要結合整體方案綜合考慮。
想了解更多關於物聯網操作系統,請繼續關注“微說互聯網”以及縱論物聯網系列文章。