如何实现Modbus转MQTT?

 时间:2026-02-17 08:44:36

1、1.准备工作

要实现MQTT至MODBUS转换要用到的硬件设备有

a.GPRS至RS485协议转换器1台

b.遵循MODBUS协议的温湿度变送器1台

c.DC24V电源1台

d.连线若干

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

如何实现Modbus转MQTT?

2、2.用到的软件准备

a.GPRS至RS485协议转换器的配置程序

b.MQTT客户端测试程序MQTT.fx-1.7.0-windows

c.MQTT客户端测试程序org.eclipse.paho.mqtt.utility

d.验证数据的Python程序

3、3.配置协议转换的参数

我们需要使用配套的软件配置一下参数便于收发MDOBUS数据和MQTT协议数据。

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

如何实现Modbus转MQTT?

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

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

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

如何实现Modbus转MQTT?

2、5.使用MQTT客户端程序收发数据

打开MQTT-fx程序,并配置MQTT Broker参数,主要是地址,和端口号。

如何实现Modbus转MQTT?

3、订阅对应转换器的主题。

如何实现Modbus转MQTT?

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

如何实现Modbus转MQTT?

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

如何实现Modbus转MQTT?

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

如何实现Modbus转MQTT?

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

5、6.总结

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

  • MagicBook 2019 AMD R7 hdmi转vga外接显示器
  • edge浏览器怎么删除重复的收藏夹
  • 如何启用IE中的MIME探查功能?
  • 安装与配置 ESXi Server 服务器
  • 如何查看go版本
  • 热门搜索
    明月山旅游攻略 太原旅游网 哥斯达黎加旅游 蓟县旅游景点 北京市旅游景点 桂林阳朔旅游景点 贵州旅游资源 旅游互动 山南旅游 重庆周边旅游景点