在前面的文章中,簡單介紹了物聯(lián)網(wǎng)。討論了物聯(lián)網(wǎng)的重要性、挑戰(zhàn)、應用和趨勢?,F(xiàn)在,有了對 IOT 的基本了解,是時候研究 IOT 的構(gòu)建塊了。物聯(lián)網(wǎng)是作為一個集成了各種技術(shù)的包開發(fā)的。每種技術(shù)在物聯(lián)網(wǎng)系統(tǒng)中都有自己的主要作用。在本教程中,將檢查 IOT 的基本構(gòu)建塊及其在 IOT 基礎(chǔ)設(shè)施中的位置。
物聯(lián)網(wǎng)允許物理世界中的事物(物聯(lián)網(wǎng)設(shè)備/對象)通過通信網(wǎng)絡與虛擬世界(云服務、平臺和應用程序)交互,從而能夠相互交換和共享上下文感知信息。因此,任何物聯(lián)網(wǎng)系統(tǒng)都是由物理世界、虛擬世界和通信網(wǎng)絡構(gòu)建而成的。這三個大致是物聯(lián)網(wǎng)系統(tǒng)的基本塊。所以,一個物聯(lián)網(wǎng)系統(tǒng)可以用下面的框圖精確地表示——
為了對物聯(lián)網(wǎng)生態(tài)系統(tǒng)的基礎(chǔ)設(shè)施有一個鳥瞰圖,了解以下術(shù)語很重要 -
1) 物——在物聯(lián)網(wǎng)的上下文中,物理世界或信息世界的任何具有唯一身份并可以集成到通信網(wǎng)絡中的對象都稱為“物”。事物可以是物理事物,也可以是虛擬事物。物理事物通常被稱為“(物聯(lián)網(wǎng))設(shè)備”。物聯(lián)網(wǎng)中的事物概念也與設(shè)備的概念有些不同。雖然事物可以是虛擬的或物理的事物,但當使用術(shù)語設(shè)備時,它指的是可以在網(wǎng)絡中通信并可能配備傳感器、執(zhí)行器、處理器、內(nèi)存和/或控制器的物理設(shè)備。雖然事物也可以是虛擬事物,例如云服務解決方案。此類虛擬事物是軟件應用程序、API 或應用程序解決方案,它們以自己的權(quán)限交換和處理數(shù)據(jù)。由于也有這樣的應用,有其唯一的身份或識別密鑰,它們就被視為事物。虛擬事物也可以是物理事物的信息表示,例如亞馬遜網(wǎng)絡服務中的事物影子。物理事物的一個簡單示例可以是溫度傳感器。溫度傳感器可以通過控制器連接到通信網(wǎng)絡,它可以收集和共享有關(guān)環(huán)境實時溫度的動態(tài)信息。
2)物理世界——因此,物聯(lián)網(wǎng)系統(tǒng)中既可以存在物理事物,也可以存在虛擬事物。物聯(lián)網(wǎng)系統(tǒng)中的物理世界是指物理事物或設(shè)備的集合。物理事物或設(shè)備是圍繞包含 IOT 板的控制器或處理器構(gòu)建的。IOT 板有一個坐著的微控制器或微處理器,以及有限的內(nèi)存資源和一個或多個通信接口。它們具有通用輸入/輸出引腳,通過這些引腳與一個或多個傳感器、執(zhí)行器或通信通道連接。因此,這些物理事物能夠感知、收集、存儲、共享和處理信息,并且可能能夠操作一個或多個執(zhí)行器來影響現(xiàn)實世界。
3)虛擬世界——在物聯(lián)網(wǎng)系統(tǒng)中,虛擬世界是指虛擬事物的集合。這些虛擬事物通常是 Web、云或移動應用程序、API 或應用程序平臺。虛擬世界或虛擬事物的集合在物聯(lián)網(wǎng)系統(tǒng)中的數(shù)據(jù)記錄、數(shù)據(jù)挖掘和分析中起著主要作用。來自物理事物的數(shù)據(jù)被共享到軟件應用程序(Web 或云服務),在這些應用程序中存儲、分析和處理數(shù)據(jù),以獲得有用的見解或獲取操作執(zhí)行器所需的信息。
4)通信網(wǎng)絡——在物聯(lián)網(wǎng)中,通信網(wǎng)絡是物理世界和虛擬世界之間交互的紐帶。實際上,它是一個廣域網(wǎng)或互聯(lián)網(wǎng)網(wǎng)絡,允許裝載傳感器和執(zhí)行器的 IOT 板與 Web 或云服務器通信或允許它們相互通信。它與通過多個層(物理層、鏈路層、網(wǎng)絡層、傳輸層和應用層)實現(xiàn)的典型互聯(lián)網(wǎng)網(wǎng)絡沒有什么不同。在每一層都有各種通信協(xié)議來促進安全和高效的數(shù)據(jù)交換。
在物理或鏈路層,使用的一些流行的通信協(xié)議是 LR-WPAN、6LoWPAN、藍牙/LE、802.15.4、LTE、GPRS、CDMA、NFC、Zigbee、802.11 Wi-Fi、WIRELESSHART、Zwave、Sigfox、DASH7、 LoRaWAN、Thread、INSTEON等。最常見的網(wǎng)絡層協(xié)議是IPv4和IPv6。一些常見的傳輸層協(xié)議包括 TCP、UDP、DTLS 和 TLS。一些流行的應用層協(xié)議有 DDS、MQTT、REST、CoAP、LLAP、XMPP、SSI、AMQP、XMPP-IOT 和 MQTT-SN。
物聯(lián)網(wǎng)系統(tǒng)的架構(gòu) –
不同的組織和服務提供商以不同的方式定義、實施和認可物聯(lián)網(wǎng)架構(gòu)。然而,物聯(lián)網(wǎng)系統(tǒng)的基本架構(gòu)在每個實施和業(yè)務模型下都是相同的。物聯(lián)網(wǎng)系統(tǒng)的基本架構(gòu)可以從以下四層模型來理解:
1) 物聯(lián)網(wǎng)設(shè)備和網(wǎng)關(guān)
2) 通訊網(wǎng)絡
3) 云或服務器
4)物聯(lián)網(wǎng)應用
數(shù)據(jù)由物聯(lián)網(wǎng)系統(tǒng)生成、傳輸、處理并轉(zhuǎn)換為有用的見解。一個物聯(lián)網(wǎng)系統(tǒng)的基本架構(gòu)可以用下面的框圖來表示——
1) 物聯(lián)網(wǎng)設(shè)備——任何滿足以下要求的設(shè)備或設(shè)備都算作物聯(lián)網(wǎng)設(shè)備——
a) 它能夠與其他設(shè)備通信并連接到互聯(lián)網(wǎng)網(wǎng)絡。它必須具有可以與其他設(shè)備建立通信或連接到互聯(lián)網(wǎng)網(wǎng)絡的硬件接口和固件或操作系統(tǒng)。
b) 它必須配備傳感器和/或執(zhí)行器。傳感器可能正在收集來自物理世界的靜態(tài)或動態(tài)信息。傳感器收集的信息或數(shù)據(jù)應與服務器或云共享或交換。該設(shè)備還可以具有執(zhí)行器,以根據(jù)或根據(jù)云或服務器發(fā)回的已處理數(shù)據(jù)或見解采取行動。
c) 設(shè)備必須具有用于捕獲數(shù)據(jù)的控制器或處理器、用于存儲數(shù)據(jù)的內(nèi)存(通常是臨時的)以及用于處理捕獲的數(shù)據(jù)或從服務器或云接收的數(shù)據(jù)的固件或操作系統(tǒng)。
大多數(shù)物聯(lián)網(wǎng)設(shè)備都是使用標準物聯(lián)網(wǎng)板構(gòu)建的。這些板可以是微控制器板或子板(單板計算機)。一些流行的 IOT 板包括 Arduino、Raspberry Pi、Beagle Bone、CubieBoard、Pinnocio、Banana Pi 等。這些板帶有集成了板載存儲器(RAM 和 ROM)、數(shù)字和模擬 GPIO(通用輸入輸出)引腳和各種通信通道(如 USB、I2C、SPI、TWI、以太網(wǎng))的微控制器或處理器。這些板可以與其他板或傳感器和執(zhí)行器堆疊在一起,形成一個物聯(lián)網(wǎng)設(shè)備(物理設(shè)備)。
IOT 設(shè)備也可以通過使用流行的微控制器或處理器增加網(wǎng)絡接口、RF 或蜂窩收發(fā)器來構(gòu)建。這種物聯(lián)網(wǎng)設(shè)備是為關(guān)鍵任務應用定制的。一些領(lǐng)先的微控制器制造商包括德州儀器 (TI)、ARM、飛思卡爾、英特爾、Microchip Technology、Atmel 和 Broadcom。
根據(jù)硬件設(shè)計和功能,物聯(lián)網(wǎng)設(shè)備可大致分為以下幾類:
1) 通用設(shè)備
2) 傳感和驅(qū)動裝置
通用設(shè)備——通用設(shè)備是物聯(lián)網(wǎng)應用領(lǐng)域下具有嵌入式處理和通信能力的設(shè)備。通用設(shè)備可以處理一些信息,并可以通過有線或無線接口連接到通信網(wǎng)絡。基本上,這些設(shè)備僅從云或服務器收集數(shù)據(jù)和見解,并相應地操作或執(zhí)行數(shù)據(jù)處理。例如,網(wǎng)絡控制的工業(yè)機器或家用電器可以被視為通用的物聯(lián)網(wǎng)設(shè)備。
傳感和執(zhí)行設(shè)備——傳感和執(zhí)行設(shè)備配備傳感器和執(zhí)行器,使它們能夠交互并影響現(xiàn)實世界。傳感器收集與實際物理量有關(guān)的信息,例如溫度、濕度、光強度、力、密度等,并將其傳遞給板載控制器/處理器??刂破骰蛱幚砥鳎ㄅR時)存儲信息并將其傳遞到通信網(wǎng)絡。通過各層通信網(wǎng)絡,在云端或服務器上接收。云處理信息并發(fā)回有用的見解以操作執(zhí)行器。
網(wǎng)關(guān)的作用
物聯(lián)網(wǎng)設(shè)備可以通過網(wǎng)關(guān)或不通過網(wǎng)關(guān)與其他設(shè)備建立通信。協(xié)議轉(zhuǎn)換基本上需要網(wǎng)關(guān)。假設(shè)物聯(lián)網(wǎng)設(shè)備可以通過 Zigbee 接口發(fā)送和接收數(shù)據(jù),因此將通過 Zigbee 協(xié)議進行通信。通信網(wǎng)絡可以通過TCP-IP協(xié)議接收和發(fā)送數(shù)據(jù)。在這種情況下,將需要一個網(wǎng)關(guān),該網(wǎng)關(guān)可以將來自使用 Zigbee 協(xié)議的設(shè)備的數(shù)據(jù)轉(zhuǎn)換為通過 TCP-IP 協(xié)議傳輸?shù)臄?shù)據(jù),并將來自云或服務器通過 TCP-IP 協(xié)議的數(shù)據(jù)轉(zhuǎn)換為 Zigbee 協(xié)議以供物聯(lián)網(wǎng)設(shè)備接收。由于物聯(lián)網(wǎng)設(shè)備的通信網(wǎng)絡和車載網(wǎng)絡不同,網(wǎng)關(guān)充當了兩個網(wǎng)絡之間的雙向橋梁。
網(wǎng)關(guān)根據(jù)設(shè)備協(xié)議收集和提?。▊鞲衅鳎?shù)據(jù),根據(jù)通信網(wǎng)絡運行的協(xié)議對其進行包裝和格式化,并將數(shù)據(jù)推送到通信網(wǎng)絡以傳輸?shù)皆贫嘶蚍掌?。同樣,它從云或服務器接收和提取?shù)據(jù)、見解或信息,根據(jù)設(shè)備上網(wǎng)絡使用的網(wǎng)絡協(xié)議對其進行包裝和格式化,并將云處理的數(shù)據(jù)推送到物聯(lián)網(wǎng)設(shè)備。
因此,在以下兩種情況中的任何一種情況下都可能需要網(wǎng)關(guān)——
1)當物聯(lián)網(wǎng)設(shè)備和通信網(wǎng)絡可能以不同的協(xié)議運行時。通常,這些協(xié)議可能位于不同的網(wǎng)絡層。就像上面的例子一樣,Zigbee 是物理層協(xié)議,而 TCP-IP 是傳輸層協(xié)議。無線傳感器網(wǎng)絡是通過網(wǎng)關(guān)進行設(shè)備到網(wǎng)絡通信的另一個示例。
2) 一個 IOT 設(shè)備可能需要與另一個以不同協(xié)議運行的 IOT 設(shè)備進行通信。例如,藍牙設(shè)備可以使用網(wǎng)關(guān)與其他 BLE 設(shè)備進行無線通信。
因此,網(wǎng)關(guān)提供了設(shè)備與云或一個設(shè)備與另一個設(shè)備之間的間接通信方式。在設(shè)備到設(shè)備通信的情況下,IOT 端點(單個 IOT 設(shè)備)可能位于同一位置,并通過網(wǎng)關(guān)以不同的物理或鏈路層協(xié)議(RF 協(xié)議,如藍牙、Wi-Fi、Zigbee、Bluetooth-LE)進行通信。這樣的網(wǎng)關(guān)稱為邊緣網(wǎng)關(guān)。
無網(wǎng)關(guān)通信
物聯(lián)網(wǎng)設(shè)備也可以直接連接到云端或其他物聯(lián)網(wǎng)設(shè)備。在這種情況下,設(shè)備和通信網(wǎng)絡或相互通信的設(shè)備必須使用相同的協(xié)議共享和交換數(shù)據(jù)。因此,不需要協(xié)議轉(zhuǎn)換和任何網(wǎng)關(guān)。通常,這種設(shè)備到設(shè)備或設(shè)備到網(wǎng)絡的通信可以通過應用層協(xié)議實現(xiàn),例如消息隊列遙測傳輸 (MQTT)、受限應用協(xié)議 (CoAP)、數(shù)據(jù)分發(fā)服務 (DDS)、高級消息隊列協(xié)議 (AMQP) 和可擴展消息傳遞和存在協(xié)議 (XMPP)。例如,一個 ESP8266 IOT 板可以直接使用 MQTT 協(xié)議與另一個 ESP8266 板直接通信。MQTT 是一種應用層協(xié)議。
IOT 設(shè)備(IOT 板)可能具有固件、操作系統(tǒng)或?qū)崟r操作系統(tǒng)來處理數(shù)據(jù)、執(zhí)行消息傳遞和通信、管理數(shù)據(jù)存儲和管理執(zhí)行器操作。一些流行的物聯(lián)網(wǎng)操作系統(tǒng)包括嵌入式 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 和布里洛操作系統(tǒng)。
2) 通信網(wǎng)絡——通信網(wǎng)絡通常是典型的互聯(lián)網(wǎng)網(wǎng)絡,具有不同的層(物理層、鏈路層、網(wǎng)絡層、傳輸層和應用層)以及在不同層運行的通信協(xié)議。
3)云/服務器——云或服務器是物聯(lián)網(wǎng)系統(tǒng)的邊緣。云存儲從不同和無數(shù)的物聯(lián)網(wǎng)設(shè)備收集的數(shù)據(jù),并執(zhí)行數(shù)據(jù)挖掘和分析以從中獲得有用的見解。它還負責管理連接的設(shè)備和網(wǎng)絡,管理設(shè)備到設(shè)備的通信,并通過操作和同步不同的物聯(lián)網(wǎng)設(shè)備以及它們之間的通信來實現(xiàn)物聯(lián)網(wǎng)應用。云還可以與其他私有和公共云服務通信以啟用 IOT 應用程序。
4)物聯(lián)網(wǎng)應用——云端數(shù)據(jù)的處理、挖掘和分析由物聯(lián)網(wǎng)應用完成。IOT 應用程序是云服務器上的軟件,它提取數(shù)據(jù)、操作數(shù)據(jù)以獲取有用的見解并設(shè)法將見解安全地推送到目標物聯(lián)網(wǎng)設(shè)備。例如,為家庭自動化設(shè)計的 IOT 應用程序可能會處理來自傳感器的數(shù)據(jù)并從云端發(fā)送命令來操作家用電器。
在下一個文章中,將研究在通信網(wǎng)絡的不同層使用的 不同IOT 通信協(xié)議。