睿擎平台:基于Modbus的在线监控网关方案

天资达人 科技创新 2026-02-12 5000 0

论坛原文

https://club.rt-thread.org/ask/article/04554bb1d4ba5bfe.html

作者:XLUR_8603

功能综述

基于睿擎派和RT-Thread操作系统,我们开发了一款高性能工业物联网数据网关,实现了设备信息的实时采集、可视化监控和远程管理。该方案为传统工业设备的智能化升级提供了可靠且经济的技术路径。

核心功能

1.实时数据采集与可视化

a.通过Modbus RTU协议采集从设备数据

b.基于WebNet实现数据的网页可视化展示

c.支持温湿度、光照、距离等多种传感器数据监控

2.远程设备管理

a.通过Web界面实现设备参数配置

b.支持在线OTA固件升级

c.实现数据导出功能,方便数据分析

3.稳定可靠的通信

a.采用RS485总线连接,通信稳定可靠

b.基于RT-Thread实时操作系统,确保系统响应及时

c.使用互斥量保护数据,避免并发访问冲突

系统架构

硬件架构设计

本方案采用主从架构设计,实现了分布式数据采集与集中管理:

73914ee8-0710-11f1-96ea-92fbcf53809c.png

主机:睿擎派作为主站,负责数据汇总、处理和可视化

从机:星火一号作为从站,负责前端传感器数据采集

通信链路:通过RS485总线实现主从机之间的Modbus RTU通信

软件架构设计

本项目采用分层模块化设计,确保代码的可维护性和功能分离,核心模块包括:

主入口模块:程序执行入口,负责系统初始化流程

应用管理模块:集中管理应用任务,初始化全局资源

Modbus通信模块:实现Modbus RTU协议功能,负责数据读写操作

Web服务模块:基于WebNet实现HTTP服务,提供网页界面

传感器采集模块:负责各种传感器数据采集和处理

核心代码实现

Modbus初始化配置

代码说明:此模块负责初始化Modbus RTU通信环境,配置串口参数、从机地址、超时设置和RS485模式,为后续的数据采集建立通信基础。

/* Modbus初始化 - 根据硬件配置 */staticrt_bool_tmodbus_init(void){/* 创建Modbus RTU上下文 - 使用串口配置 */ modbus_ctx =modbus_new_rtu("/dev/uart5",115200,'N',8,1);if(modbus_ctx ==NULL){LOG_E("Unable to create Modbus context");return-1;}/* 设置从机地址 */modbus_set_slave(modbus_ctx,MODBUS_SLAVE_ADDR);/* 设置响应超时 */modbus_set_response_timeout(modbus_ctx,1,0);/* 设置为 RS485 模式 */modbus_rtu_set_serial_mode(modbus_ctx,MODBUS_RTU_RS485);/* 设置 RTS 控制 */modbus_rtu_set_rts(modbus_ctx,RS485_RTS_PIN,MODBUS_RTU_RTS_UP);/* 连接Modbus设备 */if(modbus_connect(modbus_ctx)==-1){LOG_E("Modbus connection failed: %s",modbus_strerror(errno));modbus_free(modbus_ctx); modbus_ctx =RT_NULL;returnRT_FALSE;}LOG_I("Modbus initialized successfully with UART5, 115200, RS485 mode");returnRT_TRUE;}

数据采集实现

代码说明:此模块实现从Modbus从设备读取传感器数据的功能,包括温湿度、光照和距离等参数,并进行数据处理和验证。

