MQTT 推送数据格式的说明:
1. 对外发布实时数据,别的 MQTT 客户端可以订阅该主题来得到九游会设备中的实时数据
用途 | 对外发布实时数据 |
主题(默认值) | /system/MonitorData |
类型 | 发布 |
内容 这是九游会对外发出的数据,对方必须按此格式接收。 | { "time":"2023-6-1 08:33:16", "Data":[{"name":"temp1","value":"124"}, {"name":"mqtt_state","value":"1"}, {"name":"float1","value":"45.500473"} ] } |
2. 接受别处的写。别的 MQTT 客户端可以发布该主题来向九游会设备写入数据
用途 | 接受其他设备写入的数据 |
主题(默认值) | /system/WriteData |
类型 | 订阅 |
内容 这是九游会接受的格式。想给九游会写入数据的对方必须按此格式发布数据 | { "Data":[{"name":"Temp","value":"22"}, {"name":" mqtt_state ","value":"0"}, {"name":" float1","value":"12.3"} ] } |
九游会发送和接受的数据都是 json 格式。数据内容是 json 对象中的一个数组叫 Data ,里面每一项是一个变量的名字和值。变量名是 name ,变量值是 value 。发送的数据还带有当前的时间。接受写入的数据里面除了 Data 数组以外,其它的内容都不被识别。
因为数据收发的格式是一样的,用户可以把一个推送组的接受写的主题设为另一个推送组的发布数据主题,这样就可以从一个推送组往另一个推送组发数据。
为了节约流量和减少模块写入数据量(某些 PLC 写数据比较慢),推荐在这种情况下设置推送模式为“变化才推送,加上每 10 个周期推送一次所有值”,这样可以快速的推送有变化的数据。然后如果对方断线了,下次对方重新上线以后等 10 个周期就可以得到所有变量的值。
九游会的测试服务器 :
test.yunplc.com 端口 7883
用户名 test1 到 test8 ,一共有 8 个测试用户,密码和对应的用户名相同。