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:FreeRTOST 目前支持多種開發板。他們支持的一些開發套件包括:
Texas Instruments 的 SimpleLink Wi-Fi CC3220SF-Wireless LaunchPad 開發套件、
Microchip Technology 的 PIC32MZEFCuriosity 開發套機、
STMicroelectronics 的 STM32L4Discovery 套裝 IoT 节点、
NXP Semiconductors 的 LPC54018 IoT 模块。
Espressif Systems 的 ESP32-DEVKITC 開發套機
選擇硬體平台後,可以使用 JTAG 或 SWD 接口進行設置。此外,這些平台上的微控制器也應該具備足夠的大量隨存儲容量,用於儲存大型應用程序。在某些情況下,如果微控制器不具有足夠的大量隨存儲容量,那麼可能需要額外添加一個小型Flash記憶卡,以增加儲存能力。
設定 AmazonFreeRTOS 以實現 OTA 升級
要開始使用 AmazonFreeRTOS 需要先安裝並配置它。你可以從官方網站下載它,並按照指南進行設置。一旦你安裝了它,你就可以開始創建你的第一个項目了。你會需要編寫一些代碼來初始化你的 microcontroller,并讓它與雲端溝通。一旦你完成了這一切,你就能開始測試你的項目了。如果一切正常,它應該會成功地與雲端溝通,並允許你遙控您的 microcontroller 行為。
總結一下,本文介紹了一個簡單但有效的情景,其中我們展示了一個如何使用 AmazonFreeRTOS 在無線傳感器上執行遠端軟體更新。我們還討論了一些挑戰,以及我們如何克服這些挑戰。我希望這篇文章能夠幫助其他人了解他們自己的項目中的類似問題,以及他們可以採取什麼步驟來解決這些問題。