一套完整的工业物联网监控系统,实现从本地采集、存储到远程监控的全链路闭环。涵盖STM32嵌入式、Qt/C++桌面、QML移动端。
子系统1:嵌入式采集终端(STM32)
- 独立实现Modbus RTU从站协议(功能码0x03/0x06),ADC采集NTC温度值,DMA直接内存访问自动转运数据到Modbus寄存器,CPU零干预,显著提高效率。
- 扩展TIM3 PWM控制伺服电机角度,通过Modbus寄存器实时调节。
子系统2:本地工控上位机(Qt/C++)
- 多协议通信:Modbus RTU/TCP双协议(手动实现协议栈:0x01/0x02/0x03/0x04/0x05/0x06/0x0F/0x10),支持串口调试、ASCII/HEX收发、报文日志。
- 实时可视化:Qt Charts实时曲线(支持缩放、平移、多通道),QML仪表盘(指针与颜色随温度变化)。
- 多线程优化:
- 独立轮询工作线程(ModbusPollWorker),100ms周期无卡顿。
- 异步数据库写入(AsyncDbWriter + QThread),主线程零阻塞。
- 数据库工程:
- SQLite设计(操作日志、通信日志、历史温度、用户、报警、配置等)。
- 版本化迁移(V1→V5):串口专表→通用通信表→本地时间→用户加密→历史温度表。
- 自动清理30天前数据,支持CSV导出和手动清除。
- 安全与用户:登录密码MD5+盐哈希加密,支持明文无感升级。
- 配置持久化:自动保存窗口位置、大小、串口参数等,下次启动自动恢复。
- WebSocket服务端:集成QWebSocketServer,为远程客户端推送实时数据并接收控制指令。
子系统3:远程监控客户端(Qt Quick/QML)
见 项目地址
点击空白处退出提示













评论