You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Edge Impulse编译未生成Arduino加速度计持续采集代码问题咨询

解决Edge Impulse导出无加速度计持续采集文件的问题

原因排查与修复步骤

  • 确认导出模式选择
    导出模型时,必须在部署页面选中*"Continuous motion recognition"*(持续运动识别)模式,而非单次分类模式。Edge Impulse近期调整了导出逻辑,只有明确指定持续识别模式,才会生成带_continuous后缀的采集+推理代码文件。

  • 手动移植持续采集逻辑
    若确认导出选项无误但仍无对应文件,可手动从旧版nano_ble_accelerometer_continuous文件中提取核心逻辑,适配到新导出的库中:

    1. 核心逻辑:持续读取加速度计数据并填充特征缓冲区,当缓冲区达到设定窗口大小后触发推理
    2. 关键代码示例:
      void loop() {
          ei_printf("Sampling...\n");
          ei_accelerometer_sample();
          if (ei_inference_triggered()) {
              ei_printf("Running inference...\n");
              ei_impulse_result_t result = { 0 };
              run_classifier(&result);
              // 处理推理结果
              for (size_t ix = 0; ix < EI_CLASSIFIER_LABEL_COUNT; ix++) {
                  ei_printf("  %s: %.5f\n", result.classification[ix].label, result.classification[ix].value);
              }
          }
          delay(10);
      }
      
    3. 确保新库中的ei_accelerometer_sample()和ei_inference_triggered()函数正常调用,这两个函数负责数据采集和缓冲区状态判断。
  • 检查项目脉冲配置
    进入项目的*"Impulse design"*页面,确认窗口大小和滑动窗口步长的设置符合持续采集要求(步长需小于窗口大小)。如果步长等于窗口大小,系统会判定为单次采集模式,导出时不会生成持续采集代码。

Arduino Nano RP2040适配注意事项

  • 由于使用Nano BLE的库,需确保ei_config.h中的硬件配置正确,比如加速度计引脚、I2C地址等,避免采集失败。
  • 若出现编译错误,可替换库中ei_accelerometer.cpp的硬件初始化代码,适配RP2040的内置加速度计(若使用板载传感器)。

内容的提问来源于stack exchange,提问作者Jatin kadge

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 17:55:21