04 网络通道MQTT
作者:李源龙 | 最后修改:2026-04-17
一、演示功能概述
本篇文档主要是讲解了 iRTU 的参数设置的网络通道里面的 Socket,主要功能包含 TCP 和 UDP 的选择,心跳包,心跳间隔时间,地址或域名,端口号,TCP 通道捆绑的串口 ID,自动采集任务间隔时间,SSL。
二、准备硬件环境
准备一块 Air780EHM 核心板:点击购买

三、准备软件环境
1.烧录工具:Luatools 工具
2.Air780EHM 烧录需要的 irtu 固件:固件版本
3.mqtt 服务器测试地址:lbsmqtt.airm2m.com 1884 为我们的测试服务器地址,用户名,密码,clientid 随意
四、功能选项讲解
本次功能展示统一使用该串口配置:

使用串口 1,波特率 115200

4.1 通道的开启和关闭
1.功能解释:关闭:不开启网络通道配置,无法进行服务器连接。开启:开启服务器通道配置
2.举例:
可以使用 7 个网络通道,点击开启即可配置

4.2 通道类型
1.功能解释:Socket:配置 Socket,Mqtt:配置 Mqtt,AirCloud:配置 AirCloud
2.举例:
本次测试用的是 Mqtt,所以选择 Mqtt

4.3 心跳间隔时间
1.功能解释:MQTT 心跳包是客户端与服务器之间定时发送的 PINGREQ 和 PINGRESP 报文,用于在连接空闲时维持活跃、检测网络异常,防止连接因长时间无数据交互而被断开,需要注意的是 MQTT 心跳包是协议层自身的控制机制,与应用层数据(您发布的业务消息)是相互独立、不会冲突的,因此,在数据接收上不会出现任何消息。默认 300 秒。
2.举例:

4.4 自动采集任务间隔时间:
1.功能解释:该功能主要是搭配预置信息里面的自动采集任务使用,填写的时间是进行一轮数据采集的时间
2.举例:



本章节主要是简单讲解一下,后续在自动任务采集里面会详细讲解该功能,只需要记住这里面设置的时间是两次发送消息时间的间隔。
4.5 地址或域名
1.功能解释:mqtt 的 ip 地址或者域名
2.举例:
lbsmqtt.airm2m.com 1884 为我们的测试服务器地址,用户名,密码,clientid 随意

4.6 端口
1.功能解释:mqtt 的端口号
2.举例:

4.7 账号
1.功能解释:mqtt 的用户名
2.举例:
我们的 mqtt 测试服务器填写内容可以随意,自己的服务器需要按照服务器端给的用户名进行填写。如果需要 IMEI 的话可以用 |IMEI| 来进行填充,例如下图的 aaa,如果需要 aaa+IMEI,填写的内容为 aaa|IMEI|

4.8 密码
1.功能解释:mqtt 的用户名
2.举例:
我们的 mqtt 测试服务器填写内容可以随意,自己的服务器需要按照服务器端给的密码进行填写。如果需要 IMEI 的话可以用 |IMEI| 来进行填充,例如下图的 password,如果需要 password+IMEI,填写的内容为 password|IMEI|

4.9 保存会话标志位
1.功能解释:持久会话:需要持久会话的场景比如希望重连后保持订阅、不愿丢失离线期间的消息(QoS > 0)、需要保证 QoS 1/2 消息可靠传输、设备会定期休眠或网络环境不稳定。离线自动销毁:适合离线自动销毁的场景为设备只发布 QoS 0 消息且不订阅、临时或测试性连接、不关心离线期间的消息。默认离线自动销毁
2.举例:

4.10 订阅消息主题
1.功能解释:MQTT 的模块订阅主题,模块订阅的主题需要是对端发送的主题。这样模块才可以接收到对端的消息。如果订阅的主题不对,会导致模块接收不到消息
2.举例:
多个主题中间用;来分开,例如:topic1;qos;topic2;qos...(每个参数之间必须加;最后一个参数后不需要加;)

