温室控制器·固件实战
30章 · 从入门到产品
📚 模块化 · 低耦合 · 可移植
v2.0
01
概述
温室控制器概述
项目背景 · 功能需求 · 技术选型
→
02
架构
固件架构设计原则
分层架构 · 模块化 · 低耦合高内聚
→
03
环境
开发环境搭建
Keil/IAR/STM32CubeIDE · 调试器配置
→
04
GPIO
GPIO模块设计
输入输出 · 中断 · 按键扫描 & LED
→
05
定时器
定时器模块设计
SysTick/PWM/输入捕获 · 呼吸灯
→
06
UART
UART通信模块
环形缓冲区 · 命令解析 · 串口打印
→
07
I2C
I2C通信模块
SHT30温湿度 · 多字节读写
→
08
SPI
SPI通信模块
DMA传输 · LCD屏幕驱动
→
09
ADC
ADC模块设计
土壤湿度检测 · 单次/连续/DMA
→
10
驱动框架
传感器驱动框架
设备抽象层 · 注册机制 · 统一接口
→
11
温湿度
温湿度传感器驱动
DHT11/DHT22 · 时序解析 · 校验
→
12
光照
光照传感器驱动
BH1750 · 自动量程 · 光照计算
→
13
CO₂
CO₂传感器驱动
MH-Z19B · 串口/PWM · 校准
→
14
土壤湿度
土壤湿度传感器驱动
电容/电阻 · ADC校准 · 阈值
→
15
执行器
执行器驱动设计
继电器 · MOS管 · 灌溉阀门
→
16
加热通风
加热与通风控制
PID算法 · PWM调功 · 恒温控制
→
17
补光灯
补光灯控制
PWM调光 · 闭环 · 日出日落模拟
→
18
RTOS入门
实时操作系统RTOS入门
FreeRTOS · 任务/调度/优先级
→
19
RTOS同步
RTOS同步与通信
信号量 · 消息队列 · 多任务共享
→
20
任务设计
任务划分与优先级设计
周期/事件 · 优先级反转 · 看门狗
→
21
低功耗
低功耗设计
睡眠/停止/待机 · RTC唤醒 · 电池优化
→
22
存储
数据存储模块
EEPROM/Flash模拟 · 掉电保护
→
23
文件系统
文件系统与日志
LittleFS/FatFS · SD卡记录
→
24
协议
通信协议设计
自定义协议 · 校验和 · 超时重传
→
25
MQTT
MQTT协议与云平台
ESP8266/AT · JSON · 数据上云
→
26
本地控制
本地控制逻辑
状态机 · 自动/手动 · 条件判断
→
27
远程OTA
远程控制与OTA
APP控制 · 固件升级 · 安全校验
→
28
故障诊断
故障诊断与保护
传感器故障 · 过流保护 · 看门狗
→
29
测试调试
系统测试与调试
单元/集成/压力 · 示波器使用
→
30
总结
项目总结与展望
架构复盘 · 边缘计算 · AI预测
→