有些设备的通信协议是非标准的,这就给接入带来了困难,这个时候我们就需要使用ThingsPanel的自定义协议开发功能,便能快速的接入平台。使非标设备接入简单快速实现。整体能节省原来60%的开发时间。
这是一个自定义TCP协议,协议的规范是自定义的。
通信方式也是请求应答模式的
针对这个协议,我们使用ThingsPanel开源平台的协议插件开发模板,位置在 https://gitee.com/ThingsPanel/protocol-plugin-template ,这个模板基本的结构已经搭建好了。只需要按照协议插件模板的文档就可以进行。
基本的开发思路按照:
http://thingspanel.io/zh-Hans/docs/system-development/eveloping-plug-in/customProtocol
开发思路
按照开发文档完成开发后,协议插件就完成基本的功能,包括:
说明:
化其他模块。
●mqtt/mqtt_client.go:负责与MQTT代理进行通信,包括发布和订阅消息。
●http/http_client.go:用于发送HTTP请求到外部服务。
●http/http_server.go:用于接收来自用户或外部服务的HTTP请求。
●services/service.go:启动并管理服务。
●MQTT Broker:MQTT消息代理,用于MQTT通信。
●modbus/modbus_client.go:处理来自MQTT客户端的消息,并与Modbus设备进行通信。
●External Services:外部服务,可能是提供API的服务器。
●Users or External Services:用户或外部服务,发送请求到HTTP服务器。
●Modbus Devices:Modbus设备,与modbus客户端进行通信。
设备接入配置表单,供解析数据,由协议插件提供的配置表单