项目简介
本项目是一个基于ARM架构和CMSIS - RTOS的OTA更新系统,可实现设备与AWS IoT服务连接,完成安全的固件更新操作,还提供了测试工具和支持CI系统构建。
项目的主要特性和功能
- 通信方面:运用CoreMQTT库与MQTT服务器通信,实现设备和AWS IoT服务的连接。
- 固件更新:借助PSA服务安全地接收、验证和激活固件更新。
- 平台抽象层:提供与固件更新相关的接口,如文件创建、写入、关闭、激活新固件等。
- 实时操作系统集成:采用CMSIS - RTOS进行多任务管理和同步。
- OTA代理:创建任务处理OTA事件和MQTT连接。
- 事件处理:处理从OTA库和MQTT服务器接收的事件。
- 测试工具:提供Python脚本用于AWS资源的创建和清理,以及OTA更新过程的测试。
- CI系统:支持通过代码变更或手动方式触发Runner工作流,可用于构建自己的CI系统。
安装使用步骤
环境准备
安装CMSIS - RTOS和CoreMQTT库,以及必要的AWS SDK。
编译与部署
编译项目并部署到目标ARM设备上。
触发Runner工作流
手动执行
选择左侧的simple - ci - 112条目,点击右侧的Run Workflow按钮,在下拉菜单中选择Run Workflow。
代码变更执行
- 复制仓库。
- 编辑文件,例如:
vi README.md
。 - 使用git命令添加、提交并推送到仓库:
sh git add README.md git commit -m "Simple update" git push origin main
观察Runner
在特定的runs页面,点击工作流名称ci_build_and_test_ats_keyword_112,查看工作流的所有步骤及结果。
OTA操作
通过MQTT服务器发送固件更新消息,设备上的OTA代理接收并处理更新。
测试
使用提供的测试脚本测试OTA过程,包括AWS资源的创建和清理。
注意事项
- 确保目标设备支持OTA更新和MQTT通信。
- 根据设备的硬件和配置调整OTA参数和设置。
- 注意安全性,确保固件更新过程中的数据完整性和身份验证。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】