在前面的文章中,簡單介紹了物聯網。討論了物聯網的重要性、挑戰、應用和趨勢。現在,有了對 IOT 的基本了解,是時候研究 IOT 的構建塊了。物聯網是作為一個集成了各種技術的包開發的。每種技術在物聯網系統中都有自己的主要作用。在本教程中,將檢查 IOT 的基本構建塊及其在 IOT 基礎設施中的位置。
物聯網允許物理世界中的事物(物聯網設備/對象)通過通信網絡與虛擬世界(云服務、平臺和應用程序)交互,從而能夠相互交換和共享上下文感知信息。因此,任何物聯網系統都是由物理世界、虛擬世界和通信網絡構建而成的。這三個大致是物聯網系統的基本塊。所以,一個物聯網系統可以用下面的框圖精確地表示——

圖 1:以簡單塊顯示物聯網的圖像
為了對物聯網生態系統的基礎設施有一個鳥瞰圖,了解以下術語很重要 -
1) 物——在物聯網的上下文中,物理世界或信息世界的任何具有唯一身份并可以集成到通信網絡中的對象都稱為“物”。事物可以是物理事物,也可以是虛擬事物。物理事物通常被稱為“(物聯網)設備”。物聯網中的事物概念也與設備的概念有些不同。雖然事物可以是虛擬的或物理的事物,但當使用術語設備時,它指的是可以在網絡中通信并可能配備傳感器、執行器、處理器、內存和/或控制器的物理設備。雖然事物也可以是虛擬事物,例如云服務解決方案。此類虛擬事物是軟件應用程序、API 或應用程序解決方案,它們以自己的權限交換和處理數據。由于也有這樣的應用,有其唯一的身份或識別密鑰,它們就被視為事物。虛擬事物也可以是物理事物的信息表示,例如亞馬遜網絡服務中的事物影子。物理事物的一個簡單示例可以是溫度傳感器。溫度傳感器可以通過控制器連接到通信網絡,它可以收集和共享有關環境實時溫度的動態信息。
2)物理世界——因此,物聯網系統中既可以存在物理事物,也可以存在虛擬事物。物聯網系統中的物理世界是指物理事物或設備的集合。物理事物或設備是圍繞包含 IOT 板的控制器或處理器構建的。IOT 板有一個坐著的微控制器或微處理器,以及有限的內存資源和一個或多個通信接口。它們具有通用輸入/輸出引腳,通過這些引腳與一個或多個傳感器、執行器或通信通道連接。因此,這些物理事物能夠感知、收集、存儲、共享和處理信息,并且可能能夠操作一個或多個執行器來影響現實世界。
3)虛擬世界——在物聯網系統中,虛擬世界是指虛擬事物的集合。這些虛擬事物通常是 Web、云或移動應用程序、API 或應用程序平臺。虛擬世界或虛擬事物的集合在物聯網系統中的數據記錄、數據挖掘和分析中起著主要作用。來自物理事物的數據被共享到軟件應用程序(Web 或云服務),在這些應用程序中存儲、分析和處理數據,以獲得有用的見解或獲取操作執行器所需的信息。
4)通信網絡——在物聯網中,通信網絡是物理世界和虛擬世界之間交互的紐帶。實際上,它是一個廣域網或互聯網網絡,允許裝載傳感器和執行器的 IOT 板與 Web 或云服務器通信或允許它們相互通信。它與通過多個層(物理層、鏈路層、網絡層、傳輸層和應用層)實現的典型互聯網網絡沒有什么不同。在每一層都有各種通信協議來促進安全和高效的數據交換。
在物理或鏈路層,使用的一些流行的通信協議是 LR-WPAN、6LoWPAN、藍牙/LE、802.15.4、LTE、GPRS、CDMA、NFC、Zigbee、802.11 Wi-Fi、WIRELESSHART、Zwave、Sigfox、DASH7、 LoRaWAN、Thread、INSTEON等。最常見的網絡層協議是IPv4和IPv6。一些常見的傳輸層協議包括 TCP、UDP、DTLS 和 TLS。一些流行的應用層協議有 DDS、MQTT、REST、CoAP、LLAP、XMPP、SSI、AMQP、XMPP-IOT 和 MQTT-SN。
物聯網系統的架構 –
不同的組織和服務提供商以不同的方式定義、實施和認可物聯網架構。然而,物聯網系統的基本架構在每個實施和業務模型下都是相同的。物聯網系統的基本架構可以從以下四層模型來理解:
1) 物聯網設備和網關
2) 通訊網絡
3) 云或服務器
4)物聯網應用
數據由物聯網系統生成、傳輸、處理并轉換為有用的見解。一個物聯網系統的基本架構可以用下面的框圖來表示——

