modbus-protocol-plugin

设备是mqtt以外的协议除了可以从规则引擎接入,也可以开发协议插件服务接入到ThingsPanel

部署

git clone https://github.com/ThingsPanel/modbus-protocol-plugin.git
cd modbus-protocol-plugin
go run . start

或使用其他工具托管部署

插件如何注册到平台

手动注册SQL导入二选一

手动注册

  1. 点击应用管理->接入协议->注册插件
  2. 填入插件信息
    名称:创建设备时,会显示在选择协议下拉框中
    设备类型:必填,选网关
    接入地址:插件服务的ip地址和端口(设备对接,作为平台中的提示信息,没有实际意义)
    HTTP服务地址:插件服务的ip地址和端口(必填,供平台后端调用;如果modbus协议插件是用快速安装部署,这里要填插件协议容器的ip:172.19.0.8)
    插件订阅主题前缀: (必填)
    名称 设备类型 协议类型 接入地址 HTTP服务地址 插件订阅主题前缀
    MODBUS_TCP协议 网关设备 MODBUS_TCP 服务ip:502 127.0.0.1:503 plugin/modbus/
    MODBUS_RTU协议 网关设备 MODBUS_RTU 服务ip:502 127.0.0.1:503 plugin/modbus/

SQL导入

在数据库执行以下sql

待提供

结构图

结构图

时序图

时序图

如何开发

您需要开发一个服务程序,不管您以什么编程语言进行开发,实现以下规范内容就可以跟ThingsPanel平台对接

SDK包

go语言有sdk包封装了下面两部分以及mqtt交互部分;包地址:https://github.com/ThingsPanel/tp-protocol-sdk-go

plugin需要提供的接口

接口 接口描述 接口链接
/api/v1/form/config 获取插件表单配置 传送
api/v1/device/disconnect 断开设备连接 传送

thingspanel提供给插件的接口

接口 接口描述 接口链接
/api/v1/plugin/device/config 获取设备配置(包含子设备配置) 传送

具体开发规范可参考官方文档thingspanel.io中协议插件开发部分