Skip to content

Repository files navigation

基于 Qt + STM32 的智能温控风扇监控系统

项目简介

本项目基于 Qt 和 STM32 设计了一套智能温控风扇监控系统,实现了温度采集、风扇状态监控、串口双向通信、实时曲线绘制、阈值报警、CSV 数据保存和参数配置等功能。

STM32 端负责采集温湿度数据并控制风扇运行状态,Qt 上位机负责串口通信、数据解析、界面显示、曲线绘制和控制命令下发。

技术栈

  • C++
  • Qt Widgets
  • QSerialPort
  • QChart
  • STM32
  • UART
  • PWM
  • CSV 数据保存

核心功能

  • 串口扫描、打开和关闭
  • STM32 数据实时接收
  • 自定义协议解析
  • 温度、湿度、风扇状态、转速和模式显示
  • 实时温度曲线绘制
  • 自动模式和手动模式切换
  • 风扇开关控制
  • 风扇转速设置
  • 温度阈值报警
  • CSV 数据保存
  • 接收日志显示和自动滚动

通信协议

STM32 上传数据格式

TEMP:36.5,HUM:45,FAN:ON,SPEED:80,MODE:AUTO

Qt 下发控制命令

MODE_AUTO
MODE_MANUAL
FAN_ON
FAN_OFF
SET_SPEED:70
SET_TEMP:38

项目亮点

  • 使用 QSerialPort 实现 Qt 与 STM32 的串口双向通信
  • 设计自定义通信协议,实现设备状态解析和控制命令下发
  • 使用缓冲区处理串口半包、粘包问题
  • 使用 QChart 实现实时温度曲线动态刷新
  • 支持温度阈值报警,超温时界面高亮提醒
  • 支持 CSV 数据保存,方便后续数据分析
  • 项目采用模块化设计,降低代码耦合度,方便后期维护和扩展

项目结构

SmartFanMonitor
├── main.cpp
├── mainwindow.h
├── mainwindow.cpp
├── serialmanager.h
├── serialmanager.cpp
├── protocolparser.h
├── protocolparser.cpp
├── chartmanager.h
├── chartmanager.cpp
├── fandata.h
├── mainwindow.ui
├── SmartFanMonitor.pro
└── README.md

运行效果

软件运行后可以实时显示 STM32 上传的温度、湿度、风扇状态、转速和工作模式,并根据温度数据动态绘制曲线。

当温度超过设定阈值时,界面会显示报警状态,并通过状态栏提醒用户当前温度过高。

项目收获

通过本项目,熟悉了 Qt 上位机开发流程,掌握了串口通信、协议解析、实时数据展示、曲线绘制、CSV 数据保存和模块化工程设计等内容。

该项目模拟了实际嵌入式设备监控系统的开发流程,具备一定的工程实践价值。

About

Qt + STM32 Smart Fan Monitor System with Serial Communication and Real-time Charts

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages