RS485 物联网智能网关

2026.06 – 2026.09 | 个人项目 · 独立开发

ESP32-S3FreeRTOSModbus RTUMQTTLVGLW5500

充电桩等 RS485 / Modbus RTU 工业设备存在数据孤岛、难以远程运维的问题。网关向下经 RS485 采集充电桩状态 / 电压 / 电流 / 电量 / 枪温 / 故障码,向上经以太网 / Wi-Fi 双上行接入 MQTT 云平台,实现远程监控、阈值告警与远程启停;配套开发 Modbus RTU 从站模拟器(充电桩仿真)完成协议联调与整机验证。

系统架构

四层架构:BSP(RS485 / 以太网 / Wi-Fi / OLED)→ 模型(设备池 / 测点库 / 值库)→ 协议(可插拔接口,当前实现 Modbus RTU,可扩展 CAN / DL-T645)→ 服务(采集 / 上报 / 监控 / 存储 / 配置)。容量编译期定长、零动态内存分配;FreeRTOS 多任务分工,任务看门狗(TWDT)保障长期稳定运行。

核心功能

  • 轮询采集调度:寄存器区间合并读取(6 个测点一次事务完成)并带数据质量戳
  • cJSON 组帧 MQTT 遥测 / 告警上报,主题按设备与测点分层
  • 断网时 TF 卡 JSONL 离线缓存、恢复后自动补传
  • MQTT 命令远程启停充电与远程修改配置
  • LVGL 8 驱动 OLED 三页面本地人机界面

个人职责

独立负责网关与从站模拟器两个工程的架构设计与全部代码开发;手写 Modbus RTU 主站 / 从站协议栈(帧组装、CRC16 校验、超时重试、异常应答);设计 RS485 总线互斥锁与以太网 / Wi-Fi 双上行链路优先级自动切换机制。

技术栈

ESP32-S3ESP-IDF v5.4FreeRTOSCLVGL 8cJSONesp-mqttNVSSDMMC / FatFSModbus RTU(0x03 / 0x06)RS485MQTTW5500Wi-FiGit