在工业环境监测、智慧农业、仓储物流等场景中,温湿度数据的实时采集与远程监控至关重要。本项目采用VFBOX系列协议转换网关,将现场温湿度传感器的Modbus协议数据转换为MQTT协议,实现数据上云,接入远程监控平台(如阿里云IoT平台),完成从现场设备到云端平台的全链路数据打通。
┌─────────────────┐ Modbus RTU/TCP ┌─────────────────┐ MQTT over 4G/以太网
┌─────────────────┐
│ 温湿度传感器
│ ◄──────────────────────► │
VFBOX网关 │ ◄──────────────────────────► │ 远程MQTT平台 │
│ (Modbus从站)
│ RS485/网口
│ (协议转换网关) │
1883端口 │ (阿里云IoT等) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
根据项目需求,选用 VB303-1110#128-1-6 型号网关:
| 型号字段 | 说明 | 本项目配置 |
|---------|------|---------|
| VB303 | 硬件批次 | VB303系列 |
| 1110 | 1网口+1串口+4G无线 | 满足有线和无线双通道需求 |
| 128 | 最大采集128个数据点 | 温湿度仅需2-4个点,富余充足 |
| 1 | 采集协议:Modbus | 采集温湿度传感器 |
| 6 | 转发协议:MQTT | 上报远程监控平台 |
网关默认参数:
| 序号 | 物料名称 | 数量 | 说明 |
|-----|---------|------|------|
| 1 | VFBOX网关(VB303-1110#128-1-6) | 1台 | 协议转换核心设备 |
| 2 | 温湿度传感器(Modbus RTU) | 1台 | 现场数据采集 |
| 3 | 12V/2A直流电源 | 1个 | 网关供电 |
| 4 | RS485通信线(A/B双绞屏蔽线) | 若干 | 传感器与网关连接 |
| 5 | 网线(CAT5e以上) | 1根 | 网关与电脑配置连接 |
| 6 | Micro-SIM卡(已开通流量) | 1张 | 4G无线上网(可选) |
| 7 | 电脑(安装VFBOX Studio软件) | 1台 | 参数配置与调试 |
VFBOX网关接线端子定义:
┌─────────────────────────────────────────────────┐
│ V+ V-
Ethernet1 A B
TX RX GND
FUN │
│ │ │
│ │ │ │ │ │
│ │
│ │ │
│ │ │ │ │ │
│ │
└─────────────────────────────────────────────────┘
接线说明:
• V+ ───►电源正极(DC 12V+)
• V- ───►电源负极(DC 12V-)
• A ───►温湿度传感器RS485-A(A+)
• B ───►温湿度传感器RS485-B(A-/B-)
• Ethernet1 ───►电脑网口(配置时使用)
ping 192.168.1.199,确认网络连通温湿度MQTT上报工程VB30X-1110(根据实际网关型号选择)192.168.1.199步骤1:新建设备
Modbus RTU步骤2:设备命名
温湿度传感器_01步骤3:配置串口参数
连接接口:COM1
波特率:9600
数据位:8
校验位:None(无校验)
停止位:1
步骤4:配置设备站号
1(与传感器实际地址一致)步骤5:添加采集标签
点击"新建标签",依次添加温度和湿度两个数据点:
| 标签名称 | 数据类型 | 寄存器地址 | 读写控制 | 描述 |
|---------|---------|-----------|---------|------|
| Temperature | Float | 40001 | 读 | 温度值(℃) |
| Humidity | Float | 40003 | 读 | 湿度值(%RH) |
地址说明 :40001表示4X Holding Registers(保持寄存器)第1个地址,对应Modbus报文地址0x0000。Float类型占用2个寄存器(4字节),因此湿度地址为40003。
步骤6:验证采集
步骤1:启用MQTT服务
Yes步骤2:填写MQTT连接参数
以阿里云IoT平台为例:
| 参数项 | 配置值 | 说明 |
|-------|-------|------|
| 启用 | Yes | 启用MQTT协议 |
| 心跳间隔 | 60 | 每60秒发送一次心跳 |
| 远程服务器IP地址 | a1XJIjfIhua.iot-as-mqtt.cn-shanghai.aliyuncs.com | 阿里云MQTT服务器域名 |
| 远程服务器端口 | 1883 | 阿里云默认MQTT端口 |
| 客户唯一编号(ClientId) | 123456|securemode=3,signmethod=hmacsha1| | 自定义客户端ID+加密方式 |
| 用户名(UserName) | mqtt01-1&a1XJIjfIhua | DeviceName&ProductKey
|
| 密码(Password) | ax48M70OmIJCbN0yQWL5WeiDWDc6CanL | 通过阿里云签名工具计算 |
| 发布主题(Publish Topic) | /a1XJIjfIhua/mqtt01-1/data | 云平台订阅的Topic |
| 发布间隔 | 30 | 每30秒上报一次数据 |
密码获取方式 :登录阿里云IoT平台,获取ProductKey、DeviceName、DeviceSecret后,使用阿里云签名工具计算Password。
步骤3:配置上报数据格式
{
"deviceId": "温湿度传感器_01",
"timestamp": "__SYS_TIME_STR__",
"data": {
__REPEAT_TAG
"__TAG_NAME__": __TAG_VALUE__,
__END_REPEAT_TAG
}
}
步骤4:绑定上报数据点
Temperature(温度)
Humidity(湿度)
步骤5:下载工程
温湿度监测产品mqtt01-1VFBOX网关-温湿度传感器01在设备详情页获取以下参数:
a1XJIjfIhuamqtt01-1ax48M70OmIJCbN0yQWL5WeiDWDc6CanL{
"deviceId": "温湿度传感器_01",
"timestamp": "2026-04-28T14:42:00",
"data": {
"Temperature": 25.6,
"Humidity": 68.5
}
}
VFBOX网关支持MQTT平台下发控制指令,实现远程写值到传感器或网关标签。此功能为选配功能,需确认网关授权支持。
/a1XJIjfIhua/mqtt01-1/get/a1XJIjfIhua/mqtt01-1/get,点击"发布消息"{
"TagName": "Temperature",
"TagValue": 888
}
| 现象 | 可能原因 | 解决方法 |
|-----|---------|---------|
| 查看数据状态为"Bad" | RS485接线错误 | 检查A/B线是否接反,确认共地 |
| 查看数据状态为"Timeout" | 波特率不匹配 | 核对传感器与网关波特率是否一致 |
| 数值显示为0或异常 | 寄存器地址错误 | 确认传感器手册中的寄存器地址 |
| Float数值错乱 | 字节顺序问题 | 在设备属性中调整"寄存器顺序" |
| 现象 | 可能原因 | 解决方法 |
|-----|---------|---------|
| 平台显示"离线" | 网络不通 | 检查4G信号或以太网连接 |
| 连接被拒绝 | 用户名密码错误 | 重新计算Password,核对三元组 |
| 数据未上报 | Topic配置错误 | 核对发布主题与平台订阅主题是否一致 |
| 4G无法联网 | APN设置问题 | 联系运营商确认APN参数 |
当通信异常时,可使用VBtrace命令查看网关运行日志:
# 查看Modbus采集通信(端口号20304)
vbtrace.exe 20304 192.168.1.199
# 查看MQTT转发通信(端口号20320)
vbtrace.exe 20320 192.168.1.199
在VFBOX Studio中点击"工具" → "命令行",输入上述指令即可查看实时通信数据。
本项目成功实现了以下功能:
| 优势 | 说明 |
|-----|------|
| 协议兼容性强 | VFBOX支持Modbus RTU/TCP、MQTT等多种协议,适配各类传感器和云平台 |
| 部署灵活 | 支持RS485串口、以太网、4G无线多种连接方式 |
| 配置简单 | 通过VFBOX Studio图形化配置,无需编程 |
| 稳定可靠 | 工业级设计,支持长时间无故障运行 |
| 扩展性强 | 可扩展至多台传感器、多种数据类型、多个云平台 |
审核编辑 黄宇
全部0条评论
快来发表一下你的评论吧 !