当前位置: 首页 >应用方案 >技术应用 >

4G DTU做MQTT客户端连接标准Mosquitto服务器配置教程

在物联网应用中,串口设备接入云平台是常见的需求。MQTT作为物联网领域最主流的轻量级消息协议,具有低带宽占用、支持双向通信、QoS质量分级等优势。E840-DTU(EC05-485)系列高性价比4G DTU通信设备支持MQTT协议,可以将RS485串口设备的数据直接发布到MQTT服务器,同时也能订阅服务器的下发行主题,实现设备的远程监控和控制。本文详细演示E840-DTU(EC05-485)系列高性价比4G DTU做MQTT客户端如何部署Mosquitto MQTT服务器,并通过内网穿透将E840-DTU接入MQTT网络。其他4G DTU设备如E840-DTU(EC05-485)E、E840-DTU(EC05-485)E-V2也可参考此教程中的操作,若使用的是EC05系列的4G模块,配置产品参数部分可直接参考本教程,接线部分因接口不同,请用户查阅对应手册接线。

一、E840-DTU(EC05-485)产品简介

E840-DTU(EC05-485)是亿佰特基于4G CAT1技术开发的一款高性价比4G DTU。4G DTU可以将RS485串口设备的数据通过4G网络传输到云服务器,支持TCP/UDP/MQTT/HTTP等多种协议。

1、4G DTU设备核心参数

参数

数值

数据接口

RS4852.54mm弹簧端子)

工作电压

DC 8V28V

网络制式

LTE-TDD: B34/B38/B39/B40/B41;LTE-FDD: B1/B3/B5/B8

网络协议

TCP/UDP/MQTT/HTTP/DNS

波特率

1200-230400,默认115200bps

工作温度

-40℃+85℃

产品尺寸

102×28×27mm

产品重量

40g

安装方式

导轨+定位孔

防护

三防漆(防霉菌/防潮湿/防盐雾)

2、指示灯说明

· PWR(蓝):电源接通时常亮

· STATE(橙):熄灭=搜索SIM卡;闪烁=附着网络;常亮=网络就绪

· DATA(绿):数据收发时闪烁

· LINK(橙):常亮=与服务器连接成功

二、MQTT协议与Mosquitto服务器

MQTT基于发布/订阅模型,设备可以发布消息到某个主题,也可以订阅感兴趣的主题。这种解耦的通信方式非常适合物联网场景——发送方和接收方不需要直接建立连接,只需通过服务器中转消息。

MosquittoEclipse基金会开发的开源MQTT Broker,支持MQTT v3.1.1v5.0协议,轻量、稳定、配置灵活,是学习和部署MQTT的首选。

三、4G DTU做MQTT客户端配置Mosquitto服务器整体方案拓扑

本教程的整体方案如下:

① 在本地电脑上部署Mosquitto MQTT服务器

② 通过内网穿透工具(贝瑞花生壳)将MQTT服务器的端口映射到公网

③ E840-DTU插入SIM卡,通过4G网络连接到公网MQTT服务器

④ E840-DTURS485串口数据发布到MQTT主题,同时订阅另一个主题接收下行的数据

四、Mosquitto服务器部署

1、下载与安装

① 访问Mosquitto官网(mosquitto.org),进入Download页面

② 选择对应操作系统的版本下载(本教程使用Windows版本)

③ 双击安装文件,按照安装向导完成安装

2、启动MQTT服务器

