项目简介
本项目是基于Arm架构的物联网解决方案,提供关键字检测与OTA固件更新功能。利用AWS FreeRTOS运行DS - CNN模型进行关键字检测,通过Arm Virtual Hardware模拟硬件环境,支持与AWS IoT云连接,实现关键字识别信息的发布和OTA固件更新。同时包含Blinky应用演示,软件支持多种配置,满足不同需求。
项目的主要特性和功能
- 关键字检测功能:在AWS FreeRTOS上运行DS - CNN模型检测关键字并通知用户,音频数据通过Arm Virtual Hardware音频驱动注入,可连接AWS IoT云发布识别的关键字。
- OTA固件更新:支持通过AWS IoT云进行OTA固件更新,使用Trusted Firmware - M安全应用更新。
- Blinky应用演示:通过Arm Virtual Hardware演示LED闪烁,已包含AWS FreeRTOS和FreeRTOS,便于新开发。
- 多配置支持:软件支持Arm Corstone™ - 300子系统的多种配置,适应不同需求。
安装使用步骤
1. 启动Arm Virtual Hardware实例
使用AWS网络控制台启动
- 若无AWS账户,需先创建。
- 在AWS网络控制台的EC2中选择“Launch Instances”,按向导操作:选择Amazon Machine Image (AMI)时搜索
Arm Virtual Hardware
并选择Arm提供的该项;选择实例类型,推荐c5.large
。 - 启动实例后,选择实例ID管理实例,点击“Connect”,确保用户名设置为
ubuntu
后再次点击“Connect”打开SSH终端会话。
使用本地终端启动
- 安装AWS CLI 2并配置访问密钥、密钥和区域。
- 创建新密钥对:
aws ec2 create - key - pair --key - name MyKeyPair
,保存密钥材料到.pem
文件并设置权限为400
:chmod 400 MyKeyPair.pem
。 - 启动新实例:
./scripts/vht_cli.py -k MyKeyPair start
。 - 获取实例IP:
./scripts/vht_cli.py -k MyKeyPair status
,使用SSH和私钥连接实例:ssh -i "MyKeyPair.pem" ubuntu@<instance ip address>
。
2. 构建并执行应用程序
- 连接到AVH AMI实例:
ssh ubuntu@<your - ec2 - instance>
。 - 同步git子模块,设置ML并应用所需补丁:
./ats.sh bootstrap
。 - 安装运行测试和签名二进制文件所需的额外Python依赖项:
pip3 install click imgtool pytest
。 - 构建关键字检测应用程序:
./ats.sh build kws
,运行:./ats.sh run kws
,启动集成测试:pytest -s kws/tests
。 - 若要构建、运行和测试Blinky应用程序,将
kws
替换为blinky
。 - 也可使用Keil MDK构建项目,
blinky.uvmpw
和kws.uvmpw
分别包含blinky
和kws
项目。
3. 更新音频数据
将根目录下的 test.wav
文件替换为符合以下配置的音频文件:格式为PCM,音频通道为单声道,采样率为16位、16kHz。
4. 持续集成设置
启动Arm Virtual Hardware实例:./scripts/vht_cli.py -k <key pair> start
。
5. 设置AWS连接
- AWS账户IoT设置:创建IoT事物并创建策略附加到事物。
- 配置应用程序连接到AWS账户:编辑
bsp/aws_configs/aws_clientcredential.h
和bsp/aws_configs/aws_clientcredential_keys.h
文件,设置相关值和密钥。 - 观察MQTT连接:登录AWS IoT控制台,查看应用程序连接和消息发送情况。
6. OTA固件更新
- 创建更新固件:构建过程中会创建更新的固件,更新二进制文件位于
build/kws/tfm_ns_signed_update.bin
。 - 创建AWS IoT固件更新作业:创建Amazon S3存储桶、OTA更新服务角色、OTA用户策略,在AWS IoT界面创建作业并配置相关参数。
7. 结束时终止AMI实例
- 使用AWS网络控制台:在EC2中选择实例,点击“Instance state”并选择“Stop Instance”。
- 使用本地终端:
./scripts/vht_cli.py -k MyKeyPair stop
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】