阿里云IoT提供設備端SDK用于將設備接入阿里云物聯網平臺,該SDK要求設備具備一個IP地址,再通過MQTT在設備與阿里云物聯網平臺之間建立一個連接。
網關接入子設備概述
Zigbee、KNX設備不支持IP地址,無法集成阿里云IoT提供的設備端SDK,需要通過一個集成了設備端SDK的網關進行代理后連接到阿里云物聯網平臺,對于網關連接未集成SDK的設備稱為子設備。網絡連接示意圖如下所示:
每種類型的子設備產品需要在阿里云物聯網平臺進行產品定義,并且需要為每個設備申請設備身份認證信息。網關需要獲取子設備的設備證書才能代理子設備在阿里云物聯網平臺進行設備身份認證,同時網關還需要轉發子設備與阿里云物聯網平臺之間的數據。
設備廠商痛點
子設備需要一個網關才能接入阿里云物聯網平臺,當子設備廠商開發一款新產品會有如下選擇:
自行開發網關,該網關用于發現以及連接子設備,并將子設備接入阿里云物聯網平臺;
說明本方案需要設備廠商開發網關產品,投入軟硬件開發、測試資源等。
讓網關廠商升級網關的固件,能夠發現以及連接新開發的子設備產品。
對于網關廠商來說,網關固件需要不停的升級來支持新的子設備產品,版本升級頻繁,需要持續的投入開發、測試資源等。
對于設備廠商,網關廠商進行固件升級以及發布的時間不可控,并且還可能向網關廠商支付開發費用。
解決方案
如果網關廠家發現網關的子設備的設備證書、并提供子設備數據轉發機制,就需要設備廠商開發新的子設備產品時無需對網關進行固件升級,子設備廠商只需要購買網關廠商已有的網關產品就可以開發自己的子設備產品。
對于網關廠商,也無需對網關進行固件升級,避免持續的資源投入。網關除了需要定義子設備與網關之間子設備的設備證書的發現機制外,還需要對來自于、發送到子設備的數據需要進行轉發,網關轉發子設備與阿里云物聯網平臺之間的數據有數據透傳和數據轉換后轉發兩種方式。
數據透傳
網關收到子設備上行數據時,網關不對接收到的數據進行任何處理,而是直接將數據幀添加子設備標識信息后發送到阿里云物聯網平臺,由子設備廠家在阿里云物聯網平臺的云端服務對數據進行解析。
當子設備廠商的云端服務發送數據給子設備時,網關不對來自物聯網平臺的數據進行任何處理,將數據直接發送給子設備。
數據轉換后轉發
網關接收到子設備上行數據時,將會對數據進行解析和轉換,然后發送到物聯網平臺,網關廠商的服務需要提供API接口將數據發送給子設備廠商的服務。
當子設備廠商的服務發送數據給子設備時,調用網關廠商的云端服務進行數據發送,由網關廠商的服務將數據發送給網關,網關把數據轉換為子設備能夠識別的格式后發送給子設備。
方案對比
功能 | 數據透傳方案 | 數據轉換方案 |
網關需要理解子設備數據格式和意義。 | 無需。 | 需要。 |
網關廠商需要在云端部署數據處理服務。 | 無需。 | 需要。 |
子設備廠商需要定義數據格式。 | 需要。 | 無需。 |
網關固件無修改接入新產品方案實例
瑞瀛物聯Zigbee網關RG4100+
RG4100+是瑞瀛物聯研發的超小型多功能智能家居網關,該設備在超小體積內集成了ZigBee、以太網及Wi-Fi 多種通訊方式,用戶可以使用Wi-Fi或者以太網上行,并使用Zigbee協議接入多種Zigbee智能設備。
阿里云IoT的智能生活開放平臺是阿里云提供的智能家居服務,該服務提供手機APP對接入的設備進行遠程控制,并提供了場景定義、設備聯動等功能。RG4100+接入智能生活開放平臺時遵循了阿里云IoT定義的物模型數據格式(即上面描述的“數據轉換方案”),因此RG4100+無需在阿里云IoT部署云端服務,就可使用智能生活開放平臺提供的功能。RG4100+方案描述如下:
該方案中瑞瀛物聯的zigbee模組將設備的型號、標識、產品的狀態變化等信息編碼后告知網關,該模組也接收并處理來自網關的命令,設備商無需在模組上進行二次開發,只需要按照模組的說明書將模組的引腳與相應硬件進行連接即可。
設備商可以購買瑞瀛物聯提供的zigbee模塊來開發產品,在不需要對RG4100+進行固件升級的情況下將該產品接入阿里云IoT,從而通過阿里云IoT提供的手機APP對該產品進行控制和管理,在手機APP界面上顯示的產品名稱、型號將是設備商在阿里云IoT上設置的數據。