新闻中心
PRESS CENTER本章节主要实现一个需求:EG8200Mini采集Modbus RTU数据,通过MQTT协议连接华为云物联网平台。
Modbus RTU采集此处不做过多赘述,可参考其他案例介绍。下文默认已经采集到Modbus RTU数据。
MQTT通信相关参数及Json数据格式要求,参考华为云设备属性上报_设备接入 IoTDA:
发布主题(Topic):$oc/devices/{device_id}/sys/properties/report 数据格式样例: { "services": [ { "service_id": "Temperature", //服务ID "properties": { "value": 57, //属性名称 "value2": 60 //属性名称 } } ] } |
网关配置:
第一步:采集Modbus RTU数据
第二步:拼装Json
第三步:MQTT上报
平台配置:
第一步:添加产品
第二步:添加物模型
第三步:添加设备
第四步:数据展示
1.网关配置
第一步:采集Modbus RTU数据
此处为采集Modbus RTU数据,不在过多赘述。采集Modbus RTU的流程如下:
源码:https://iotrouter.yuque.com/zn3vdn/eg8000/pd8m0mdxsb4t3xkl
第二步:拼装Json
参考需求概述的MQTT数据格式以及平台配置第二步的物模型设置,将网关采集到的Modbus数据Json格式化:
var data = msg.payload msg.payload = JSON.stringify({ "services": [{ "service_id": "serverId", "properties": { "temMotorControl1p": data.MotorControl1, "MotorControl2": data.MotorControl2, "Requency1": data.Requency1, "Requency2": data.Requency2 }, } ] }) return msg |
第三步:MQTT上报
使用MQTT发布节点,参考平台配置第四步的内容填写MQTT连接参数:
设备属性上报Topic:$oc/devices/{device_id}/sys/properties/report。
此处为语雀视频卡片,点击链接查看:MQTT上报
2.平台配置
第一步:添加产品
进入华为云物联网平台
设备接入IoTDA->产品->创建产品:
产品名称:自定义
协议类型:MQTT
数据格式:JSON
设备类型选择:自定义类型
设备类型:自定义
其他默认:
此处为语雀视频卡片,点击链接查看:添加产品
第二步:添加物模型
产品->EG网关对接演示->详情->自定义模型->添加服务->新增属性:
此处为语雀视频卡片,点击链接查看:添加物模型
第三步:添加设备
设备->所有设备->注册设备:
所属产品:选择第一步创建的产品
设备标识码:自定义填入
设备ID:自定义
设备名称:自定义
备注描述:自定义
此处为语雀视频卡片,点击链接查看:添加设备
第四步:激活设备
设备->所有设备->详情:
MQTT连接参数:
将MQTT连接参数配置到MQTT发布节点,详见网关配置第三步:
此时可以看到设备已经在线:
第五步:数据展示
设备->所有设备->详情->物模型数据:
网关触发数据发送,可以看到华为云物联网平台物模型数据更新:
网关的流程支持以Json格式导入导出,方便与其他人分享做好的流程。本章节的流程Json文件如下,复制后在菜单栏右上角选择导入粘贴即可,导出同理。https://iotrouter.yuque.com/zn3vdn/eg8000/pd8m0mdxsb4t3xkl
MQTT配置节点导出时,不会携带用户名和密码。因此导入时需要重新录入用户名和密码 。