综合技术交流
直播中

胖子的逆袭

12年用户 1132经验值
私信 关注
[经验]

IG902如何连接公有MQTT测试平台?

1.访问EMQ 平台的MQTT测试信息页面 网址:https://www.emqx.io/cn/mqtt/public-mqtt5-broker


2.访问IG902的web管理界面,进入“边缘计算”,启动APP。




3.配置设备列表,配置读取的设备协议及寄存器地址。


4.使用Modbus Slave 模拟数据。


5.查看 IG设备读取状态




6.选择“设备管理>>云服务”,配置MQTT连接。
  





7.配置脚本将数据上传至云端。
1)选择“云服务”,点击发布中的“+”。


2)配置相关的发布设置。


3)配置订阅脚本。


代码:
import loggingimport json
def ctl_test(topic, payload, wizard_api): #定义订阅主函数
    logging.info(topic) #打印订阅主题,假定topic为write/plc
    logging.info(payload) #打印订阅数据,假定payload数据为{"method":"setValue", "TagName":"SP1", "TagValue":12.3}
    payload = json.loads(payload) #反序列化订阅数据
if payload["method"] == "setValue": #检测是否为写入数据
        message = {payload["TagName"]:payload["TagValue"]} #定义下发消息,包括下发的变量名称和变量值
        wizard_api.write_plc_values(message) #调用wizard_api模块中的write_plc_values方法,将message字典中的数据下发至指定变量

相关脚本程序参考http://app.ig.inhand.com.cn/   



8.PC端使用MQTT客户端订阅相同的Topic,接收IG设备发送的数据。
1)使用MQTTBox 充当MQTT协议的客户端2。


2)订阅IG设备的发布主题。


3)查看数据




4)测试下发数据到IG。
发布信息到客户端,填写对应客户端订阅主题,及修改字段 {"method":"setValue", "TagName":"字段名", "TagValue":修改值为} 此处修改客户端字段 temperature 修改值为12.3 此处输入{"method":"setValue", "TagName":" temperature ", "TagValue":12.3} 点击发布按钮 .



5)查看数据是否下发成功。注:如果下发未成功,1.确定该变量允许写入。2.根据日志查找其它原因。


                           
                                                                                                                              

更多回帖

发帖
×
20
完善资料,
赚取积分