代码拉取完成,页面将自动刷新
同步操作将从 ThingsPanel/modbus-protocol-plugin 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
设备是mqtt以外的协议除了可以从规则引擎接入,也可以开发协议插件服务接入到ThingsPanel
手动注册
和SQL导入
二选一
应用管理
->接入协议
->注册插件
名称 | 设备类型 | 协议类型 | 接入地址 | 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
INSERT INTO public.tp_protocol_plugin
(id, "name", protocol_type, access_address, http_address, sub_topic_prefix, created_at, description, device_type)
VALUES('c8a13166-e010-24e4-0565-e87feea162bb', 'MODBUS_TCP协议', 'MODBUS_TCP', '服务ip:502', '127.0.0.1:503', 'plugin/modbus/', 1668759820, '请参考文档对接设备', '2');
INSERT INTO public.tp_protocol_plugin
(id, "name", protocol_type, access_address, http_address, sub_topic_prefix, created_at, description, device_type)
VALUES('2a95000c-9c29-7aae-58b0-5202daf1546a', 'MODBUS_RTU协议', 'MODBUS_RTU', '服务ip:502', '127.0.0.1:503', 'plugin/modbus/', 1668759841, '请参考文档对接设备', '2');
INSERT INTO public.tp_dict
(id, dict_code, dict_value, "describe", created_at)
VALUES('8881ffe7-7c2b-43c2-13f3-7227dafa46bv', 'GATEWAY_PROTOCOL', 'MODBUS_TCP', 'MODBUS_TCP协议', 1669281289);
INSERT INTO public.tp_dict
(id, dict_code, dict_value, "describe", created_at)
VALUES('8881ffe7-7c2b-43c2-13f3-7227dafa46bs', 'GATEWAY_PROTOCOL', 'MODBUS_RTU', 'MODBUS_RTU协议', 1669281289);
您需要开发一个服务程序,不管您以什么编程语言进行开发,实现以下规范内容就可以跟ThingsPanel平台对接
接口 | 接口描述 | 接口链接 |
---|---|---|
/api/form/config | 获取插件表单配置 | 传送 |
/api/device/config/update | 修改子设备配置 | 传送 |
/api/device/config/add | 新增子设备配置 | 传送 |
/api/device/config/delete | 删除子设备配置 | 传送 |
接口 | 接口描述 | 接口链接 |
---|---|---|
/api/plugin/device/config | 设备连接时送来密钥,根据密钥获取插件相关设备的信息,"SubDevice"的属性时插件表单中定义的属性 | 传送 |
./form_config.json
(表单规则详情请参考modbus-protocol-plugin案例)
ThingsPanel前端通过/api/form/config
接口获取表单配置,生成子设备的表单,用户填写的表单数据会出现在ThingsPanel提供的/api/plugin/device/config
接口返回的数据中的"SubDevice"属性中。
设备对接到协议插件,协议插件处理设备端的消息后,将消息通过mqtt发给ThingsPanel平台
协议插件发送主题如下:
mqtt用户:root (使用thingspanel-go配置文件中的用户名和密码)
发布主题:device/attributes
报文规范:{"token":sub_device_token,"values":{key:value...}}
平台向设备发送消息需要通过协议插件,平台将消息通过mqtt发给协议插件
协议插件订阅主题如下:
mqtt用户:root (使用thingspanel-go配置文件中的用户名和密码)
订阅主题:plugin/modbus/# (说明:modbus为注册插件时填写的插件订阅主题名称,ThingsPanel平台发来主题#部分是sub_device_token)
报文规范:{key:value...}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。