关注官方微信

EN

EN.

MQTT网关连接华为云物联网平台应用

发布时间:2021-09-13 作者:上海卓岚 浏览量:4635
MQTT网关连接华为云物联网平台应用
1.概述

ZLAN5143D是一款专门为工业环境设计的RS485设备数据采集器/物联网网关,兼具串口服务器、Modbus网关、MQTT网关、RS485转JSON等多种功能于一体。如图 1所示,可以连接华为云的还有MQTT网关5144J、8308、8305、8305L、7144等型号

MQTT网关5143D图


图一 MQTT网关5143D图

华为云物联网平台

设备接入服务(IoTDA)是华为云的物联网平台,提供海量设备连接上云、设备和云端双向消息通信、批量设备管理、远程控制和监控、OTA升级、设备联动规则等能力,并可将设备数据灵活流转到华为云其他服务。如图2所示:

华为云设备接入IoTDA


图二 华为云设备接入IoTDA

2.平台端
2.1进入华为云物联网平台

进入华为云官网后,点击产品选项,下拉找到IoT物联网,选择物联网云服务,双击设备接入IoTDA,进入下一个页面

华为云ioT物联网

图三 华为云ioT物联网

正常使用的时候需要购买使用,本次测试直接选择立即使用进入下一页面

华为云接入图


图四 华为云接入图

这个页面主要需要的是产品,设备,平台接入地址,首先通过平台接入地址得到华为云mqtt服务器的域名和端口,得到域名为xxxxxx.iot-mqtts.cn-north-4.myhuaweicloud.com,(不同账号不同)端口号为1883;

华为云接入地址图


图五 华为云接入地址图


域名,端口如图所示:

MQTT网关接入地址端口


图六 MQTT网关接入地址端口

2.2创建产品

通过上一张图我们看到还需要设置的还有产品,设备两个选项,首先设置产品,点击创建产品,参数设置如图所示:

华为云创建产品图


图七 华为云创建产品图

点击确定以后,出现产品列表,点击产品后面的查看按钮,出现如下页面:模型定义,在线调试,Topic管理,首先第一步需要自定义模型

华为云模型定义图


图八 华为云模型定义图

添加服务,服务id等于说物模型id,这边我们设置的是wenshidu,是温湿度的拼音,服务类型和服务描述任意填

华为云添加服务图


图九 华为云添加服务图

在刚刚添加的服务ID:wenshidu里面新增2个属性,因为采集的是温湿度,所以分别新增2个属性,分别是温度,湿度,2条属性详细设置如图所示

华为云新增属性图


图十 华为云新增属性图

华为云新增属性图


图十一 华为云新增属性图

2条属性配置完以后,物模型已基本设置完毕,下面进入Topic管理页面

首先我们调用物模型的使用,需要用到的是设备属性相关Topic里面的$oc/devices/{device_id}/sys/properties/report,即设备上报属性数据,可以自定义topic,但是自定义主题无法调用物模型,不建议使用

华为云toplc图


图十二 华为云toplc图

到这步为止,产品相关的配置已完成,下面进入设备配置

2.3注册设备

选择单设备注册,相关配置如下图所示,务必记住密钥一定要保存好!!!

华为云单设备注册图


图十三 华为云单设备注册图

新建的设备如图所示,设备影子类似于物模型状态,消息跟踪类似于消息追踪,可以看到消息日志

华为云消息日志图


图十四 华为云消息日志图

3.设备端

使用VIRCOM软件点击设备管理,自动搜索到设备以后双击,进入如下页面,ip模式选择动态获取,工作模式选择TCP客户端,目的ip和端口为华为云物联网平台的ip和端口,具体的域名在第五页有!!不设置也没关系,设置mqtt参数就可以,然后点击固件与配置

MQTT网关配置图


图十五 MQTT网关配置图

首先需要新建文件夹,新建后配置mqtt参数和json配置,

MQTT网关配置图


图十六 MQTT网关配置图

3.1mqtt设置

MQTT网关MQTT配置图


图十七 MQTT网关MQTT配置图

服务器域名或者IP::xxxxxxxxx.iot-mqtts.cn-north-4.myhuaweicloud.com

具体的域名在第五页有!!!设备ID和密钥在第九页!!!

服务器mqtt端口:1883

用户名:通过设备ID和密钥计算

密码:通过设备ID和密钥计算

客户端ID:通过设备ID和密钥计算

订阅主题:$oc/devices/{device_id}/sys/properties/set/request_id={request_id}

发布主题:$oc/devices/{device_id}/sys/properties/report

{device_id}由实际的设备ID来代替!!!

下面为计算网页地址

https://iot-tool.obs-website.cn-north-4.myhuaweicloud.com/

华为云mqtt参数图


图十八 华为云mqtt参数图

3.2JSON设置

第一页总体设置如图所示:

MQTT网关json配置


图十九 MQTT网关json配置

具体配置页面JSON嵌套

 MQTT网关json嵌套配置


图二十 MQTT网关json嵌套配置

固定字符串

MQTT网关json固定字符串配置


图二十一 MQTT网关json固定字符串配置

 MQTT网关时间配置


图二十二 MQTT网关时间配置

MQTT网关modbus参数配置


图二十三 MQTT网关modbus参数配置

上发josn格式示例:

{"services":[{"service_id":"wenshidu","properties":{"Temperature":23,"humidity":54},"eventTime":"2021-04-30 14:42:50"}]}

3.3下位机模拟

通过modbus slave模拟下位机温湿度传感器数据,站地址为1,寄存器是40001,40002,40001存放的温度的数据,40002存放的是湿度的数据

modbus从站模拟


图二十四 modbus从站模拟

4.设备与平台联动
4.1设备配置完成

配置完成后,请点击下载,确保文件夹已经下载,观察指示灯状态LINK灯蓝色,ACTIVE灯闪烁

MQTT网关下载配置


图二十五 MQTT网关下载配置

4.2.平台收到数据

点击消息跟踪刷新后可以看到,平台收到设备的属性上报,并且影子刷新成功!!

华为云消息跟踪


图二十六 华为云消息跟踪

通过概述页面可以看到新的上报数据,温度为23度,湿度为54%,上报刷新间隔为6秒,可以通过我们的json里面的配置页面自定义!!!

华为云数据显示


图二十七 华为云数据显示

5.相关示例

JSON格式CSV格式

JSON的CSV格式


图二十八 JSON的CSV格式

业务详情上发:

Device Id is:608b6b0ba6467502c03a7dc4_zlan000001,

topic is : $oc/devices/608b6b0ba6467502c03a7dc4_zlan000001/sys/properties/report, DatatoStringis

:{"services":[{"service_id":"wenshidu","properties":{"Temperature":23,"humidity":54},"eventTime":"2021-04-30 15:12:38"}]}