使用GPRS至RS485协议转换器 实现MQTT至MODBUS转换

2018-05-24 08:38:26 来源:华启智能

基于GPRS至RS485协议转换器MQTT至MODBUS转换.实现MODBUS-RTU协议的温湿度变送器接入网络平台。
前段时间有用户咨询MODBUS至MQTT协议转换,今天就把基于GPRS至RS485协议转换器实现MQTT至MODBUS转换的过程分享一下。

1.准备工作
要实现MQTT至MODBUS转换要用到的硬件设备有
a.GPRS至RS485协议转换器1台
b.遵循MODBUS协议的温湿度变送器1台
c.DC24V电源1台
d.连线若干

协议转换器和温湿度变送器连接好后实物图片如下:

MQTT至MODBUS协议转换测试经验分享

2.用到的软件准备
a.GPRS至RS485协议转换器的配置程序
b.MQTT客户端测试程序MQTT.fx-1.7.0-windows
c.MQTT客户端测试程序org.eclipse.paho.mqtt.utility
d.验证数据的Python程序

3.配置协议转换的参数
我们需要使用配套的软件配置一下参数便于收发MDOBUS数据和MQTT协议数据。
GPRS至RS485协议转换器参数配置

这里我们使用了Eclipse公共MQTT Broker进行测试,服务器地址iot.eclipse.org,端口使用标准的1883.使用了两个主题,订阅了CR120_0571/tx,用来接收其它MQTT客户端发送的消息。发送PUB数据到CR120_0571/rx.x,下面我们配置MQTT客户端参数的时候要用到这几个参数。

4.下载和安装MQTT客户端程序

首先从以下地址下载MQTT.fx-1.7.0程序,依据使用的操作系统下载对应的版本。
MQTT-fx程序下载

下载成功后,双击安装即可。

5.使用MQTT客户端程序收发数据
打开MQTT-fx程序,并配置MQTT Broker参数,主要是地址,和端口号。
MQTT-fx配置参数


订阅对应转换器的主题。
MQTT-fx订阅消息


使用MQTT客户端程序(同时打开MQTT.fx和org.eclipse.paho.mqtt.utility)收发数据,GPRS至RS485协议转换器联网后会主动发送Pub消息,当没有MODBUS数据是发送设备名称。这里显示的是CR120_0571(十六进制显示43 52 31 32 30 5F 30 35 37 31).
MQTT客户端收发数据


使用org.eclipse.paho.mqtt.utility发送温湿度变送器需要的MODBUS指令(十六进制内容:01 03 00 00 00 01 C4 0B),温湿度会把相应数据发送给转换器,转换器发送Pub消息到服务器。
MQTT收发MODBUS协议数据 

下面是使用Python程序验证数据收发的记录,
Python程序收发MQTT数据

这里可以看到温湿度变送的MODBUS响应数据为01 03 04 01 16 01 7c 1a 7a是完全正确的MODBUS数据,

6.总结
至此使用GPRS至RS485协议转换器实现了MQTT至MODBUS转换。

相关文章

站内搜索

产品分类

推荐分类

联系我们

  • 点击联系  点击联系
  • 联系华启智能