文档

硬件接入测试 · Arduino R4

用真实微控制器验证协议解码与告警闭环

沐安平台支持真实硬件数据源接入。本页展示用 Arduino Uno R4 WiFi(ESP32-S3)模拟比亚迪风格 BMS 报文,经 HTTPS 上报平台协议解码端点,验证协议解码 → 数据接收 → 告警判级的完整闭环。

测试装置

  • 控制器:Arduino Uno R4 WiFi(ESP32-S3,内置 WiFiS3 + WiFiSSLClient)
  • 协议:BYD-BMS 报文(帧头 0x5A + SOC/温度/单体电压/绝缘)
  • 上报:帧 base64 → POST /api/ingest/decode(HTTPS/TLS)
  • 固件:每秒上报一轮,每 20 轮注入一次 47℃ 高温异常(验证告警链)

协议解码精度(端到端实测)

将 R4 生成的 6 组 BYD 帧提交平台协议端点,解码字段与真值逐位一致:

用例SOC温度℃最高单体V最低单体V绝缘Ω/V解码
正常行驶7030.03.683.621240✅一致
过温 45℃6046.03.703.641200✅一致
过温 52℃6052.03.703.641200✅一致
压差 0.37V6035.03.823.451200✅一致
绝缘偏低6035.03.703.64420✅一致
SOC 过低835.03.703.641200✅一致

实测 6/6 端到端解码通过——R4 帧流可被平台协议层实时接收、解析,SOC/温度/单体电压/绝缘逐位还原。

告警判级验证

R4 上报的异常数据,平台规则引擎判级结果(与过温/压差/绝缘/SOC 规则一致):

场景判定等级命中规则
正常行驶green
过温 45~50℃orange温度异常
过温 ≥50℃red温度异常(超红线)
压差 ≥0.3Vorange压差异常
绝缘 <500Ω/Vred绝缘异常(超红线)
SOC <10%yellowSOC 过低

实测 6/6 告警判级通过——R4 注入的异常可正确触发过温/压差/绝缘/SOC 四类告警,并匹配五色等级。

端到端闭环

R4 数据源 → 平台协议层 → 告警/展示 全链路:

  • 电池安全监控:R4 上报的车辆 SOC/温度/单体电压实时更新
  • 告警管理中心:注入的 47℃ 高温异常触发过温告警,可查看/处置
  • 协议插件框架:BYD-BMS 插件解码,新增品牌只加插件类,零主干改动

可复现测试

测试可完全复现(仓库 hardware/r4_wifi_battery_source/):

  • verify-byd-frame.mjsverify-byd-frame.mjs — 验证 BYD 帧格式解码(3/3)
  • verify-alarms.mjsverify-alarms.mjs — 验证告警判级(6/6)
  • e2e-decode-live.mjse2e-decode-live.mjs — 端到端线上解码(6/6)
  • Arduino_R4_WiFi_Battery_Source.inoArduino_R4_WiFi_Battery_Source.ino — R4 固件(烧录后实时上报)

运行方式:node hardware/r4_wifi_battery_source/e2e-decode-live.mjs(连接平台线上端点)。本测试证明沐安协议层对真实硬件数据源的接受能力——从微控制器到协议解码到告警,全链路可验收。