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