灌溉控制器 · Modbus 实战
📘 30章 从入门到实战
1
01
Modbus协议概述
起源、发展、工业地位 · 为什么用于灌溉控制
2
02
物理层与传输模式
RS-485接口 · 两线/四线 · RTU与ASCII · 距离速率
3
03
Modbus协议帧结构
RTU/ASCII帧格式 · 地址码/功能码/CRC · 报文解析
4
04
功能码详解(一)
01H~04H · 读线圈/离散输入/保持/输入寄存器
5
05
功能码详解(二)
05H/06H/0FH/10H · 写单个/多个线圈/寄存器
6
06
CRC校验原理与实现
CRC-16-Modbus · 查表/直接计算 · Python实战
7
07
异常响应与错误处理
异常码01-08 · 异常帧 · 超时重试 · 故障排查
8
08
灌溉控制器硬件架构
主控STM32/ESP32 · RS-485收发器 · 隔离电源
9
09
传感器数据采集
土壤湿度/流量计/压力变送器 · 4-20mA转Modbus
10
10
执行器控制
电磁阀驱动 · 变频器控制 · 步进电机阀门定位
11
11
Modbus主站程序设计 (Python)
pymodbus库 · 批量读取 · 异常处理
12
12
Modbus从站程序设计 (MicroPython)
ESP32从站 · 寄存器映射 · 看门狗复位
13
13
寄存器地址规划
保持寄存器分配 · 传感器/控制/参数/状态区
14
14
数据采集与上报
定时轮询 · 滤波算法 · MQTT上传
15
15
远程控制与自动化
手动/定时/PID闭环 · 基于土壤湿度自动灌溉
16
16
多从机通信与冲突避免
地址分配 · 广播 · 令牌环 · 冲突检测重发
17
17
通信性能优化
波特率 · 报文间隔 · 批量读写 · DMA/中断
18
18
Modbus TCP/IP网关
RTU转TCP · 网关硬件 · Python实现 · 跨网段
19
19
日志与数据记录
SD卡存储 · CSV格式 · 时间戳 · 历史查询
20
20
Web监控界面开发
Flask + Chart.js · 实时数据 · 控制面板
21
21
移动端监控(微信小程序)
蓝牙配网 · Modbus透传 · 告警推送
22
22
安全与权限管理
密码保护 · 写保护 · AES-128加密 · 白名单
23
23
低功耗设计
休眠唤醒 · 太阳能供电 · 电池监测 · 功耗优化
24
24
电磁兼容性 (EMC) 设计
屏蔽接地 · TVS管 · 共模扼流圈 · PCB布局
25
25
现场调试工具
Modbus Poll/Scan · 串口监听 · 逻辑分析仪抓包
26
26
故障诊断与维护
通信自动恢复 · 传感器故障 · 阀门卡死报警
27
27
案例实战(一)
小型温室大棚 · 4路传感器+8路阀门+变频泵
28
28
案例实战(二)
大型农田分区灌溉 · 32从站+中央控制+APP
29
29
案例实战(三)
智能水肥一体化 · EC/pH传感器+注肥泵+混合罐
30
30
课程总结与展望
Modbus+农业物联网 · MQTT/OPC UA融合 · 边缘计算