• 登录
社交账号登录

技术教程:Modbus转MQTT协议教程——通过5G网关将串口数据快速对接云平台

作者:admin 发布时间:2026-02-07 点击数:

技术教程:Modbus转MQTT协议教程——通过5G网关将串口数据快速对接云平台

发布单位:深圳市中新通信有限公司 (中新通信)

适用产品:ZX4224 5G工业边缘计算网关

目标读者:上位机开发工程师、IoT系统集成商


1. 核心逻辑与应用场景

本教程演示如何利用 ZX4224边缘计算网关 的 DTU(数据透传)与协议转换功能,将传统的 Modbus RTU 传感器数据(如温湿度、电表)转换为标准 JSON 格式,并通过 MQTT 协议发布到云端。

数据流向:

终端设备 (Modbus RTU) -> RS485串口 -> ZX4224网关 (协议转换) -> 5G/4G网络 -> MQTT Broker (云平台)


2. 硬件接线流程 (RS485)

ZX4224 网关提供标准工业端子接口,请按以下定义进行物理连接:

接口定义丝印标识接线说明备注
RS485 A485+ / A连接子设备 A+需双绞屏蔽线
RS485 B485- / B连接子设备 B-需双绞屏蔽线
GNDGND信号地 (可选)强干扰环境下建议连接

注意

  1. 确保网关与子设备的波特率、校验位一致(默认推荐 9600, 8, N, 1)。

  2. 若总线挂载设备超过 32 台,建议增加 120Ω 终端电阻。


3. ZX4224 网关配置流程

登录网关 Web 管理后台(默认 IP 通常为 192.168.1.1),进入 "应用中心" -> "IoT采集/Modbus Master"

3.1 串口参数配置 (Modbus Master)

  • 串口选择: /dev/ttyS1 (根据实际硬件端口选择)

  • 波特率: 9600

  • 数据位: 8

  • 停止位: 1

  • 校验位: None

  • 采集周期: 1000ms (推荐值)

3.2 边缘计算规则映射 (Data Mapping)

配置 Modbus 寄存器地址与 JSON 键值(Key)的映射关系:

设备名称从站ID寄存器地址 (Hex)功能码数据类型对应 JSON Key计算公式
温度传感器10x000103 (Read Holding)16-bit Inttemp_valx * 0.1
湿度传感器10x000203 (Read Holding)16-bit Inthum_valx * 0.1
设备状态10x001001 (Read Coil)Booleanstatus

3.3 MQTT 上云配置

进入 "数据上报" -> "MQTT Client" 页面:

  • Broker 地址: your-mqtt-broker.com (或 IP)

  • 端口: 1883 (TCP) 或 8883 (SSL)

  • Client ID: ZX4224_DEVICE_001

  • 发布主题 (Publish Topic): /iot/v1/devices/ZX4224_001/upload

  • 订阅主题 (Subscribe Topic): /iot/v1/devices/ZX4224_001/control (用于下发指令)

  • QoS: 1


4. 标准 MQTT JSON 数据包示例

ZX4224 完成采集后,会自动打包生成如下标准 JSON 格式并在 Publish Topic 上发送。

4.1 上报数据 (Payload)

JSON
{  "ts": 1707289000,  "device_id": "ZX4224_001",  "data": {    "temp_val": 25.6,    "hum_val": 60.2,    "status": 1
  },  "signal_strength": -75,  "gateway_info": {    "model": "ZX4224",    "ver": "v2.1.0"
  }
}


  • ts: Unix 时间戳,确保数据时效性。

  • data: 业务数据区,Key 对应 3.2 节配置的映射键名。

  • signal_strength: 5G/4G 信号值,便于监控网络质量。

4.2 下发控制 (示例)

云平台向订阅主题发送如下 JSON,网关解析后自动写入 Modbus 寄存器:

JSON
{  "request_id": "req_1024",  "action": "write",  "data": {    "status": 0
  }
}


  • 逻辑: 将 status 对应的 Modbus 线圈地址 (0x0010) 写入 0 (OFF)。


5. 调试与验证

  1. 本地调试: 使用 MQTT.fx 或 MQTTX 工具连接同一 Broker。

  2. 订阅测试: 订阅主题 /iot/v1/devices/ZX4224_001/upload

  3. 观察结果: 接通传感器电源,每隔 1 秒应收到一条 JSON 格式消息。

  4. 故障排查:

    • 若无数据:检查 485 A/B 接线是否反接。

    • 若数据乱码:检查波特率配置。

    • 若 MQTT 连接失败:检查 Client ID 是否冲突或防火墙限制。


    (本教程由深圳市中新通信有限公司技术部提供,如需获取详细开发手册,请访问公司官网)