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