ESP32/docs/ble-autostart-ota.md
2026-06-24 21:01:33 +08:00

1.9 KiB

BLE 自启与 OTA 说明

开机自启

电脑端只需要一个常驻进程:tools/pc-metrics/push-metrics-ble.py。

安装开机自启:

& "D:\AI Code\ESP-32\tools\pc-metrics\install-ble-autostart.ps1"

卸载开机自启:

& "D:\AI Code\ESP-32\tools\pc-metrics\uninstall-ble-autostart.ps1"

计划任务名称是 RLCD Metrics BLE,触发条件是当前 Windows 用户登录后启动。

BLE 状态回传

板子会通过 BLE notify 回传 STA2 状态:

STA2,1,<battery_percent>,<battery_mv>,<temperature_c10>,<humidity_percent>,<ble_write_count>,<uptime_seconds>,<internal_heap_kb>,<psram_free_kb>

电脑端日志会显示成更易读的形式:

BLE board: bat=98% 4095mV env=29.3C/57% writes=12 up=50s heap=140K psram=7581K

BLE OTA

当前固件分区已经改成 ota_0 / ota_1 双应用槽。首次启用 OTA 必须先通过 USB 烧录一次新分区表和底座固件,之后可以用 BLE 发送新固件。

发送当前构建产物:

& "D:\AI Code\ESP-32\tools\pc-metrics\send-ble-ota.ps1"

发送指定固件:

& "D:\AI Code\ESP-32\tools\pc-metrics\send-ble-ota.ps1" -Firmware "D:\AI Code\ESP-32\build\rlcd_clock.bin"

OTA 期间需要先停止实时推送进程,避免同一时间抢 BLE 连接:

& "D:\AI Code\ESP-32\tools\pc-metrics\stop-ble-metrics.ps1"

OTA 成功后板子会回传 OTA,DONE,<bytes> 并自动重启。重启后重新启动实时推送:

& "D:\AI Code\ESP-32\tools\pc-metrics\start-ble-metrics.ps1"

电量口径

电量百分比按微雪官方 ADC 示例口径换算:

  • 低于 3.0V 显示 0%
  • 高于 4.12V 显示 100%
  • 中间按线性百分比显示

USB 充电时看到的电压通常会受充电状态影响,所以百分比仍然是估算值,不是库仑计精度。