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