🌱
灌溉控制器·固件架构
从零搭建
📚 共30章 · 实战驱动
01
课程导论与硬件选型
灌溉控制器核心功能拆解 · ESP32 vs STM32 · 为什么推荐ESP32
⚡ 入门
02
开发环境搭建
ESP-IDF / Arduino IDE · VS Code+PlatformIO · 串口驱动 & Blink
🛠️ 环境
03
GPIO与执行器驱动
继电器·MOS管·PWM水泵 · 实战:点亮LED控制继电器
💡 执行
04
ADC与传感器接口
土壤湿度传感器 · ADC采样滤波 · 实战:读取湿度打印串口
🌡️ 传感
05
定时器与RTC
硬件/软件定时器 · DS3231驱动 · 实战:每日定时灌溉
⏰ 时间
06
中断系统
外部中断·定时器中断·GPIO电平变化 · 实战:按键切换模式
⚡ 中断
07
FreeRTOS基础
任务创建/删除 · 优先级调度 · 队列信号量 · 实战:多任务
🧠 RTOS
08
任务间通信
队列·信号量·互斥锁 · 实战:队列传递传感器数据
📬 通信
09
内存管理
堆栈溢出检测 · 动态内存陷阱 · 内存池 · 实战:优化内存
🧩 内存
10
低功耗设计
深度睡眠·定时/外部唤醒 · 功耗测量 · 实战:电池供电
🔋 低功耗
11
Flash与文件系统
SPIFFS/LittleFS · JSON配置读写 · 实战:保存灌溉计划
💾 存储
12
Wi-Fi连接管理
Station/AP模式 · 事件处理 · 自动重连 · 实战:打印IP
📶 Wi-Fi
13
MQTT协议入门
发布/订阅 · QoS · Mosquitto · 实战:发布传感器数据
📨 MQTT
14
MQTT实战应用
JSON封装 · 遗嘱消息 · 心跳保活 · 实战:远程控制电磁阀
🌐 远程
15
HTTP与RESTful API
HTTP客户端 · GET/POST · 阿里云IoT · 实战:上报数据
☁️ 云平台
16
蓝牙配网(BLE)
BLE GATT · 手机配网流程 · 安全存储 · 实战:一键配网
📱 BLE
17
传感器融合与校准
多传感器融合 · 温度补偿 · 校准曲线 · 实战:自动校准
🎯 校准
18
PID控制算法
PID原理 · 位置/增量式 · 参数整定 · 实战:恒压灌溉
⚙️ 控制
19
状态机设计
FSM概念 · 灌溉状态定义 · 状态转换 · 实战:灌溉状态机
🔄 状态
20
看门狗与异常处理
硬件/任务看门狗 · 异常捕获 · 实战:防止死锁
🛡️ 稳定
21
日志系统
日志等级 · 自定义输出 · 存储回传 · 实战:分级日志
📋 日志
22
固件升级(OTA)
HTTP OTA · 签名验证 · 断点续传 · 实战:远程升级
🔄 OTA
23
本地存储与历史数据
SD卡驱动 · CSV读写 · 历史查询 · 实战:一周灌溉日志
📂 存储
24
显示与交互
OLED驱动(SSD1306) · 菜单系统 · 按键组合 · 实战:显示状态
🖥️ 显示
25
多路灌溉控制
电磁阀矩阵 · 分时复用 · 流量均衡 · 实战:8路控制
🔀 多路
26
安全与防护
输入保护·防反接·过流检测 · 实战:硬件保护电路
🔒 安全
27
生产测试与校准
自动化测试脚本 · ADC校准 · 整机测试 · 实战:生产固件
🏭 生产
28
项目实战(上)
需求分析 · 系统框图 · 模块划分 · 实战:架构设计
📐 设计
29
项目实战(中)
编码实现 · 单元测试 · 集成测试 · 实战:核心功能编码
💻 编码
30
项目实战(下)
系统联调 · 问题排查 · 性能优化 · 课程总结与展望
🚀 交付