一、项目概述
1.1 项目背景
在工业环境监测、智慧农业、仓储物流等场景中,温湿度数据的实时采集与远程监控至关重要。本项目采用VFBOX系列协议转换网关,将现场温湿度传感器的Modbus协议数据转换为MQTT协议,实现数据上云,接入远程监控平台(如阿里云IoT平台),完成从现场设备到云端平台的全链路数据打通。
1.2 项目目标
- 采集现场温湿度传感器的实时数据(温度、湿度值)
- 通过VFBOX网关将Modbus协议转换为MQTT协议
- 将数据上报至远程MQTT监控平台,实现远程可视化监控
- 支持平台下发控制指令,实现双向数据交互
1.3 系统架构
┌─────────────────┐ Modbus RTU/TCP ┌─────────────────┐ MQTT over 4G/以太网
┌─────────────────┐
│ 温湿度传感器
│ ◄──────────────────────► │
VFBOX网关 │ ◄──────────────────────────► │ 远程MQTT平台 │
│ (Modbus从站)
│ RS485/网口
│ (协议转换网关) │
1883端口 │ (阿里云IoT等) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
二、硬件选型与准备
2.1 网关选型
根据项目需求,选用 VB303-1110#128-1-6 型号网关:
| 型号字段 | 说明 | 本项目配置 |
|---------|------|---------|
| VB303 | 硬件批次 | VB303系列 |
| 1110 | 1网口+1串口+4G无线 | 满足有线和无线双通道需求 |
| 128 | 最大采集128个数据点 | 温湿度仅需2-4个点,富余充足 |
| 1 | 采集协议:Modbus | 采集温湿度传感器 |
| 6 | 转发协议:MQTT | 上报远程监控平台 |
网关默认参数:
2.2 温湿度传感器参数
- 通信协议:Modbus RTU(RS485接口)
- 设备地址(站号):1
- 温度寄存器地址:40001(保持寄存器,Float类型)
- 湿度寄存器地址:40003(保持寄存器,Float类型)
- 波特率:9600
- 数据位:8,无校验,1位停止位
2.3 所需物料清单
| 序号 | 物料名称 | 数量 | 说明 |
|-----|---------|------|------|
| 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台 | 参数配置与调试 |
三、接线与物理连接
3.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 ───►电脑网口(配置时使用)
3.2 RS485接线注意事项
- A接A,B接B :网关A端子接传感器A+(或DATA+),网关B端子接传感器A-(或DATA-)
- GND共地 :建议将网关GND与传感器GND连接,提高通信稳定性
- 终端电阻 :如果通信距离超过50米或存在干扰,建议在RS485总线末端并联120Ω终端电阻
- 屏蔽层接地 :屏蔽双绞线的屏蔽层单端接地
四、VFBOX Studio软件配置
4.1 软件安装与连接
- 从仰科官网(www.onker.cn)下载VFBOX Studio软件(编号1001)
- 以管理员权限安装并启动软件
- 用网线将电脑网口与网关Ethernet1直连
- 设置电脑IP地址为 192.168.1.198 (与网关默认IP同网段)
- 打开CMD,执行
ping 192.168.1.199,确认网络连通
4.2 新建工程
- 打开VFBOX Studio,点击"新建工程"
- 输入工程名称:
温湿度MQTT上报工程 - 设备类型选择:
VB30X-1110(根据实际网关型号选择) - 点击菜单"网关IP地址",输入:
192.168.1.199 - 点击"授权-查看授权",确认网关支持Modbus采集和MQTT转发功能
4.3 配置采集设备(Modbus RTU)
步骤1:新建设备
- 在左侧导航栏点击"采集设备" → "新建设备"
- 驱动类型选择:
Modbus RTU - 点击"下一步"
步骤2:设备命名
- 设备名称:
温湿度传感器_01 - 点击"下一步"
步骤3:配置串口参数
连接接口:COM1
波特率:9600
数据位:8
校验位:None(无校验)
停止位:1
- 点击"下一步"
步骤4:配置设备站号
- Modbus站号:
1(与传感器实际地址一致) - 点击"完成"
步骤5:添加采集标签
点击"新建标签",依次添加温度和湿度两个数据点:
| 标签名称 | 数据类型 | 寄存器地址 | 读写控制 | 描述 |
|---------|---------|-----------|---------|------|
| Temperature | Float | 40001 | 读 | 温度值(℃) |
| Humidity | Float | 40003 | 读 | 湿度值(%RH) |
地址说明 :40001表示4X Holding Registers(保持寄存器)第1个地址,对应Modbus报文地址0x0000。Float类型占用2个寄存器(4字节),因此湿度地址为40003。
步骤6:验证采集
- 点击"下载"按钮,将工程下载到网关
- 点击"查看数据"
- 确认"更新时间"为当前时间,"状态"显示"Good"
- 检查温度、湿度数值是否正确
4.4 配置MQTT转发服务
步骤1:启用MQTT服务
- 在左侧导航栏点击"服务" → "MQTT Client"
- 启用:
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:配置上报数据格式
- 点击"Data Format"按钮
- 在弹出的对话框中配置JSON上报格式:
{
"deviceId": "温湿度传感器_01",
"timestamp": "__SYS_TIME_STR__",
"data": {
__REPEAT_TAG
"__TAG_NAME__": __TAG_VALUE__,
__END_REPEAT_TAG
}
}
- 点击"View Example"预览上报格式
- 确认无误后保存
步骤4:绑定上报数据点
- 在MQTT服务配置界面,点击"添加"按钮
- 在弹出的标签选择窗口中,勾选需要上报的标签:
Temperature(温度)
Humidity(湿度)
- 点击"OK"保存
步骤5:下载工程
- 点击工具栏"下载"按钮
- 等待输出窗口显示下载成功信息
- 网关自动运行,开始采集并上报数据
五、远程监控平台配置(以阿里云IoT为例)
5.1 平台端设备创建
- 登录阿里云控制台,进入"物联网平台"
- 创建产品:
- 产品名称:
温湿度监测产品 - 节点类型:直连设备
- 联网方式:蜂窝(4G)/以太网
- 数据格式:ICA标准数据格式(或自定义)
- 产品名称:
- 在产品下创建设备:
- 设备名称:
mqtt01-1 - 备注:
VFBOX网关-温湿度传感器01
- 设备名称:
5.2 获取设备三元组
在设备详情页获取以下参数:
- ProductKey :
a1XJIjfIhua - DeviceName :
mqtt01-1 - DeviceSecret :
ax48M70OmIJCbN0yQWL5WeiDWDc6CanL
5.3 查看设备状态与数据
- 登录阿里云IoT平台,进入"设备管理"
- 查看设备状态:应显示为" 在线 "
- 进入"监控运维" → "日志服务"
- 查看网关上报的实时数据日志:
{
"deviceId": "温湿度传感器_01",
"timestamp": "2026-04-28T14:42:00",
"data": {
"Temperature": 25.6,
"Humidity": 68.5
}
}
5.4 数据可视化(可选)
- 在阿里云IoT Studio中创建Web应用
- 添加"仪表盘"组件,绑定Temperature和Humidity数据
- 设置数据刷新间隔为30秒
- 发布应用,实现温湿度实时可视化监控
六、平台下发控制指令(扩展功能)
6.1 功能说明
VFBOX网关支持MQTT平台下发控制指令,实现远程写值到传感器或网关标签。此功能为选配功能,需确认网关授权支持。
6.2 配置命令主题
- 在VFBOX Studio中,进入MQTT服务配置
- 设置"命令主题"(Command Topic):
- 命令主题:
/a1XJIjfIhua/mqtt01-1/get
- 命令主题:
- 配置命令解析格式,点击"Data Format"查看默认格式
6.3 下发控制指令测试
- 在阿里云IoT平台,找到设备,点击"查看"
- 找到命令主题
/a1XJIjfIhua/mqtt01-1/get,点击"发布消息" - 发送JSON格式控制指令:
{
"TagName": "Temperature",
"TagValue": 888
}
- 在VFBOX Studio中点击"查看数据",确认对应标签值已被修改
- 若标签配置了写功能,数据将同步写入传感器设备
七、项目调试与常见问题排查
7.1 采集数据异常排查
| 现象 | 可能原因 | 解决方法 |
|-----|---------|---------|
| 查看数据状态为"Bad" | RS485接线错误 | 检查A/B线是否接反,确认共地 |
| 查看数据状态为"Timeout" | 波特率不匹配 | 核对传感器与网关波特率是否一致 |
| 数值显示为0或异常 | 寄存器地址错误 | 确认传感器手册中的寄存器地址 |
| Float数值错乱 | 字节顺序问题 | 在设备属性中调整"寄存器顺序" |
7.2 MQTT连接异常排查
| 现象 | 可能原因 | 解决方法 |
|-----|---------|---------|
| 平台显示"离线" | 网络不通 | 检查4G信号或以太网连接 |
| 连接被拒绝 | 用户名密码错误 | 重新计算Password,核对三元组 |
| 数据未上报 | Topic配置错误 | 核对发布主题与平台订阅主题是否一致 |
| 4G无法联网 | APN设置问题 | 联系运营商确认APN参数 |
7.3 使用VBtrace辅助诊断
当通信异常时,可使用VBtrace命令查看网关运行日志:
# 查看Modbus采集通信(端口号20304)
vbtrace.exe 20304 192.168.1.199
# 查看MQTT转发通信(端口号20320)
vbtrace.exe 20320 192.168.1.199
在VFBOX Studio中点击"工具" → "命令行",输入上述指令即可查看实时通信数据。
八、项目总结
8.1 项目成果
本项目成功实现了以下功能:
- ✅通过VFBOX网关采集Modbus RTU温湿度传感器数据
- ✅将采集数据转换为MQTT协议,通过4G/以太网上报至阿里云IoT平台
- ✅实现了温湿度数据的远程实时监控
- ✅支持平台下发控制指令,具备双向交互能力
8.2 方案优势
| 优势 | 说明 |
|-----|------|
| 协议兼容性强 | VFBOX支持Modbus RTU/TCP、MQTT等多种协议,适配各类传感器和云平台 |
| 部署灵活 | 支持RS485串口、以太网、4G无线多种连接方式 |
| 配置简单 | 通过VFBOX Studio图形化配置,无需编程 |
| 稳定可靠 | 工业级设计,支持长时间无故障运行 |
| 扩展性强 | 可扩展至多台传感器、多种数据类型、多个云平台 |
8.3 后续扩展建议
- 多传感器扩展 :通过RS485总线级联多台温湿度传感器,网关最多支持128/256/512/1024点位
- 边缘计算 :使用"用户标签"功能,在网关端实现数据滤波、报警阈值判断、单位换算等
- 历史存储 :启用SQLite/SD卡功能,本地保存历史数据,防止网络中断数据丢失
- 多平台上报 :同时配置多个MQTT Client(最多5个),实现一采多发
- 告警联动 :结合用户标签的IF条件运算,实现本地声光报警或远程告警推送
审核编辑 黄宇
-
MODBUS
+关注
关注
28文章
2530浏览量
83803 -
网关
+关注
关注
9文章
6958浏览量
56583 -
协议转换
+关注
关注
1文章
317浏览量
10258 -
MQTT
+关注
关注
5文章
740浏览量
25270
发布评论请先 登录
工业组态网关通过MQTT协议实现数据集成监控
纺织车间温湿度数据采集远程监控系统方案
±0.1℃精准监测 + POE 供电!网口温湿度传感器,部署运维双省心
类似摄像头功能的传感器@机房 / 车间专用!双供电多协议温湿度传感器,网线直连免布线
睿擎平台实战:温湿度采集到MQTT云端通信
温湿度传感器HTU31D在温湿度控器中的应用优势
网关实现温湿度传感器Modbus转MQTT远程监控平台项目案例
评论