華為云計算 云知識 通過協(xié)議轉(zhuǎn)換網(wǎng)關(guān)實現(xiàn)泛協(xié)議設(shè)備接入華為云物聯(lián)網(wǎng)平臺
通過協(xié)議轉(zhuǎn)換網(wǎng)關(guān)實現(xiàn)泛協(xié)議設(shè)備接入華為云物聯(lián)網(wǎng)平臺

場景說明

目前華為云 物聯(lián)網(wǎng)平臺 只支持MQTT/HTTP/LWM2M等標(biāo)準協(xié)議接入,如果設(shè)備是其他協(xié)議(統(tǒng)稱為第三方協(xié)議),怎么接入平臺?

由于第三方協(xié)議設(shè)備不能直接接入平臺,需要在平臺外部完成協(xié)議轉(zhuǎn)換。我們推薦使用網(wǎng)關(guān)來完成協(xié)議轉(zhuǎn)換,將第三方協(xié)議轉(zhuǎn)成MQTT協(xié)議。我們把用來進行協(xié)議轉(zhuǎn)換的網(wǎng)關(guān)叫做協(xié)議轉(zhuǎn)換網(wǎng)關(guān)。

實現(xiàn)原理

方案總體架構(gòu)框圖如下:

協(xié)議轉(zhuǎn)換網(wǎng)關(guān)是一個網(wǎng)關(guān),可以部署在云上或者本地。第三方協(xié)議設(shè)備作為協(xié)議轉(zhuǎn)換網(wǎng)關(guān)的子設(shè)備接入平臺。

協(xié)議轉(zhuǎn)換網(wǎng)關(guān)一般由三部分組成:

  1. 第三方協(xié)議接入。完成第三方協(xié)議的解析,鑒權(quán)。
  2. 協(xié)議轉(zhuǎn)換。負責(zé)完成第三方協(xié)議數(shù)據(jù)和平臺格式數(shù)據(jù)的互相轉(zhuǎn)換。
    • 上行:把第三方協(xié)議數(shù)據(jù)轉(zhuǎn)成平臺格式數(shù)據(jù),并調(diào)用設(shè)備SDK接口進行上報。
    • 下行:收到平臺下行數(shù)據(jù)時,轉(zhuǎn)換為第三方協(xié)議數(shù)據(jù)轉(zhuǎn)發(fā)給第三方協(xié)議設(shè)備。
  3. 設(shè)備SDK。即平臺提供的設(shè)備接入SDK,提供了網(wǎng)關(guān)的通用功能實現(xiàn),用戶可以在此基礎(chǔ)上實現(xiàn)自己的網(wǎng)關(guān)。

業(yè)務(wù)流程

  1. 在物聯(lián)網(wǎng)平臺上注冊網(wǎng)關(guān),詳細方法請參考設(shè)備注冊
  2. 網(wǎng)關(guān)上電,連接到平臺,連接所需的鑒權(quán)參數(shù)在注冊網(wǎng)關(guān)時獲取。
  3. 用戶在平臺上注冊子設(shè)備時,平臺下發(fā)添加子設(shè)備事件到網(wǎng)關(guān)。網(wǎng)關(guān)收到后,保存子設(shè)備信息到本地并持久化(SDK提供了默認的持久化實現(xiàn),用戶可以自定義擴展)。
  4. 第三方協(xié)議設(shè)備連接到網(wǎng)關(guān)。網(wǎng)關(guān)根據(jù)子設(shè)備信息對設(shè)備進行鑒權(quán)。
  5. 設(shè)備上報數(shù)據(jù)到網(wǎng)關(guān)。網(wǎng)關(guān)轉(zhuǎn)換為平臺格式數(shù)據(jù)后,調(diào)用SDK的上報子設(shè)備屬性/消息 的接口上報給平臺。
  6. 平臺向設(shè)備下發(fā)命令。網(wǎng)關(guān)收到后,轉(zhuǎn)換為第三方協(xié)議,轉(zhuǎn)發(fā)給子設(shè)備。設(shè)備收到后對命令進行處理。

協(xié)議轉(zhuǎn)換網(wǎng)關(guān)的具體實現(xiàn)

網(wǎng)關(guān)具體實現(xiàn)和使用方法參見 Java版本、C版本。