① 打开Mosquitto的安装目录(如D:Mosquitto

② 在文件路径栏中输入 cmd 打开命令行窗口

③ 输入以下命令启动MQTT服务器:mosquitto -c "D:Mosquittomosquitto.conf" -v

· -c:指定配置文件路径

· -v:开启详细日志输出

命令行窗口不能关闭,否则服务器进程会被终止。

注意:本教程使用的Mosquitto服务器配置为监听端口1884,且未开启客户端接入验证。如果需要开启用户名/密码验证,请参考Mosquitto官方文档配置。

3、订阅测试主题

另开一个命令行窗口,在Mosquitto安装目录下输入:

mosquitto_sub -h localhost -p 1884 -u test -P 123456789 -t "test/topic" -v

参数说明:

· -h localhost:服务器地址(本地)

· -p 1884:服务器端口

· -u test -P 123456789:用户名和密码(本教程未启用验证,可随意填写)

· -t "test/topic":订阅的主题

· -v:显示详细信息

这个命令行窗口会实时显示收到的消息,用于验证E840-DTU的数据是否成功上传。

五、内网穿透配置

由于Mosquitto部署在本地局域网,E840-DTU通过4G公网无法直接访问。需要通过内网穿透工具将本地端口映射到公网。

本教程使用贝瑞花生壳实现内网穿透:

① 下载并安装贝瑞花生壳

② 添加映射规则:将本地的1884端口映射到公网

③ 在花生壳详情页复制公网访问地址和端口(如 15s8t2a86436j594.hfsdata.cn:45775

这个公网地址和端口就是E840-DTU连接MQTT服务器时使用的目标地址。

六、E840-DTU硬件接线与配置

1、硬件连接

① 4G天线连接到E840-DTUSMA天线接口

② 插入Nano SIM卡(芯片向上,缺口向内)

③ 使用USB485转换器按以下方式接线:

· 转换器A → DTURS485-A

· 转换器B → DTURS485-B

· 转换器GND → DTUGND

④ 接入DC 828V电源

2、配置软件准备

打开EbyteAtConfigTool配置软件:

① 型号选择:E840-DTU(EC05-485)

② 选择对应的串口号

③ 串口参数:115200 8N1

④ 点击"打开串口"

⑤ 点击"进入配置",确认日志栏显示"进入AT模式成功"

⑥ 点击"读取参数",读取设备当前配置

3、MQTT连接参数配置

第一步:设置基本连接参数

切换到"链路1"标签,在链路基本参数中:

· 连接类型:选择 MQTT Client

· 服务器地址:填写花生壳提供的公网地址(如 15s8t2a86436j594.hfsdata.cn

· 目标端口:填写花生壳映射的公网端口(如 45775

· 其他参数保持默认

第二步:设置MQTT协议参数

MQTT连接参数中如下所示:

· MQTT目标平台:选择标准MQTT3.1.1

· Client ID:随意填写(本教程未启用验证)

· 用户名:随意填写

· 密码:随意填写

· 订阅主题:随意填写一个主题(如 down/topic),用于接收服务器下发的数据

· 发布主题:填写 test/topic(与Mosquitto命令行中订阅的主题一致)

· QoS:选择0

· 勾选"开启订阅"

· 勾选"开启发布"

第三步:保存并重启

配置完成后,点击"保存参数",设备会自动重启使配置生效。

4、确认连接状态

观察E840-DTU的指示灯:

· STATE灯常亮:4G网络附着成功

· LINK灯常亮:已成功连接到MQTT服务器

同时,Mosquitto的命令行窗口会显示新的客户端连接日志。

七、MQTT数据收发测试

1、串口服务器方向

EbyteAtConfigTool的调试区域,或在XCOM串口调试助手中(退出配置模式后),通过串口发送数据。

发送数据后,Mosquitto订阅的命令行窗口(mosquitto_sub)会实时显示收到的消息,格式为:test/topic 收到的数据内容;

这验证了E840-DTU已成功将串口数据通过MQTT发布到指定主题。

2、服务器串口方向

Mosquitto的命令行中,使用mosquitto_pub 命令发布消息到E840-DTU订阅的主题:

mosquitto_pub -h localhost -p 1884 -t "down/topic" -m "hello from server"

E840-DTU的串口会收到这条消息,并在配置软件或串口助手中显示。

至此,MQTT双向通信验证完成。

八、E840-DTU系列4G DTU设备物联网应用场景

1、工业设备远程监控

工厂现场的PLC、仪表等RS485设备通过E840-DTU接入MQTT云平台,管理人员可以在远程查看设备运行状态、接收告警信息。

2、环境监测数据采集

分布在各地的环境监测站(温湿度、PM2.5、水质等传感器)通过4G DTU将数据实时发布到MQTT主题,数据中心统一订阅处理。

3、无人值守设备管理

自动售货机、充电桩、快递柜等无人值守设备,通过MQTT协议与云端平台保持长连接,实现实时状态上报和远程控制指令下发。

九、4G DTU链接Mosquitto服务器使用常见问题

1、DTU无法注册到4G网络

检查SIM卡是否正确安装,确认SIM卡已开通数据业务。检查天线是否接好。确认DTU的工作电压在8-28V范围内。

2、DTU连接不上MQTT服务器

确认内网穿透服务正常运行,公网地址和端口可访问。检查DTU配置中的服务器地址和端口是否与花生壳映射的一致。确认Mosquitto服务器已启动并监听对应端口。检查MQTT协议版本是否选择标准MQTT3.1.1

3、串口发送数据后服务器收不到

确认DTU已成功连接到MQTT服务器(LINK灯常亮)。检查发布主题是否与服务器订阅的主题一致。确认QoS等级设置正确(建议先使用QoS 0)。检查串口参数(波特率、数据位、停止位、校验位)是否匹配。

4、服务器下发的数据串口收不到

确认DTU已开启订阅功能,且订阅主题与服务器发布的主题一致。检查Mosquitto服务器的权限设置是否允许发布到该主题。

5、命令行关闭后服务器停止

Mosquitto的服务器进程依赖命令行窗口。如需后台运行,可以将Mosquitto注册为Windows服务运行。

E840-DTU(EC05-485)系列高性能高性价比4G DTUMQTT客户端功能,让RS485串口设备能够便捷地接入物联网云平台。通过标准的MQTT协议,设备可以实现与云端的双向数据通信既可以将现场数据发布到服务器,也可以接收服务器下行的控制指令。

搭配Mosquitto等标准MQTT Broker,可以快速搭建从设备到云端的完整数据链路。对于需要远程监控、数据采集和设备管理的物联网项目来说,4G DTU + MQTT客户端是一种成熟可靠的解决方案。


今天的分享就到这里啦,EBYTE每一天都致力于更好的助力物联化、智能化、自动化的发展,提升资源利用率,更多4G DTU通信设备产品物联网技术应用方案资料,感兴趣的小伙伴可以登录我们的亿佰特官网和企业公众号(微信号:cdebyte进行了解,也可以直接拨打400电话咨询技术专员!


相关阅读:

1、4G DTU的使用教程和常见问题

2、4G DTU设备接入华为云IoTDA平台配置与设备注册篇

3、基于4G DTU与远程IO模块的水质动态监测系统物联网方案

4、E840-DTU系列CAT.1方案4G DTU数传终端快速调试教程

5、什么是4G DTU?4G DTU可以用来做什么?


联系我们:

技术支持:support@cdebyte.com      销售咨询:4000-330-990  

点击拨打: 亿佰特官网 4000-330-990