机房环境监控系统

2026.05 – 2026.09 | 个人项目 · 独立开发

STM32F103FreeRTOSQt 6JSONAT24C02

针对机房设备 7×24 小时环境监测需求,开发多参数机房环境监控系统:STM32 下位机实时采集温湿度 / 烟雾 / 光照 / 雨水数据,超阈值时本地声光告警并 OLED 显示,同时接收 Qt 上位机下发的阈值与网络配置,实现现场监测与远程配置一体化。

系统架构

下位机基于 FreeRTOS 划分采集、执行(显示 / 告警)、串口收发、配置解析、心跳指示等多任务,串口中断经消息队列把 JSON 配置帧转交配置任务解析;上位机为 Qt 6 桌面程序,经 QSerialPort 与下位机通信,动态生成配置界面并下发 JSON。

核心功能

  • DHT11 温湿度 + ADC 光照 / 烟雾 + 雨滴传感器采集与数据校验
  • 阈值比对触发 LED / 蜂鸣器声光告警、OLED 实时显示
  • 上位机自动识别串口,阈值 / 网络双 Tab 配置界面
  • jsmn 解析 JSON 配置并掉电保存至 AT24C02 EEPROM
  • 4 位 bit 功能开关(显示 / 告警 / 窗帘 / 空调)与心跳灯故障指示

个人职责

独立完成下位机与 Qt 上位机两个工程的设计与开发:编写 DHT11 / ADC / OLED / AT24C02 等驱动程序,基于 FreeRTOS 任务与消息队列搭建采集-执行-配置流水线;Qt 端使用 QSerialPort / QJsonDocument 实现串口通信与配置界面。

技术栈

STM32F103ARM Cortex-M3Keil标准外设库FreeRTOSCC++Qt 6(QWidget / QSerialPort / QJson)jsmnI2C / SPI / UART / ADCAT24C02 EEPROM