圖 2:IOT 系統架構圖
1) 物聯網設備——任何滿足以下要求的設備或設備都算作物聯網設備——
a) 它能夠與其他設備通信并連接到互聯網網絡。它必須具有可以與其他設備建立通信或連接到互聯網網絡的硬件接口和固件或操作系統。
b) 它必須配備傳感器和/或執行器。傳感器可能正在收集來自物理世界的靜態或動態信息。傳感器收集的信息或數據應與服務器或云共享或交換。該設備還可以具有執行器,以根據或根據云或服務器發回的已處理數據或見解采取行動。
c) 設備必須具有用于捕獲數據的控制器或處理器、用于存儲數據的內存(通常是臨時的)以及用于處理捕獲的數據或從服務器或云接收的數據的固件或操作系統。
大多數物聯網設備都是使用標準物聯網板構建的。這些板可以是微控制器板或子板(單板計算機)。一些流行的 IOT 板包括 Arduino、Raspberry Pi、Beagle Bone、CubieBoard、Pinnocio、Banana Pi 等。這些板帶有集成了板載存儲器(RAM 和 ROM)、數字和模擬 GPIO(通用輸入輸出)引腳和各種通信通道(如 USB、I2C、SPI、TWI、以太網)的微控制器或處理器。這些板可以與其他板或傳感器和執行器堆疊在一起,形成一個物聯網設備(物理設備)。
IOT 設備也可以通過使用流行的微控制器或處理器增加網絡接口、RF 或蜂窩收發器來構建。這種物聯網設備是為關鍵任務應用定制的。一些領先的微控制器制造商包括德州儀器 (TI)、ARM、飛思卡爾、英特爾、Microchip Technology、Atmel 和 Broadcom。
根據硬件設計和功能,物聯網設備可大致分為以下幾類:
1) 通用設備
2) 傳感和驅動裝置
通用設備——通用設備是物聯網應用領域下具有嵌入式處理和通信能力的設備。通用設備可以處理一些信息,并可以通過有線或無線接口連接到通信網絡。基本上,這些設備僅從云或服務器收集數據和見解,并相應地操作或執行數據處理。例如,網絡控制的工業機器或家用電器可以被視為通用的物聯網設備。
傳感和執行設備——傳感和執行設備配備傳感器和執行器,使它們能夠交互并影響現實世界。傳感器收集與實際物理量有關的信息,例如溫度、濕度、光強度、力、密度等,并將其傳遞給板載控制器/處理器。控制器或處理器(臨時)存儲信息并將其傳遞到通信網絡。通過各層通信網絡,在云端或服務器上接收。云處理信息并發回有用的見解以操作執行器。
網關的作用
物聯網設備可以通過網關或不通過網關與其他設備建立通信。協議轉換基本上需要網關。假設物聯網設備可以通過 Zigbee 接口發送和接收數據,因此將通過 Zigbee 協議進行通信。通信網絡可以通過TCP-IP協議接收和發送數據。在這種情況下,將需要一個網關,該網關可以將來自使用 Zigbee 協議的設備的數據轉換為通過 TCP-IP 協議傳輸的數據,并將來自云或服務器通過 TCP-IP 協議的數據轉換為 Zigbee 協議以供物聯網設備接收。由于物聯網設備的通信網絡和車載網絡不同,網關充當了兩個網絡之間的雙向橋梁。
網關根據設備協議收集和提取(傳感器)數據,根據通信網絡運行的協議對其進行包裝和格式化,并將數據推送到通信網絡以傳輸到云端或服務器。同樣,它從云或服務器接收和提取數據、見解或信息,根據設備上網絡使用的網絡協議對其進行包裝和格式化,并將云處理的數據推送到物聯網設備。
因此,在以下兩種情況中的任何一種情況下都可能需要網關——
1)當物聯網設備和通信網絡可能以不同的協議運行時。通常,這些協議可能位于不同的網絡層。就像上面的例子一樣,Zigbee 是物理層協議,而 TCP-IP 是傳輸層協議。無線傳感器網絡是通過網關進行設備到網絡通信的另一個示例。
2) 一個 IOT 設備可能需要與另一個以不同協議運行的 IOT 設備進行通信。例如,藍牙設備可以使用網關與其他 BLE 設備進行無線通信。
因此,網關提供了設備與云或一個設備與另一個設備之間的間接通信方式。在設備到設備通信的情況下,IOT 端點(單個 IOT 設備)可能位于同一位置,并通過網關以不同的物理或鏈路層協議(RF 協議,如藍牙、Wi-Fi、Zigbee、Bluetooth-LE)進行通信。這樣的網關稱為邊緣網關。

