FreeRTOS OTA特性之智者教我如何巧用Can总线协议的奥秘

Amazon FreeRTOS 可以帮助开发人员简化将物联网(IoT)设备连接到云的过程。然而,即使有更简单的云连接,许多开发人员面临的一个主要障碍仍然是如何现场升级其设备的固件。固件升级常常利用引导程序完成;基于设备架构和可用的通信外设,引导程序可能有多种不同形式。引导程序很普遍,几乎所有嵌入式系统中都有包括,因此开发人员需要利用现有解决方案,而不是从头开始开发。这樣,他們可以將更多時間投入到產品的差異化和特性上。

本文將探討如何使用內置於 Amazon FreeRTOS 中的引導程式功能(通常被稱為空中升級(OTA)來快速實現在物聯網設備上運行引導程式解決方案。

Amazon FreeRTOS 的 OTA 升級概述

Amazon FreeRTOS 是一種實時操作系統,其中包含了輕鬆連接 Amazon Web Services(AWS)所需的一切庫。Amazon FreeRTOS 本質上是 FreeRTOS 核心,現已包含連接和安全庫,以方便與 AWS 進行安全通訊。OTA 特性包含在單獨的 OTA 庫中,並且必須單獨配置才能包含在 a:FreeRTOS 下載中。

a:FreeRTOS OTA 升級服務包含必要軟體以便開發人員可以執行如下操作:

部署前對固件進行數字簽章和加密

將新固件映像安全地部署到單一設備、設備組或整個設備集群

當設備加入群組、重新啟動或重新配置時,将固件部署到設備中

將新固件部署後驗證其真實性和完整性

監視部署進度

調試失敗的部署

這些特性通過運行各種 AWS 服務提供,例如:

OTA 管理器服務

AWS IoT 作業服務

串流服務

Amazon FreeRTOS 代碼簽章服務

OTA 庫和代理

對於開發人員而言,让所有这些部分协同工作所需的步骤是相当多的,无法在一篇文章中详细说明。本文将重点介绍如何入门,以及关于在实验室中成功设置a:FreeRTOS的一些经验教训和诀窍。

选择OTA测试硬件

a:FreeRTOS 目前支持多种开发板。它支持以下几款:

Texas Instruments 的 SimpleLink Wi-Fi CC3220SF Wireless LaunchPad 开发套件

Microchip Technology 的 PIC32MZ EF Curiosity 开发套件

STMicroelectronics 的 STM32L4 Discovery 套装 IoT 节点

NXP Semiconductors 的 LPC54018 IoT 模块

Espressif Systems 的 ESP32 DEVKITC 开发套件

图1:Texas Instruments 的 CC3220SF-LaunchXL 是一个可以启动 Amazon FreeRTOS OTA Upgrade of the device.

由于多方面原因,本文将重点介绍 SimpleLink Wi-Fi CC3220SF. 首先, CC3220SF 是目前唯一集成了 Wi-Fi 模块的一个微. 虽然其他开发板具有板载 Wi-Fi 模块,但 CC3220SF 通过将与 Wi-Fi 功能集成于单一芯片中的方式,为电路板空间节省并降低能耗.

其次,CC3220SF 外置存储装置能够存储 firmware 映像并在引导过程恢复映像,因此它拥有意味着更为复杂的事实上的安全性能。如果读者能够成功地使用CC3220SF 设置OTA,那么对于其他平台不会存在任何问题.

最后,CC3220SF 是用于演示应用程序支持第一个处理器,因此设计师们可以放心,这个处理器已经对CC3220SF 进行了全面审查.

除了选择合适的地表之外,还需要放弃板载编程器,而采用专业编程器,如 Segger Microcontroller Systems J-link Ultra+ . 高级编程器会减慢速度并提供额外调试功能,如跟踪应用,以了解黑盒子怎么运行。而且,可以用 Tag-connect TC201510 插头把编程机连接到目标版,并用 TC205020 引脚适配来转接TC20500 以便于连接底层电缆.

图3:Tag-connect TC201510 插头 (左边) 是一种适配电缆,它能让你把连接基座最小化。在一起使用 SEGGER JLINK 时,也许还需要转接TC20500 到TC20520 引脚

配置 Amazon_Free_RTos 以实现 OTA 升级

默认情况下,不包括预配置 a:FreeRTos 包中的 OTA 库。在手动配置这些库时,你必须登录 AWSIoT 控制台进入 Amazon_Free_RTos 菜单点击 “Createnew” 按钮开始创建自定义软件包 (见图4).

然后,在进行配置时,只需设置几个项就能启用 OTA 特性其中包括:

选择硬体平台;

在库部分添加“ota_upgrader”库;

为此版本命名;

完成这个任务后,你就能够下载你的个人定制软件包,然后通过代码调试工具 import aws_demos 示例代码。一旦导入 aws_demos 示例,就要执行一些任务首先,是根据 a-Free_RTos 入门指南修改终端、证书以及秘钥接着按照原样运行 aws_demos 应用来确认已经连上了 AWS 再做进一步操作.

然后,把 ota 演示非常简单找到位于模块末尾 DEMO_RUNNER_RunDemos 函数取消注释 vStartMQTTEchoDemo 调用并取消注释 vStartOTAUpdateDemoTask 调用然后进行快速编译以构建项目即可执行该项目

最后,对于嵌入式软件工程师来说,要想顺利运行 ota 示例,最重要的是确保云端准备好。你必须遵循 ota 先决条件指南,并按照以下步骤进行:

创建 S3 存储桶;

授权给你的账户访问权限;

创建服务角色;

创建用户策略;

这就是现在我们知道了 amazon free rtos 如何帮助我们提高我们的iot 设备更新能力。

上一篇:工业用烟雾净化器清新之风的引领者
下一篇:人善之交Z0OZO0D0G人善的故事