2026-05-08 14:04:41 +08:00
2026-05-08 12:44:14 +08:00
2026-05-08 14:04:41 +08:00
2026-05-08 12:44:14 +08:00
2026-05-08 14:00:31 +08:00
2026-05-08 14:04:41 +08:00

ClearMCU-Wind

项目简介

ClearMCU-Wind 是基于 ESP32-C3 的 RS485 风速风向传感器采集网关固件,面向现场部署、批量站号配置、Web 运维和 MQTT 上报场景。

当前固件版本:RC2.0

主要功能

  • 单个传感器逐个引导配置站号
  • 多传感器共线轮询
  • AP 本地维护入口常驻
  • 外部 STA WiFi 接入与自动重连
  • 只读 HTTP API
  • MQTT 实时数据上报
  • OTA 在线检查更新与固件升级
  • 掉电配置保存

硬件目标

  • esp32-c3-devkitm-1

通信参数

RS485 / Modbus

  • 协议:Modbus RTU
  • 波特率:9600
  • 数据位:8
  • 校验位:None
  • 停止位:1

当前接线

  • 串口:UART1
  • TX:GPIO0
  • RX:GPIO1

默认假设使用带自动收发方向控制的 TTL 转 RS485 模块。

寄存器说明

当前使用以下保持寄存器:

  • 0x0000:风速 m/s
  • 0x0001:风级
  • 0x0002:风速 km/h
  • 0x0003:风向角度
  • 0x0004:风向方位码
  • 0x0030:设备地址

功能说明

1. 引导配置

系统按 1..N 顺序为传感器分配站号。

现场操作规则:

  • 每次配置时,总线上只保留 1 个待配置传感器
  • 已配置好的设备先断开,避免误改地址
  • 配置成功后,再接入下一个传感器

推荐流程:

  1. 连接设备 AP。
  2. 打开网页中的“引导配置”。
  3. 只接入 1 个待配置传感器。
  4. 点击“配置下一个传感器”。
  5. 等待系统自动读地址、写地址和验证。
  6. 成功后拔掉当前传感器。
  7. 接入下一个传感器继续配置。
  8. 全部完成后点击“结束配置并进入运行”。

说明:

  • 部分传感器改址后不会返回标准写应答。
  • 固件会在写入后自动读回验证。
  • 只要新站号验证通过,界面会按“站号已生效,不影响使用”处理。

2. 实时轮询

运行模式下系统会循环读取全部已配置传感器,并显示:

  • 风速 m/s
  • 风级
  • 风速 km/h
  • 风向角度
  • 风向方位
  • 在线 / 离线状态

3. 网络模式

设备工作在 AP + STA 模式:

  • AP 始终保留,便于现场维护
  • STA 用于接入现场网络
  • STA 断线后自动重连
  • STA 异常不影响 AP 本地访问

AP 名称格式:

  • ClearMCU-Wind-<MAC>

4. Web 页面

网页包含以下页面:

  • 实时数据
  • 引导配置
  • STA 设置
  • API
  • 云服务
  • 系统状态

系统状态页包含:

  • AP / STA 信息
  • MQTT 状态
  • 固件版本
  • 已配置传感器数量
  • 恢复出厂
  • 系统重启

5. MQTT 上报

配置 MQTT 后,系统会自动连接并周期发布实时数据。

默认主题前缀:

  • clearesp/wind

完整主题:

  • <topicPrefix>/<MAC>/realtime

说明:

  • /realtime 已包含传感器 ID、在线状态和实时风速风向数据
  • 不再单独发布 /sensors

6. OTA

云服务页提供 OTA 卡片,面向现场人员只展示:

  • 当前固件版本
  • 最新版本
  • 检查更新按钮
  • 下载并升级按钮

说明:

  • OTA 需要设备先连接外部 WiFi
  • 检测到新版本后才允许执行升级
  • 升级完成后设备会自动重启

7. 恢复出厂

“恢复出厂”会清空全部持久化配置,包括:

  • 传感器配置
  • WiFi 配置
  • MQTT 配置

执行后系统会自动重启。

HTTP API

所有接口均返回 JSON。

状态接口

  • GET /api/state

返回整机完整状态,包括:

  • AP / STA 状态
  • MQTT 状态
  • OTA 状态
  • 引导配置状态
  • 传感器列表
  • 固件版本

传感器接口

  • GET /api/ro/sensors

网络接口

  • GET /api/ro/network

系统接口

  • GET /api/ro/system

MQTT 数据示例

实时数据

主题:

<topicPrefix>/<MAC>/realtime

示例:

{
  "mac": "B43A455471D4",
  "firmware_version": "RC2.0",
  "uptime_ms": 123456,
  "sensors": [
    {
      "id": 1,
      "online": true,
      "wind_speed_ms": 3.8,
      "wind_level": 3,
      "wind_speed_kmh": 13.68,
      "angle_deg": 45.0,
      "direction_code": 2,
      "direction_name": "NE",
      "age_ms": 180
    }
  ]
}

编译与烧录

编译

platformio run

烧录

platformio run -t upload

RC2.0 变更

  • 品牌字样统一更新为 ClearMCU-Wind
  • 固件版本升级为 RC2.0
  • 保留既有 OTA、MQTT、Web 管理与现场配置能力
S
Description
ClearESP Wind Gateway commercial firmware for ESP32-C3
Readme
1.2 MiB
0 Stars 1 Watchers 0 Forks
RC2.0
Latest
2026-05-08 14:04:41 +08:00
Languages
C++ 100%