ThingsBoard IoT Gateway位于終端設(shè)備和云平臺(tái)之間,與不同類(lèi)型的終端設(shè)備進(jìn)行連接,并通過(guò)MQTT與云平臺(tái)進(jìn)行交互,屏蔽不同終端設(shè)備之間的差異。
本文將介紹ThingsBoard IoT Gateway基本使用。
一、MQTT Connector
Connector是ThingsBoard IoT Gateway的關(guān)鍵部分,通過(guò)MQTT Connector:
(1)將MQTT代理的數(shù)據(jù)推送到IoT云平臺(tái);
(2)ThingsBoard發(fā)送的命令推送到MQTT代理。
- Connector 配置文件
Connector configuration是一個(gè) JSON 文件,配置信息,詳情如下:
- Broker:如何連接到外部 MQTT 代理;
- Mapper:如何處理訂閱的Topic消息;
- connectRequests:設(shè)備告知網(wǎng)關(guān),已連接到MQTT Broker;
- disconnectRequests:從MQTT代理獲取有關(guān)斷開(kāi)設(shè)備的信息;
- attributeUpdates:該配置項(xiàng)是可選的,用于設(shè)備的遠(yuǎn)程配置;
- Server side RPC commands:IoT平臺(tái)可以向終端設(shè)備發(fā)送RPC命令。
- Broker部分
- mapping部分
作用 :接收通過(guò)topicFilter定義的主題,并分析該主題的每一消息,提取device name、type、data (attributes and/or timeseries values)。
結(jié)構(gòu) :“mapping”部分定義一個(gè)數(shù)組,包含topic和converter(轉(zhuǎn)換器-處理傳入消息)。
有關(guān)Topic的定義:
Json 轉(zhuǎn)換器是默認(rèn)轉(zhuǎn)換器,在傳入消息中查找 deviceName、deviceType、attributes and telemetry。關(guān)鍵字段的含義:
- ConnectRequests
ThingsBoard可以向設(shè)備發(fā)送RPC命令和更新設(shè)備屬性的通知。ThingsBoard在發(fā)送命令之前,需要知道目標(biāo)設(shè)備是否已連接、使用的網(wǎng)關(guān)或會(huì)話。 這樣,設(shè)備不僅要連接到MQTT代理,還需要向IoT網(wǎng)關(guān)發(fā)送消息來(lái)通知設(shè)備已連接到了MQTT代理。
- disconnectRequests
該配置項(xiàng)是可選的,用于從MQTT代理獲取有關(guān)斷開(kāi)設(shè)備的信息。
- attributeUpdates
該配置項(xiàng)是可選的,用于設(shè)備的遠(yuǎn)程配置。
- Server side RPC commands
IoT平臺(tái)可以向終端設(shè)備發(fā)送RPC命令。
二、數(shù)據(jù)鏈路流分析
在有IoT Gateway的網(wǎng)絡(luò)中,一般要有MQTT Broker;環(huán)境搭建完全使用開(kāi)源軟件。
分別在TB IoT Gateway、TB抓包分析。
可以得到如下結(jié)論:
MQTT協(xié)議:從協(xié)議的角度來(lái)講,各網(wǎng)元所承擔(dān)的職責(zé);
主題:IoT Gateway是關(guān)鍵,訂閱MQTT Broker的topic,在其內(nèi)部經(jīng)過(guò)Converter、topic的處理,向TB發(fā)送topic,實(shí)現(xiàn)相應(yīng)的業(yè)務(wù)。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論