该项目下的笔记
FAL 分区与 LittleFS:SPI NOR Flash 的可靠存储
从 Flash 分区表到 LittleFS 文件系统挂载,详解 PipeMonitor 如何在 SPI NOR Flash 上构建断电安全的存储层。
2026-04-28字节序问题:流量计 REAL4 解析与联调踩坑
Modbus RTU 的 32 位数据传输涉及字节序和字序的组合,不同厂商的习惯不同。详解 PipeMonitor 如何用可配置的解析策略解决联调时的字节序问题。
2026-04-27嵌入式浮点处理:避免 %f 的定点格式化技巧
在 newlib-nano 不支持 %f 的环境下,如何用纯整数运算实现浮点数的定点格式化,保证 LCD 和 JSON 输出的精度与对齐。
2026-04-26报警系统:阈值判定、边沿触发与多级严重性
PipeMonitor 的报警设计:如何避免同一条规则每 2 秒刷一次报警,如何区分警告和严重故障,如何让上行线程即时上报。
2026-04-25Modbus 服务层:邮箱队列与总线串行化
通过邮箱 + 信号量实现 Modbus 总线的串行化访问,让多个业务线程安全地共享同一条 RS485 总线,避免时序冲突。
2026-04-24传感器驱动抽象:流量计、温压、PT100 的统一设计模式
详解 PipeMonitor 三类传感器驱动的分层设计:设备层屏蔽硬件差异,服务层提供统一接口,业务层只关心测量值。
2026-04-23离线缓存与断点补传:LittleFS 上的可靠存储
PipeMonitor 的双层存储设计:CSV 落盘供离线分析,pending.jsonl 缓存未送达的上行帧,网络恢复后自动补传,保证数据不丢。
2026-04-22按键输入与 LCD 电源管理:PA15 复用与防残影策略
从硬件引脚复用到软件消抖,从 LCD 背光控制到周期性 IC 重初始化,详解 PipeMonitor 的人机交互与显示维护设计。
2026-04-21看门狗与多任务健康监控:不止是喂狗
PipeMonitor 的看门狗设计:不止是简单的 IWDG 喂狗,而是对采集、显示、心跳、上行四个关键线程分别做健康检查,任一线程卡死都能自动复位恢复。
2026-04-20上行通信:JSON 编码、云端 ACK 与断点补传
详解 PipeMonitor 的上行服务设计:手写 JSON 编码器、DR154 透传链路、云端确认机制,以及网络中断时的离线缓存与自动补传策略。
2026-04-19云端确认与历史去重:cloud_ack 下行链路 + UNIQUE(device_id, seq)
tele / alarm 先落库再回 cloud_ack,历史表用 (device_id, seq) 唯一键 + ON DUPLICATE KEY 兜底重放,配合 heart_count 心跳计数把上行链路的可靠性闭环。
2026-04-18PipeMonitor 多线程架构:RT-Thread 事件驱动设计
围绕 STM32H562 + RT-Thread 的多线程分离架构,详解采集、显示、存储、上行四大线程如何通过事件位与消息队列解耦协作。
2026-04-17Flutter Web 接入 pipe-monitor.varka.cn/scada 的部署契约
PipeMonitor 的 Flutter Web 端通过 base-href 编排部署到 /scada/,与 API 和 WebSocket 共用 pipe-monitor.varka.cn,Nginx 子路径单独做 SPA 回退。
2026-04-16LCD 防闪烁与 LittleFS CSV 存储
UI 线程通过脏数据局部重绘消除闪烁;LittleFS 上的 measurements.csv 按时间批量刷盘并自动 Rotate,保证现场无网络也能离线溯源。
2026-04-15Modbus RTU 主站与 nanomodbus 封装
Modbus_Master / Modbus_Service / nanomodbus 三层划分,统一管理采集间隔、超时容错和异常节点过滤,支撑 PXW、超声波、PT100 三类传感器接入。
2026-04-14PipeMonitor 项目综述:STM32H562 + RT-Thread 边缘管道监测
围绕 STM32H562 与 RT-Thread 完整版搭建的 Modbus RTU 主站,统一接入压力、温度、流量传感器,本地 LCD 实时显示并落盘 CSV。