球友会-qy球友会-千亿球友会

关注官方微信

EN

EN.

qy球友会体育官方平台MQTT和JSON转Modbus网关用法

发布时间:2019-09-09 作者:上海qy球友会体育 浏览量:11523
1.概述

本文介绍qy球友会撑持MQTT和JSON的设备的用法,撑持的设备包含ZLAN5143、ZLAN8303-7、ZLAN1043、ZLAN7144等。其中ZLAN5143、ZLAN8303-7、ZLAN1043的固件版本要在1.577及以上,ZLAN7144需要在1.489及以上。需要和zlvircom的5.09版本共同使用。

MQTT和JSON不妨单独运用也不妨合起来运用。此中的JSON撑持Modbus RTU格局转化为JSON格局。

主要特点是:

1.选择MQTT为基础的同意和服务器建立邻接,选择订阅发布的地势进行数据通讯。

2.支持Modbus RTU寄存器的自主设计和自动采集。

3.支撑特定的Modbus寄存器内容转化为JSON格局准时自动上发。

4.支持在JSON格式中加入设备ID,方便云端识别设备。

5.支持无符号数据和有符号数据,支持小数点表示,支持四字节长度数据。

6.所有配置都可以界面化配置完成,用户自主配置无需定制。

2.JSON
2.1.Modbus RTU转JSON

qy球友会体育官方平台Modbus RTU转JSON可能实现Modbus RTU表的主动收罗,并根据JSON格局主动上发给云端服务器。

这里我们通过一个具体的案例来讲解这个用法。

2.2.Modbus表

假若如今有一个功能码为3,地址为1的Modbus表,其寄存器地址和参数名如下。此中字节长度为四的表示需要连续读2个寄存器。

寄存器地址 参数名 字节长度 备注
0 当前总有功电能 4 无符号,保留2位小数
97 A相电压 2 无符号,保留1位小数
98 B相电压 2
99 C相电压 2
100 A相电流 2 无符号,保留2位小数
101 B相电流 2
102 C相电流 2
119 频率 2
356 A相有功功率 4 有符号,保留3位小数
358 B相有功功率 4
360 C相有功功率 4
362 总有功功率 4

所谓有标记是指,2字节或者四字节最高bit为标记位,例如0xFFFF被以为是-1。保留二位小数是指将数据作为整型转化之后,小数点从最右边向左挪动转移2位。

2.3.设备配置

我们按照设备作为客户端的方式进行配置。

使用SocketDlgTest,在本地计算机1883端口监听一个TCP服务器。

Socket模拟服务器接收数据

使用ZLVircom对设备进行配置。

设备配置

点击窜改配置,没关系让设备相接上SocketDlgTest工具。再次进入设备编纂对话框。点击“固件和配置”按钮。

下载界面

首先点击“网页目次下载”进入配置下载模式。然后选取一个新的空目次,例如MQTTHTTPD目次。防备之前的设计有残留,请点击“铲除整体”按钮,云云能够清空之前的设计内容。设计文件会保存在这个目次,等一下能够通过点击“下载”按钮下载设备内部。

点击“JSON配置”按钮。

JSON配置主界面

这里的参数说明如下:

1.上发服务器年华:默认JSON数据每隔几多年华上发到服务器,服务器便是在设备配置界面设置的目的IP,单元是毫秒。

2.是否上发设备ID:假使选取一则会在每次上发的JSON数据中包括有设备的ID,设备ID就是在设备编辑界面左上角看到的设备的MAC地址。

3.ID的JSON关头词是自己定名的ID对应的的JSON关头词,这儿写MyID,最长为三十二字节。这样以来JSON格局中会增加”MyID”:”2850002F0EEC”的内容。这类似于备案包,有利于服务器鉴别是哪一台设备发来的数据。

4.增补/查看:点击后能够进行Modbus寄存器的设计,能够查看而今内容。

5.删除举座:删除由“添补/查看”按钮设计的所有的Modbus寄存器,方便重新发轫设计。

6.保留JSON设置:设计完成后只有点击这个按钮没关系保留数据到刚才的下载目次,之后没关系下载设备内部。

而今点击“添补/查看”按钮。对于之前的Modbus表的第一行:

寄存器地址 参数名 字节长度 备注
0 当前总有功电能 4 无符号,保留2位小数

对应的配置如下:

寄存器设置

这里的参数说明如下:

1.第1个寄存器:这儿的1,表示如今的设计界面是配置第一个寄存器。

2.已经补充过:倘若打勾说明是补充的,查看已经配置的信息的时候会出现打勾的境况。

3.从站地址:Modbus的表地址。

4.Modbus功能码:目前支持03和04功能码。

5.寄存器地址:这里对应的0。

6.数据长度:这里对应是4字节。

7.数据格式:这里对应是无符号整型。

8.保留小数点:这里保留2位。

9.串口轮询时光:这边设为100ms。是指这个寄存器和下个寄存器的轮询的间隔,而不是这条指令的轮询间隔。

10.对应的JSON关头词:对应上发的JSON中的keyword。比如”CurrentW”:232.12。

