導(dǎo)讀:物聯(lián)網(wǎng)(IoT)已經(jīng)成為了我們?nèi)粘I钪胁豢苫蛉钡囊徊糠?,無法想象如果不能在快到家的時候從手機上打開熱水器的生活會是什么樣子。如果想要實現(xiàn)上面提到的這個功能或者其他更重要的功能,就需要一個由許多組件構(gòu)成并且無縫協(xié)作的生態(tài)系統(tǒng)。IoT架構(gòu)(圖1)可以根據(jù)功能分為多個層:
物聯(lián)網(wǎng)(IoT)已經(jīng)成為了我們?nèi)粘I钪胁豢苫蛉钡囊徊糠?,無法想象如果不能在快到家的時候從手機上打開熱水器的生活會是什么樣子。如果想要實現(xiàn)上面提到的這個功能或者其他更重要的功能,就需要一個由許多組件構(gòu)成并且無縫協(xié)作的生態(tài)系統(tǒng)。IoT架構(gòu)(圖1)可以根據(jù)功能分為多個層:
設(shè)備層(也稱為終端層)一般包含三種元素:傳感器用于測量實際數(shù)據(jù)、執(zhí)行器用于執(zhí)行相應(yīng)的功能、收發(fā)器用于傳輸傳感器的數(shù)據(jù)并接收執(zhí)行器的指令。
IoT網(wǎng)關(guān)層是物聯(lián)網(wǎng)生態(tài)系統(tǒng)中的一個重要組成部分,是傳感器、執(zhí)行器和云之間的媒介,用于處理本地傳感器和遠(yuǎn)程用戶之間的通信,并完成其他的相關(guān)功能。
云層用于整個物聯(lián)網(wǎng)系統(tǒng)的監(jiān)控和管理,它與多個網(wǎng)關(guān)相連接,對收集和存儲的數(shù)據(jù)進(jìn)行分析。
應(yīng)用層是最終用戶的接口,用于訪問和控制物聯(lián)網(wǎng)產(chǎn)品和服務(wù)。
圖1 IoT生態(tài)系統(tǒng)可以被分成多個層,它們共同完成數(shù)據(jù)的測量、分發(fā)和分析,并且執(zhí)行相應(yīng)的動作。
網(wǎng)關(guān)設(shè)計的關(guān)鍵
雖然每個物聯(lián)網(wǎng)系統(tǒng)是不同的,但網(wǎng)關(guān)的主要作用是聚合多個低速終端節(jié)點的數(shù)據(jù),并將數(shù)據(jù)通過高速鏈路發(fā)送到云。
聚合數(shù)據(jù)所涉及到的可能不僅僅是向上層發(fā)送數(shù)據(jù)。例如,對于像ZigBee或LoRa這樣的網(wǎng)格拓?fù)浣Y(jié)構(gòu),網(wǎng)關(guān)所接收到的可能是相同消息的多個副本。在這種情況下,網(wǎng)關(guān)必須選擇哪個消息像上層發(fā)送,哪一個消息發(fā)送到下層的終端節(jié)點。
隨著物聯(lián)網(wǎng)的功能越來越復(fù)雜,設(shè)計人員正在將部分?jǐn)?shù)據(jù)處理功能轉(zhuǎn)移到接近傳感器/設(shè)備層的位置,也就是所謂的“霧計算”。以這種方式來劃分IoT任務(wù),不再需將對數(shù)據(jù)分析沒有作用的數(shù)據(jù)發(fā)送到服務(wù)器,這樣不僅減少了響應(yīng)時間,而且降低了網(wǎng)絡(luò)負(fù)載。
按照這種方式,網(wǎng)關(guān)設(shè)備所在的位置是最合適的選擇,因為將響應(yīng)合并到單個模塊中的多個終端點,而不是在多個單元中進(jìn)行劃分,通常是比較便宜的。在大規(guī)模的物聯(lián)網(wǎng)系統(tǒng)中每一層有明顯的物理區(qū)分。然而,在一些小型系統(tǒng)中,可以將多個層組合到一個單元中。例如,自動售貨機中的網(wǎng)關(guān)包括了用戶界面、輸入、輸出和無線或有線接口。在這種情況下,IoT只包含了云和網(wǎng)關(guān)。
考慮到選擇的多樣性,哪些是IoT網(wǎng)關(guān)硬件和軟件所必須的呢?
硬件的考慮
下面是網(wǎng)關(guān)硬件的一些需求:
CPU:
不同IoT應(yīng)用程序?qū)W(wǎng)關(guān)的CPU及其相關(guān)模塊的需求差異很大。有些應(yīng)用程序可能對計算能力要求很高,這就需要一個具有浮點計算能力的強大處理器;有些應(yīng)用程序可能對安全性敏感,這就需要一個帶有硬件增強功能的CPU,以滿足TPM規(guī)范。許多供應(yīng)商提供了兼容小型網(wǎng)關(guān)的CPU,例如,英特爾Atom E3800在物聯(lián)網(wǎng)網(wǎng)關(guān)中很流行。該處理器具有從1個到八個核多個系列;內(nèi)存從512kB到2MB;操作頻率從1.33 GHz到1.91 GHz。
存儲:
使用閃存存儲數(shù)據(jù)的固態(tài)硬盤(SDD)是很流行的選擇,因為他們沒有移動的磁頭,性能可靠,且與硬盤驅(qū)動器(HDD)相比性價比更高。英特爾E 6000p系列是SSD是一個很好的例子:容量分為128GB和256GB版本,帶有功能標(biāo)準(zhǔn)的PCIe Gen 3接口,并提供了AES 256位的數(shù)據(jù)加密。
連接:
硬件必須支持各種有線和無線通信接口?;ヂ?lián)網(wǎng)與云的連接很可能是通過Wi-Fi或以太網(wǎng)連接到路由器,但考慮到物聯(lián)網(wǎng)用例的多樣性,與終端節(jié)點的連接具有很強的專用性。
環(huán)境考慮:
在硬件的選擇上也要考慮到實際的操作環(huán)境。IoT網(wǎng)關(guān)設(shè)備將被安置在辦公室、安置在工廠的地板上,還是以某種方式暴露陽光下?并且功耗要求是多少?
軟件的考慮
IoT網(wǎng)關(guān)的軟件也需要多點考量。主要有以下幾點:
操作系統(tǒng)用于管理處理器、內(nèi)存和其他資源,并為應(yīng)用程序提供底層硬件的抽象。IoT網(wǎng)關(guān)的操作系統(tǒng)有多種選擇,包括專用系統(tǒng),如微軟的Windows IoT Enterprise或Windows IoT Core,還有其他的很多開源系統(tǒng),如Ubuntu或Ubuntu Core,他們都是Linux的衍生產(chǎn)品。
與終端節(jié)點的連接和通信可以通過USB、RS-485、IEEE 802.11/b/g/n (WiFi)、LoRa或低功耗藍(lán)牙 (BLE)等協(xié)議。與云的通信可以使用以太網(wǎng)、wi - fi或蜂窩協(xié)議。
網(wǎng)關(guān)位于終端設(shè)備層和公共互聯(lián)網(wǎng)之間,對保證數(shù)據(jù)的安全起著重要的作用,同時網(wǎng)關(guān)也是黑客攻擊的首要目標(biāo)。任何健壯的軟件棧都必須包括層的安全,包括通信的加密和設(shè)備的認(rèn)證。安全設(shè)計通常包括硬件和軟件組件之間的緊密交互。
網(wǎng)關(guān)設(shè)計實例
為了滿足不同物聯(lián)網(wǎng)應(yīng)用的需要,IoT網(wǎng)關(guān)設(shè)備形狀各異和大小不同。下面是針對不同應(yīng)用的網(wǎng)關(guān)設(shè)備的例子——工業(yè)物聯(lián)網(wǎng),多媒體信息站。
工業(yè)物聯(lián)網(wǎng)
工業(yè)物聯(lián)網(wǎng)(IIoT)的應(yīng)用包括自動化制造、HVAC、智能物流、過程控制和智能農(nóng)業(yè)等。IIoT所使用的范圍是廣泛的,因此IIoT網(wǎng)關(guān)必須能夠兼容各種通信協(xié)議,能夠進(jìn)行近距離的處理,具有靈活的安裝選項,并能夠工作于工廠的環(huán)境中。
圖2 戴爾EM3001網(wǎng)關(guān)基于Intel的雙核Atom E3805處理器,廣泛的適用于各種工業(yè)應(yīng)用,如自動化汽車裝配線。
戴爾EM3001主要面向工業(yè)物聯(lián)網(wǎng)應(yīng)用,它是基于Intel的Atom E3805處理器的,具有1MB RAM,運行頻率1.33 GHz。EM3001屬Edge Gateway 3000系列,無風(fēng)扇設(shè)計,兼容各種操作系統(tǒng),包括Ubuntu、Windows Embedded Standard,或Intel Wind River Linux。
EM3001既支持有線網(wǎng)絡(luò)也支持無線網(wǎng)絡(luò),支持的無線協(xié)議包括IEEE 802.11b/g/n (Wi-Fi),蜂窩網(wǎng)絡(luò)和BLE,支持的有線協(xié)議如USB、10/100以太網(wǎng)和PoE。此外,它也包含了傳統(tǒng)的工業(yè)接口標(biāo)準(zhǔn),如RS-232, RS-422和RS-485。為了提高靈活性,EM3001包含一個GPIO端口,該端口具有8個通道,可以獨立編程為數(shù)字I/O,DAC、ADC接口。它還集成了加速度傳感器、壓力、溫度濕度傳感器和GPS。EM3001是針對在移動和制造環(huán)境下使用而設(shè)計的,他功耗低,IP50的防護等級,具有一個工業(yè)級的micro-SD卡以及TPM 2.0安全規(guī)范。
交互式多媒體信息站
交互式多媒體信息站,也可以稱為銷售點的POS終端,是一個小型IoT的應(yīng)用實例。它需要一個網(wǎng)關(guān),終端通過網(wǎng)關(guān)與云服務(wù)器進(jìn)行數(shù)據(jù)交互來完成預(yù)定的任務(wù)。終端需要包括一個熱敏打印機、顯示器以及麥克風(fēng)、揚聲器、觸摸屏等人機接口(HMI)。
Intel為小型應(yīng)用提供了NUC(下一代單元計算)系列設(shè)備。例如,Intel NUC Kit NUC5CPYH將終端節(jié)點和網(wǎng)絡(luò)功能集合到了一個單獨的設(shè)備中。
對于小型應(yīng)用,數(shù)據(jù)全部在遠(yuǎn)程服務(wù)器進(jìn)行處理,對遠(yuǎn)程服務(wù)器依賴嚴(yán)重,因此網(wǎng)關(guān)可以使用性能較低且成本便宜的CPU。NUC的CPU采用Intel Celeron系列的雙核CPU N3050,它包含2 MB的cache,運行頻率1.6GHz。與應(yīng)用程序相匹配的是,NUC網(wǎng)關(guān)還包含了Intel HS顯卡并提供了VGA、HDMI和eDP觸屏顯示屏接口,此外它還具有音頻功能,有耳機/麥克風(fēng)插孔和內(nèi)置揚聲器。
IoT網(wǎng)關(guān)設(shè)計需考慮哪些問題
Intel NUC設(shè)備是一個單板計算機,它可以用作一個優(yōu)秀的IoT網(wǎng)關(guān)來連接終端節(jié)點和云。
網(wǎng)絡(luò)吞吐量越來越大,因此NUC還具有千兆以太網(wǎng)接口。與前面所討論的IIoT網(wǎng)關(guān)不同的是,一個典型的小型應(yīng)用網(wǎng)關(guān)不需要各種I/O接口。盡管如此,NUC還是包含了一個PCIe插槽,并提供了一個可用的插頭,可以通過它訪問USB、SMBus以及電源和地。