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