ThingsBoardIoTGateway位于终端设备和云平台之间,与不同类型的终端设备进行连接,并通过MQTT与云平台进行交互,屏蔽不同终端设备之间的差异。
本文将介绍ThingsBoard IoT Gateway基本使用。
一、MQTT Connector
Connector是ThingsBoard IoT Gateway的关键部分,通过MQTT Connector:
(1)将MQTT代理的数据推送到IoT云平台;
(2)ThingsBoard发送的命令推送到MQTT代理。
- Connector 配置文件
Connector configuration是一个 JSON 文件,配置信息,详情如下:
- Broker:如何连接到外部 MQTT 代理;
- Mapper:如何处理订阅的Topic消息;
- connectRequests:设备告知网关,已连接到MQTT Broker;
- disconnectRequests:从MQTT代理获取有关断开设备的信息;
- attributeUpdates:该配置项是可选的,用于设备的远程配置;
- Server side RPC commands:IoT平台可以向终端设备发送RPC命令。
- Broker部分
- mapping部分
作用:接收通过topicFilter定义的主题,并分析该主题的每一消息,提取device name、type、data (attributes and/ortimeseries values)。
结构:“mapping”部分定义一个数组,包含topic和converter(转换器-处理传入消息)。
有关Topic的定义:
Json 转换器是默认转换器,在传入消息中查找 deviceName、deviceType、attributes and telemetry。关键字段的含义:
- ConnectRequests
ThingsBoard可以向设备发送RPC命令和更新设备属性的通知。ThingsBoard在发送命令之前,需要知道目标设备是否已连接、使用的网关或会话。 这样,设备不仅要连接到MQTT代理,还需要向IoT网关发送消息来通知设备已连接到了MQTT代理。
- disconnectRequests
该配置项是可选的,用于从MQTT代理获取有关断开设备的信息。
- attributeUpdates
该配置项是可选的,用于设备的远程配置。
- Server side RPC commands
IoT平台可以向终端设备发送RPC命令。
二、数据链路流分析
在有IoT Gateway的网络中,一般要有MQTT Broker;环境搭建完全使用开源软件。
分别在TB IoT Gateway、TB抓包分析。
可以得到如下结论:
MQTT协议:从协议的角度来讲,各网元所承担的职责;
主题:IoT Gateway是关键,订阅MQTT Broker的topic,在其内部经过Converter、topic的处理,向TB发送topic,实现相应的业务。
发布评论请先登录
相关推荐
评论