Nordic IoT Axon 神经网络处理器 NRF54LM20 第四篇: Zephyr 系统 Linux 环境搭建

本文是 Nordic nRF54LM20-DK新款获奖物联网开发套件系列教程的第四篇。

本次基于 Axon NPU 的分类演示程序,是一款多类别分类模型,能够根据快递包裹运输过程中的加速度幅值采样数据,识别包裹所处的运输状态,可识别状态如下:

  • 静止
  • 晃动
  • 撞击
  • 自由坠落
  • 人工搬运
  • 车载运输
  • 静置摆放

该应用场景具备诸多实用价值,包括但不限于:

  1. 检测物流运输过程中的野蛮装卸行为与货物潜在损坏风险
  2. 监控包裹配送质量及各类物流运输状态
  3. 包裹遭遇撞击、自由坠落时触发告警
  4. 全程追踪包裹在整个配送生命周期内的状态变化

本文仅简要讲解静止状态(即静置状态),其余各类状态不再展开说明,精简文章篇幅。

静止状态特征

  • 加速度数值稳定聚集在1000 毫重力加速度(重力基准值)附近
  • 连续采样数据波动极小,整体处于稳定静态
  • 加速度无明显尖峰突变、无剧烈波动
  • 对应场景:包裹静置在平面(货架、桌面、地面、静止货车内)

适用场景

  • 包裹存放于仓库,待发货运输
  • 配送车辆停靠期间,车内静置的包裹
  • 包裹送达客户收货地点
  • 包裹放置于货架、桌面

该状态数据基准稳定、噪声极小,符合经典牛顿引力场常规数据特征,数据波形参考下图。

程序编译部署步骤

按照以下步骤编译本次包裹状态分类演示程序:

  1. 激活虚拟环境
~/DigiKey_Coffee_Cup/Nordic/$ source venv/bin/activate
  1. 启动指定版本开发工具链终端
(venv)~/DigiKey_Coffee_Cup/Nordic/$ nrfutil sdk-manager toolchain launch --ncs-version v3.3.0-preview2 --shell

Initializing shell environment!

(v3.3.0-preview2)

系统提示:正在初始化终端环境!切换至版本:v3.3.0-preview2

  1. 编译工程应用
(v3.3.0-preview2) ~/DigiKey_Coffee_Cup/Nordic/$ west build -p always -b nrf54lm20dk/nrf54lm20b/cpuapp edge-ai/samples/nrf_edgeai/classification/

...
[260/260] Linking C executable zephyr/zephyr.elf
Memory region         Used Size  Region Size  %age Used
           FLASH:       56416 B      1940 KB      2.84%
             RAM:        8720 B       511 KB      1.67%
        IDT_LIST:          0 GB        32 KB      0.00%
...
  1. 硬件连接用 USB 线连接电脑与本次 Nordic nRF54LM20-DK 新款获奖物联网开发套件。

  1. 打开 minicom 串口终端,烧录程序
(v3.3.0-preview2) ~/DigiKey_Coffee_Cup/Nordic/$ west flash

在串口终端中,将会运行显示 Axon NPU 分类演示程序。

程序会完成神经网络初始化,对覆盖全部包裹状态的7 组典型测试用例执行推理运算,并验证模型分类准确率。程序每处理完一组包含 50 个采样点的加速度数据窗口,模型就会输出对应预测结果,以及所有类别对应的预测概率。该模型仅依靠单组窗口数据即可完成预测,无需额外上下文信息;每一组窗口最终输出的分类结果,为置信概率最高的类别。

至此,基于 Nordic IOT平台、直接调用 Axon NPU 驱动实现的包裹状态分类演示全部完成。敬请关注本系列后续教程。这款斩获 2026 嵌入式世界展览会奖项的 Nordic nRF54LM20-DK 物联网开发套件,现已在得捷电子(DigiKey)上架开售。