圖 3:通過網關的 IOT 通信
無網關通信
物聯網設備也可以直接連接到云端或其他物聯網設備。在這種情況下,設備和通信網絡或相互通信的設備必須使用相同的協議共享和交換數據。因此,不需要協議轉換和任何網關。通常,這種設備到設備或設備到網絡的通信可以通過應用層協議實現,例如消息隊列遙測傳輸 (MQTT)、受限應用協議 (CoAP)、數據分發服務 (DDS)、高級消息隊列協議 (AMQP) 和可擴展消息傳遞和存在協議 (XMPP)。例如,一個 ESP8266 IOT 板可以直接使用 MQTT 協議與另一個 ESP8266 板直接通信。MQTT 是一種應用層協議。

圖 4:沒有網關的 IOT 通信
IOT 設備(IOT 板)可能具有固件、操作系統或實時操作系統來處理數據、執行消息傳遞和通信、管理數據存儲和管理執行器操作。一些流行的物聯網操作系統包括嵌入式 Linux、TinyOS、Snappy Ubuntu Core、Contiki、FreeRTOS、Mantis、ARM 的 mbedOS、RIOT OS、Windows 10、Nucleus RTOS、eCOS、SAFE ROTS、Android Things、Green Hills Integrity、WindRiver VxWorks 和布里洛操作系統。
2) 通信網絡——通信網絡通常是典型的互聯網網絡,具有不同的層(物理層、鏈路層、網絡層、傳輸層和應用層)以及在不同層運行的通信協議。
3)云/服務器——云或服務器是物聯網系統的邊緣。云存儲從不同和無數的物聯網設備收集的數據,并執行數據挖掘和分析以從中獲得有用的見解。它還負責管理連接的設備和網絡,管理設備到設備的通信,并通過操作和同步不同的物聯網設備以及它們之間的通信來實現物聯網應用。云還可以與其他私有和公共云服務通信以啟用 IOT 應用程序。
4)物聯網應用——云端數據的處理、挖掘和分析由物聯網應用完成。IOT 應用程序是云服務器上的軟件,它提取數據、操作數據以獲取有用的見解并設法將見解安全地推送到目標物聯網設備。例如,為家庭自動化設計的 IOT 應用程序可能會處理來自傳感器的數據并從云端發送命令來操作家用電器。
在下一個文章中,將研究在通信網絡的不同層使用的 不同IOT 通信協議。