🌱 多路灌溉·分布式实战
30章 从0到农田
📡 星型 · LoRa · ESP32
01
项目背景与需求分析
农业灌溉痛点 · 分布式优势 · 功能与非功能需求
02
系统总体架构设计
星型 vs 网状 · 主控/子节点 · LoRa/Zigbee/WiFi
03
核心硬件选型(主控)
STM32 vs ESP32 vs 树莓派 · 选型对比 · 最终ESP32
04
核心硬件选型(传感器&执行器)
土壤湿度 · 流量计 · 电磁阀 · 水泵驱动
05
电源管理与低功耗设计
太阳能供电 · 电池选型 · 深度睡眠 · 功耗估算
06
通信协议详解(物理层)
LoRa SX1278 · SPI配置 · 射频参数 · 距离实测
07
通信协议详解(数据链路层)
自定义帧结构 · CRC校验 · 重传 · 冲突避免
08
通信协议详解(应用层)
MQTT裁剪 · JSON格式 · 设备影子 · 状态同步
09
主控节点软件架构
FreeRTOS任务 · 消息队列 · 事件驱动 · 看门狗
10
子节点软件架构
传感器采集 · 阀门控制 · 心跳 · OTA预留
11
土壤湿度传感器驱动开发
电容式vs电阻式 · ADC采样 · 温度补偿 · 校准
12
流量计与电磁阀驱动
脉冲中断 · PWM控制 · 水锤消除策略
13
本地自动灌溉策略
阈值控制 · 定时灌溉 · 天气预报决策
14
远程控制与云平台对接
Mosquitto · 阿里云/腾讯云IoT · App接口
15
Web管理后台(前端)
Vue3+Element Plus · 仪表盘 · ECharts曲线
16
Web管理后台(后端)
Node.js/Express · Flask · RESTful · WebSocket
17
数据库设计
InfluxDB时序 · MySQL配置 · 表结构设计
18
数据可视化与报警
阈值报警 · 短信/邮件/微信 · 离线告警
19
多路灌溉逻辑实现
轮灌vs续灌 · 分组管理 · 优先级 · Cron
20
系统可靠性设计
双机热备 · 心跳检测 · 自动重连 · 断点续传
21
安全机制
TLS/SSL · 一机一密 · 固件签名防篡改
22
现场部署与调试
节点安装 · 天线布局 · 中继器 · 网络测试
23
系统测试方案
单元/集成/压力测试 · 100节点并发 · 72h稳定性
24
故障排查与日志分析
串口日志分级 · 远程收集 · 常见问题手册
25
成本估算与物料清单
单节点成本 · 主控/云服务 · 整体预算
26
项目迭代与扩展
pH/EC/风速 · AI灌溉 · 边缘计算升级
27
开源与社区资源
GitHub项目 · 数据手册 · 论坛 · 踩坑博客
28
商业落地与产品化思考
原型到产品 · CE/FCC · 生产测试 · 售后
29
完整项目实战(一)
搭建环境 · 初始化ESP32 · 基础通信框架
30
完整项目实战(二)
集成传感器/执行器 · 联调 · 农田部署演示