staticrt_bool_tread_sensor_data(structsensor_data*data){uint16_t tab_reg[MODBUS_REG_COUNT];int rc;int i;if(modbus_ctx ==NULL){LOG_E("Modbus context is null");returnRT_FALSE;} rc =modbus_read_registers(modbus_ctx, MODBUS_REG_START, MODBUS_REG_COUNT, tab_reg);if(rc ==-1){LOG_E("Modbus read failed: %s",modbus_strerror(errno));returnRT_FALSE;}/* 读取温度值(假设为有符号16位整数,单位0.1℃) */ data->temperature =(int16_t)tab_reg[TEMPERATURE_REG - MODBUS_REG_START]/1.0f; data->humidity = tab_reg[HUMIDITY_REG - MODBUS_REG_START]/1.0f; data->ps_data = tab_reg[PS_REG_ADDR - MODBUS_REG_START]; data->brightness = tab_reg[BR_REG_ADDR - MODBUS_REG_START]/1.0f; data->valid = RT_TRUE;LOG_D("Modbus read: temp=%.1f℃, humidity=%.1f%%", data->temperature,data->humidity);returnRT_TRUE;}

Web服务实现

代码说明:此模块实现Web服务的CGI处理函数,用于响应前端的光照数据请求,通过互斥量保护共享数据,确保数据访问的安全性。

staticvoidcgi_get_light_handler(structwebnet_session*session){constchar*mimetype;float light_value =0.0f; mimetype =mime_get_type(RT_NULL);webnet_session_set_header(session, mimetype,200,"Ok",-1);char*trans_buf ="{"light": %.2f}";if(temperature_mutex !=RT_NULL){rt_mutex_take(temperature_mutex,100); light_value = g_light_value;rt_mutex_release(temperature_mutex);}webnet_session_printf(session, trans_buf, light_value);}

网页界面设计

代码说明:此模块定义了Web界面的页面路由配置,根据用户选择加载不同的功能页面,包括设备信息、从机设备信息、视频流、数据导出、OTA更新和参数设置等。

// 根据选择加载不同内容页constpages ={ device_info:"device_info.shtml", slave_device_info:"slave_device_info.shtml", video_stream:"video_stream.shtml", data_export:"data_export.shtml", ota_update:"ota_update.shtml", parameter_settings:"parameter_settings.shtml",};

技术优势

1.高实时性

a.基于RT-Thread实时操作系统,任务响应及时

b.采用消息队列和互斥量等IPC机制,确保数据处理的实时性

2.易于扩展

a.模块化设计,功能分离清晰

b.基于RT-Thread软件包生态,可快速集成各种传感器

3.稳定可靠

a.Modbus RTU协议,通信稳定可靠

b.RS485总线,抗干扰能力强

c.完善的错误处理机制

4.用户友好

a.直观的Web界面,操作简单

b.支持在线OTA升级,维护便捷

c.数据可视化展示,一目了然

应用场景

工业设备监控:实时监控工业设备的运行状态和环境参数

智能楼宇:监控楼宇内的温湿度、光照等环境参数

农业大棚:监测大棚内的环境参数,实现智能调控

仓储物流:监控仓库内的温湿度、烟雾等参数,确保存储安全

部署与配置

硬件配置

主机:睿擎派开发板

从机:星火一号开发板

通信:RS485总线连接

传感器:温湿度传感器、光照传感器、距离传感器

软件配置

操作系统:RT-Thread 4.0+

协议:Modbus RTU

网络:WebNet HTTP服务

串口配置:UART5,波特率115200,无校验位,8位数据,1位停止位

演示效果

总结

基于Modbus的在线监控网关系统方案,充分利用了RT-Thread操作系统的优势,实现了设备信息的实时采集、可视化监控和远程管理。该方案具有高实时性、易于扩展、稳定可靠和用户友好等特点,可广泛应用于工业、楼宇、农业等领域的设备监控场景。

通过本方案的实施,传统工业设备可以快速接入物联网,实现智能化升级,提高生产效率和管理水平。RT-Thread软件包生态的丰富资源,也为系统的快速开发和功能扩展提供了有力支持。

项目代码地址

https://gitee.com/lv-yuhaogree/rui-ching_demo

相关文档

https://www.rt-thread.com/ruiching/document/site/

推荐阅读:

佳源国际控股前8月销售同比减少60.33% 单月同比减少69.9%