IG902连接公有MQTT测试平台

yandongjie
yandongjie This guy is lazy,Introduction has not been set

0 People liked this article · 6799 views

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

0bed8318de51609bcd45008b5e314bd7.png

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

950b3bae54f0294c5c93a6e9a0d830af.png


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

eb95350a2340da3a61aa933abee7a8da.png

4.使用Modbus Slave 模拟数据。

e001f0a26d18eae750e0a81469f440f5.png

5.查看 IG设备读取状态

a0ce9f34487c343969b0fb95afe9b3b6.png


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

fd42ea3df075b27afd9d8bfd3045c62b.png  



7.配置脚本将数据上传至云端。

1)选择“云服务”,点击发布中的“+”。

4f0d0d2548b043c00c3ccb1b7ed136d2.png

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

ce741d44c2724effc984b8cb191d3cb3.png

3)配置订阅脚本。

d4cf1a13d372f8e2d929e5689e329549.png

代码:

import logging
import 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。

a7bf3f7f7bff087851e0b473f383cd7b.png

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

82d666254af3efd2bd082a7d20f79105.png

3)查看数据

d025952b161cc4c102ae57ccefe2d834.png


4)测试下发数据到IG。

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

e1b7115b50e0f71f8a4bf12e91c78aa7.png

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

74528a2b26aba5c232c72dcde979769f.png

Published on 2020-11-18 14:02

Disclaimers:

This document is written by yandongjie Original published on 技术社区 ,The copyright belongs to the author。

Log in,More exciting content waiting for you to find,Contribute wonderful answers,Participate in comment interaction

go Sign in! No accountgoregister