Thingsboard gateWay
设计思想:
背景: thingsboard作为开源的工业物联网平台框架,支持接入协议有限,使用收到很大的限制。为方便使用、适配更多协议的接入,需要在thingsboard平台之外做一次接入,后二次接入到thingsboard平台。
具体:将其他类型的协议进行转换,转换为mqtt协议,统一接入thingsboard平台
实现:
以modbus举例: 启动modbusMaster (gateWayService 为其成员)负责收集modbus设备端数据;gateWayService 接收数据并做转换(modbus->mqtt,写入消息队列 ;MqttClient 链接thingsboard;线程池 扫描队列,mqttclient进行消息发送
代码:
入口:gateWay设计官方将整体服务分为两部分: ExtensionService (上图: gateWay左侧) 和 gateService:
创建gateWayService同时,创建消息队列、mqttClient
具体消息流转:
ModbusClient.startRolling();读取消息到内存;区分属性和遥测数据,持久化到不同的文件;sender和reciver 读取文件,通过mqttCliet发送给网关
走着 走着 就近了,所以不要停止前行!