在工业环境监测、智慧农业、仓储物流等场景中,温湿度数据的实时采集与远程监控至关重要。本项目采用VFBOX系列协议转换网关,将现场温湿度传感器的Modbus协议数据转换为MQTT协议,实现数据上云,接入远程监控平台(如阿里云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+ ───► 电源正极(DC 12V+) • V- ───► 电源负极(DC 12V-) • A ───► 温湿度传感器RS485-A(A+) • B ───► 温湿度传感器RS485-B(A-/B-) • Ethernet1 ───► 电脑网口(配置时使用)
步骤1:新建设备
步骤2:设备命名
步骤3:配置串口参数
连接接口:COM1
波特率:9600 数据位:8 校验位:None(无校验)
停止位:1
步骤4:配置设备站号
步骤5:添加采集标签
点击"新建标签",依次添加温度和湿度两个数据点:
| 标签名称 | 数据类型 | 寄存器地址 | 读写控制 | 描述 |
|---|---|---|---|---|
| Temperature | Float | 40001 | 读 | 温度值(℃) |
| Humidity | Float | 40003 | 读 | 湿度值(%RH) |
地址说明:40001表示4X Holding Registers(保持寄存器)第1个地址,对应Modbus报文地址0x0000。Float类型占用2个寄存器(4字节),因此湿度地址为40003。
步骤6:验证采集
步骤1:启用MQTT服务
步骤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:绑定上报数据点
步骤5:下载工程
在设备详情页获取以下参数:
{
"deviceId": "温湿度传感器_01",
"timestamp": "2026-04-28T14:42:00",
"data": {
"Temperature": 25.6,
"Humidity": 68.5 }
}
VFBOX网关支持MQTT平台下发控制指令,实现远程写值到传感器或网关标签。此功能为选配功能,需确认网关授权支持。
{
"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图形化配置,无需编程 |
| 稳定可靠 | 工业级设计,支持长时间无故障运行 |
| 扩展性强 | 可扩展至多台传感器、多种数据类型、多个云平台 |