固件编译与烧录

固件项目位于 SOFTWARE/ESP32C3固件,使用 ESP-IDF。当前本地工程已使用 ESP-IDF 5.5 编译,实际操作时请使用兼容的已安装 ESP-IDF 环境。

cd SOFTWARE/ESP32C3固件
source "$HOME/esp/v5.5.2/esp-idf/export.sh"  # 按实际 ESP-IDF 安装路径修改
idf.py build
idf.py -p /dev/ttyACM0 flash
idf.py -p /dev/ttyACM0 monitor

/dev/ttyACM0 替换为实际串口。Linux 串口权限失败通常需要将用户加入相应 dialout 组并重新登录。

配置

main/imu_config.h 选择:

  • 传感器类型,当前为 ICM-20948;

  • visualizer 四元数输出;

  • Wi-Fi 传输;

  • ICM-20948 数据就绪中断触发;

  • 磁力计使用和 VQF 时间积分行为。

通过 idf.py menuconfig 配置 Wi-Fi;不得提交包含本地凭据的 sdkconfig。当前 UDP v2 包含 sensor_time_us,该值在采样/VQF 更新路径记录。数据包和 TCP 时钟同步见协议

烧录检查表

  1. 接电池节点前先完成编译。

  2. esptool.py 日志中确认目标芯片和 Flash 容量。

  3. 烧录后观察启动日志,确认设备发送 v2(type=0x03)数据包。

  4. 每个物理节点设置独立的节点 ID。

  5. 只有节点输出稳定后,再进行磁力计和人体校准。