多主题示例:

4.11 发布消息主题
1.功能解释:MQTT 的模块发送主题
2.举例:
多个主题中间用;来分开,例如:topic1;qos;topic2;qos...(每个参数之间必须加;最后一个参数后不需要加;)

多主题示例:

4.12 QOS 级别
1.功能解释:QoS 0(最多一次):消息可能丢失,但传输最快,适用于非关键数据(如传感器读数)。QoS 1(至少一次):消息保证必达,但可能重复,需应用层处理。QoS 2(恰好一次):消息不丢不重,最可靠但开销最大,用于金融交易等场景。默认 0
2.举例

4.13 publish-reatin
1.功能解释:用于控制 mqtt 消息是否被服务器保留;当设置为保留模式时,服务器会保存该主题的最新消息,并在新客户端订阅该主题时自动发送此消息;0:服务器不保存此消息。1:服务器会保存此消息
2.举例:
默认为 0

4.14 捆绑的串口 ID
1.功能解释:进行数据传输的串口号,根据在串口配置的内容进行选择,1:串口 1,2:串口 2,3:串口 3
2.举例:

4.15 ID 是否添加默认 IMEI
1.功能解释:clientid 是否要添加模块的 IMEI 号,如果选择是,clientid 的内容就 INEI+ 自定义的内容,如果选择否,就是原始的 clientid 的内容
2.举例:
如果选择是,客户端的内容为 clientid+IMEI,内容为 abc+IMEI

4.16 接收 mqtt 信息是否显示主题
1.功能解释:在某些用主控 + 模块的客户,订阅多主题的时候,在处理消息的时候,不知道是哪个主题发送过来的消息,所以为了多主题的处理,做了该功能。否:默认透传数据,是:返回格式为[+MSUB: topic,len,message]
2.举例:
多主题订阅:

串口接收数据:

4.17 客户端 ID
1.功能解释:mqtt 的 clientid,如果需要在中间插入模块的 IMEI,内容为:xxx|IMEI|,和用户名密码的格式是一样的。
2.举例:
此处客户端的 ID 为 abc+ 模块 IMEI,需要注意的是,是否需要选择 ID 添加默认 IMEI 的功能了,选是的话,会在自定义 id 前面加上 IMEI

4.18 主题是否添加 IMEI
1.功能解释:该功能主要是在主题的后面添加 IMEI,例如订阅主题是/aaa,选项选是的话,内容则为/aaa/IMEI,是:添加 IMEI,否:不填 IMEI,默认否
2.举例:

4.19 SSL
1.功能解释:ssl 加密配置;是:无证书最简单的加密,否:不加密,默认为不加密
2.举例:

4.20 遗嘱
1.功能解释:MQTT 的遗嘱(Last Will and Testament, LWT)是一种机制,允许客户端在连接代理时预先设置一条消息,当其异常断开连接(如网络故障或心跳超时)时,由代理自动将这条消息发布到指定主题,以通知其他客户端其离线状态,遗嘱填入的消息为主题,发送内容默认为模块的 IMEI 号。
2.举例:

4.21 MQTT功能测试
1.配置网络通道和串口
串口配置:

网络通道配置:

2.MQTTX工具配置
mqtt 服务器测试地址:lbsmqtt.airm2m.com 1884 为我们的测试服务器地址,用户名,密码,clientid 随意
MQTT 客户端:MQTT 客户端软件 MQTTX
MQTTX 配置:

订阅主题配置:

3.模块开机,通过串口1发送消息给MQTTX端,MQTTX端会接收到消息并显示在界面上
串口1通过串口工具发送数据:

MQTTX端接收数据:

4.MQTTX端发送消息给模块
MQTTX端发送消息:

模块接收数据:

五、总结
本文演示如何在 Air780EHM 核心板上面,用 irtu 固件,展示网络通道配置的 mqtt 功能