11.设计下一个:点击后进入下一个寄存器的设置。

12.保留设计:完成设计,之后点击上一个界面的“保留JSON配置”。

13.除掉设计:除掉目前的所有设计,假如是查看设计内容,可能点击这个按钮退出。

这儿点击“设计下一个”按钮继续设计Modbus表中的别的寄存器。整个设计完表格中的寄存器后,点击“完成设计”,然后点击“保存JSON配置”后退出。然后点击“下载web”页面的“下载按钮”

下载

然后点击“确定”,设备会自动重启。如果没有重启请手动重启。

2.4.新建Modbus模拟表

这里使用Modbus Slave来模拟一个表

测试结果

测试结果显示,使用Modbus slave工具模拟的仪表可能被网关所采撷。同时可以守时,根据json格局上发到SocketDlgTest模拟的服务器软件端。

3.MQTT

MQTT没关系单独运用没关系和JSON功能配合运用。当运用的时候MQTT功能将串口数据透传上发MQTT服务器。就是串口接收的数据当作MQTT的载荷。同时MQTT的载荷会以透传的方式从串口输出。实现串口转MQTT。

3.1.设备配置

MQTT配置1

点击“固件与配置”,弹出配置下载和设计对话框:

MQTT配置2

这里选择“网页目录下载”,然后选择一个空的目录,例如MQTTHTTPD目录,然后点击“清除整体”清除之前的设计。然后点击MQTT配置。

MQTT配置3

这里配置说明如下:

1.服务器域名或IP:这边填写的是MQTT服务器的IP,最长为三十个字符。

2.用户名:是MQTT服务器的用户名。

3.密码:是这个用户的登录密码。

4.客户端ID:是MQTT的client ID。

5.订阅要旨:是这个设备订阅的要旨,有另外设备发布这个要旨的时候,服务器会下发给这个设备。假设只是发布,一般无需填写这个字段。

6.发布大旨:这个设备串口转MQTT的时候向服务器发送的数据的大旨。

7.MQTT高级参数:用于配置高级参数。

8.保留MQTT设置:设计完毕点击这个按钮进行保留,然后点击网页下载目次的“下载按钮”下载。

现在先点击“MQTT高级参数”(一般无需配置高级参数):

MQTT高级参数配置

说明如下:

1.制定版本:现在主流的是3.1.1版本,要是需要拔取3.1版本,请在这儿拔取。

2.保活年华:MQTT的心跳年华,起码为10秒,默认为60秒。

3.服务器清除订阅:客户端断线后服务器是否清除订阅信息。

4.是否启用遗愿:是否有遗愿。

5.遗愿主题:遗愿主题。

6.遗愿信息:遗愿的信息。

7.是否保存遗愿:服务器是否需要保持客户端变态离线时发送给客户端的遗愿消息。

8.遗愿质量:服务器发送的遗愿消息的交付质量级别。

9.订阅质量:订阅的交付质量级别。

10.发布质量:客户端发布消息的交付质量级别。

11.是否保留发布:服务器是否保持末了一条动静。

我们这儿不窜改高档参数。直接点击“保存MQTT设置”。然后点击“下载”

下载

下载完毕点击确定,此时会回到设备管理对话框,看到设备的目的IP、工作模式、目的端口已经自动点窜为MQTT的设置:

自动修改

倘若异国主动窜改需要在设备编辑对话框下,设置目的IP、工作模式、目的端口。然后点击“窜改设置”。

IP配置

这样配置就完成了。

3.2.数据测试

邻接完成后设备的LINK灯变亮。证明设备邻接上MQTT服务器。

现在打开串口工具:

串口发送和接收

使用和设备一样的波特率打开串口,并发送数据“dev send”,往后在接收窗口看到返回的数据“dev send”。这是因为我们将dev send这个信息以zlansub的中心发布给MQTT服务器。但是同时我们的设备订阅了zlansub这个中心,因此服务器会给我们发送一个订阅信息,订阅信息的内容便是dev send。这个信息当作MQTT的载荷发送下载,通过透传的方式从串口输出。

如果其它设备发布信息过来,这个设备也能够收到数据。

一般来说,用户可以直接将串口指令指令直接透传给MQTT服务器。其余可以利用JSON功能,采取自动Modbus RTU格式收罗,准时JSON格式上发的地势。其余也可以找上海qy球友会定制极少非标的容貌和上位机协议格式。

4.MQTT+JSON转Modbus RTU

将上述的JSON和MQTT相组合可以实现如下的功能:

1.选择MQTT为基础的同意和服务器建立邻接,选择订阅发布的地势进行数据通讯。

2.支持Modbus RTU寄存器的自主设计和自动采集。

3.支撑特定的Modbus寄存器内容转化为JSON格局准时自动上发。

4.支持在JSON格式中加入设备ID,方便云端识别设备。

若是必要MQTT+JSON转Modbus RTU功能的,可能设计MQTT和JSON,不分先后次序。设计完一种不要点击“清除设计”按钮,两个设计完,一起点击“下载”按钮下载设备内容。

一般可以下载后手动重启设备,加载设置。

qy球友会 网站地图