基于Modbus的传感器数据采集系统实战
📚 共计 30 章节
01
Modbus协议概述
Modbus的起源与发展 · 在工业物联网中的地位 · RTU与ASCII模式的区别
协议基础
工业通信
02
物理层与通信介质
RS-232/RS-485/RS-422标准详解 · 双绞线与终端电阻 · 常见接线方式
硬件
布线
03
Modbus帧结构
报文格式解析 · 地址域 · 功能码 · 数据域 · CRC校验原理
报文
CRC
04
功能码详解(一)
01读线圈 · 02读离散输入 · 03读保持寄存器 · 04读输入寄存器
读取
功能码
05
功能码详解(二)
05写单线圈 · 06写单寄存器 · 15写多线圈 · 16写多寄存器
写入
控制
06
异常响应与错误处理
异常码定义 · 超时重传机制 · 常见故障排查
调试
健壮性
07
Python环境搭建
Anaconda安装 · 虚拟环境配置 · 必备库安装 (pyserial, minimalmodbus, pymodbus)
Python
环境
08
pyserial库基础
串口参数配置 · 数据读写 · 超时设置 · 流控制
串口
通信
09
minimalmodbus库入门
库的安装与导入 · 仪器对象创建 · 读写寄存器示例
轻量
Modbus
10
pymodbus库入门
同步客户端与异步客户端 · TCP与RTU模式切换
异步
TCP
11
传感器选型与参数
温度传感器 (PT100/DS18B20) · 压力传感器 · 流量计 · Modbus接口传感器
选型
硬件
12
传感器数据手册解读
寄存器地址映射表 · 数据格式 (整数/浮点/BCD码) · 量程与精度
手册
解析
13
单传感器数据采集实战
连接传感器 · 配置串口 · 读取温度值 · 数据校验
实战
采集
14
多传感器轮询采集
轮询策略设计 · 地址分配 · 超时处理 · 数据合并
轮询
多从机
15
数据解析与转换
原始数据到物理量的转换 · 字节序处理 (大端/小端) · 浮点数IEEE754解析
转换
IEEE754
16
数据存储方案(一)
CSV文件存储 · Excel文件存储 · 文件命名与归档
文件
归档
17
数据存储方案(二)
SQLite数据库设计 · 建表语句 · 插入与查询优化
SQLite
数据库
18
数据可视化基础
Matplotlib绘制实时曲线 · 动态更新图表 · 多子图展示
Matplotlib
曲线
19
数据可视化进阶
Plotly交互式图表 · 仪表盘设计 · Web端实时显示
Plotly
仪表盘
20
日志系统设计
logging模块配置 · 分级日志 · 日志轮转 · 异常记录
日志
调试
21
配置管理
YAML/JSON配置文件 · 传感器参数动态加载 · 热更新机制
配置
YAML
22
多线程采集架构
线程安全 · 锁机制 · 生产者-消费者模式 · 队列管理
多线程
并发
23
异步IO采集架构
asyncio库使用 · 协程调度 · 高并发采集优化
异步
asyncio
24
Modbus TCP/IP通信
TCP客户端实现 · 远程数据采集 · 防火墙与NAT穿透
TCP
远程
25
Modbus网关与路由
RTU转TCP网关配置 · 多网段数据汇聚 · 网关选型
网关
路由
26
数据清洗与预处理
异常值检测 · 缺失值处理 · 滑动窗口滤波 · 中值滤波
清洗
滤波
27
报警与通知系统
阈值设定 · 邮件报警 · 短信报警 (Twilio) · 微信推送
报警
通知
28
系统集成与测试
单元测试 (unittest/pytest) · 集成测试 · 压力测试 · 稳定性测试
测试
pytest
29
项目部署与运维
Docker容器化部署 · systemd服务管理 · 远程维护 · OTA升级
Docker
运维
30
综合项目实战
从零搭建完整传感器数据采集系统 (需求分析·架构设计·编码实现·测试部署)
全流程
实战