傳統(tǒng)的嵌入式系統(tǒng)開發(fā)人員一般使用不聯(lián)網(wǎng)的設備在裸機上工作,但 IoT 卻要求系統(tǒng)連接到因特網(wǎng)。這就要求嵌入式系統(tǒng)開發(fā)人員了解如何連接其設備和使用較高級別的操作系統(tǒng),如實時操作系統(tǒng) (RTOS)。
有了 Amazon FreeRTOS,開發(fā)人員不需要從頭開始和進行面面俱到地學習,即可以將嵌入式系統(tǒng)安全地連接到因特網(wǎng)。該系統(tǒng)能夠讓開發(fā)人員以安全的方式將設備快速簡單地連接到 Amazon Web Services (AWS),從而簡化其開發(fā)工作。本文將討論并演示如何使用 Amazon FreeRTOS。
Amazon FreeRTOS 簡介
Amazon FreeRTOS 是一種以開源 FreeRTOS 內(nèi)核為核心的 RTOS,配備有附加組件,以實現(xiàn)本地和云連接、安全保護以及無線 (OTA) 更新。FreeRTOS 內(nèi)核是已經(jīng)存在十年以上的知名 RTOS,能提供下列有用的功能:
基于優(yōu)先級的任務調(diào)度
互斥器
消息隊列
另外,F(xiàn)reeRTOS 免費提供,擁有 MIT 軟件許可。
讓 Amazon FreeRTOS 獨樹一幟并能吸引嵌入式軟件開發(fā)人員的原因是,它向 FreeRTOS 增加了連接庫和安全性。然后將所有功能結(jié)合到一個單一聚合框架中,使開發(fā)人員能夠以安全方式將其設備立刻連接到云服務,開箱即用。
選擇 Amazon FreeRTOS 硬件
FreeRTOS 內(nèi)核本身依賴幾十個不同的微控制器架構(gòu)才能工作。Amazon FreeRTOS 現(xiàn)已通過 Amazon FreeRTOS Qualification Program 資格認證程序,在四個不同的微控制器供應商硬件平臺上進行了充分測試和集成。具體包括:
圖 1:NXP Semiconductors 的 LPC54018 IoT 模塊基于帶有 128 Mb Macronix MX25L12835 Quad-SPI 閃存的 Arm? Cortex?-M4 180 MHz 微控制器。一個可以快速啟動 Amazon FreeRTOS 的全集成 Wi-Fi 模塊。(圖片來源:NXP Semiconductors)
這些開發(fā)套件全部都進行了充分的 Amazon FreeRTOS 測試,但開發(fā)人員也可以選擇自己偏好的芯片供應商。例如,值得注意的是,Amazon FreeRTOS 還支持 OTA,但這種支持目前只在 Texas Instruments CC3220SF-LaunchXL(圖 2)的公測版中提供。此開發(fā)板基于 Arm? Cortex?-M4 微控制器,并且具有板載溫度傳感器、加速計、三個 LED 指示燈和可編程用戶按鈕。該模塊提供了一個可以啟動 Amazon FreeRTOS 的全集成解決方案。
未來,OTA 毫無疑問也會支持其它開發(fā)板,但如果當前該功能是關鍵設計特性,那就要從 Texas Instruments 解決方案開始著手。
圖 2:Texas Instruments 的 CC3220SF-LaunchXL 是一個可以啟動 Amazon FreeRTOS 的全集成解決方案。它還支持 Amazon FreeRTOS OTA 測試版演示示例。(圖片來源:Texas Instruments)
大多數(shù)開發(fā)套件是單模塊套件,屬于單板解決方案。不過,Microchip Curiosity 開發(fā)套件要求開發(fā)人員購買其它模塊,如以太網(wǎng)、Wi-Fi 模塊和 USB 到 UART 轉(zhuǎn)換器。
該開發(fā)板基于 PIC32 微控制器,但為了獲得可與 Amazon FreeRTOS 一起使用的全功能開發(fā)板,開發(fā)人員還需要購買其它組件。能夠獲得全功能 Amazon FreeRTOS 的最佳實例組件是 MikroElektronika 的 MIKROE 擴展模塊:
MIKROE-2046 Wi-Fi 模塊
MIKROE USB 到 UART 子板
Microchip LAN8720 子板
之后,完成組裝的開發(fā)板將如圖 3 所示。此時開發(fā)人員即已準備就緒,可以運行 Amazon RTOS 示例應用。
圖 3:Microchip Technology 的 PIC32MZEF Curiosity 開發(fā)套件提供模塊化設計,便于開發(fā)人員通過其開發(fā)套件定制其應用需要的組件。所示的圖片還包含 MIKROE Wi-Fi 以及 MIKROE USB 到 UART 子板。(圖片來源:Microchip Technology)
將 Amazon FreeRTOS 連接到云
在上一節(jié)討論的任何開發(fā)套件上啟動并運行 Amazon FreeRTOS 都比較簡單。每個開發(fā)板都有演示,隨時可以按照有關演示的逐步說明來運行演示。例如,Microchip 開發(fā)板的說明位于以下鏈接中:https://docs.aws.amazon.com/freertos/latest/userguide/getting_started_mch.html。
首先,找到該開發(fā)套件的相應入門指南。
接下來,安裝硬件。對于大多數(shù)開發(fā)套件,硬件是全包含的,但如果選擇了 Microchip 解決方案,則需要將每個模塊板添加到 Curiosity 板上,并且還需要連接一個外部編程工具,如 ICD4。
圖 4:已組裝并連接到 ICD4 編程工具的 PIC32MZEF Curiosity 開發(fā)套件。此設置使用有線以太網(wǎng)連接來運行演示。(圖片來源:Amazon)
硬件安裝完成后,下一步便是安裝編譯 Amazon FreeRTOS 示例的開發(fā)環(huán)境。例如,使用 Microchip 的開發(fā)人員應下載 MPLAB X 以及 XC32 編譯器。
要想能夠訪問 Amazon FreeRTOS 示例,注冊 AWS 并訪問其控制臺。AWS 提供 12 個月的免費試用套餐,以便開發(fā)人員可以訪問 AWS、Amazon FreeRTOS 和對開發(fā)連接設備有幫助的其它功能。單擊此處可以完成帳戶注冊。一旦帳戶創(chuàng)建完畢,即可訪問 Amazon FreeRTOS 頁面,該頁面會提供 Amazon FreeRTOS 的軟件配置列表。這些配置包括每個開發(fā)套件的源文件以及 Amazon FreeRTOS 仿真器。下載與開發(fā)套件匹配的預定義配置,并將其導入開發(fā)環(huán)境中。例如,相應的 Curiosity 板應使用針對 Curiosity PIC32MZEF 的預定義“Connect to AWS IoT – Microchip” 配置。

圖 5:Amazon FreeRTOS 軟件配置頁面擁有多個適合不同開發(fā)套件和不同應用的預定義軟件配置。使用這些預定義配置將演示應用連接到 AWS,然后即可迅速啟動開發(fā)。(圖片來源:Amazon)
Amazon FreeRTOS 下載完成后,開發(fā)人員應返回其 AWS 控制臺并單擊設置按鈕。設置時,開發(fā)人員將發(fā)現(xiàn)自己被分配了一個 IoT 端點,如:
<1234567890123>.iot.
這個編號很重要,可以使 IoT 設備連接到 AWS。隨后,開發(fā)人員可以在示例項目中找到 aws_clientcredential.h 并設置下列屬性:
clientcredentialMQTT_BROKER_ENDPOINT
clientcredentialIOT_THING_NAME
clientcredentialWIFI_SSID
clientcredentialWIFI_PASSWORD
clientcredentialWIFI_SECURITY
此時,開發(fā)人員只需要配置自己的設備密鑰。而為了生成密鑰,需轉(zhuǎn)至 AWS 控制臺并選擇 Secure(安全)-> Certificates(證書)。此外,也可以使用快速創(chuàng)建證書的選項。單擊此選項將生成與圖 6 所示類似的證書。為嵌入式設備生成密鑰文件需要這個私人密鑰和證書。

圖 6:創(chuàng)建證書和密鑰需要開發(fā)人員在 AWS 中創(chuàng)建自己的證書。這樣生成的三個文件分別為證書、公共密鑰和私人密鑰。(圖片來源:Amazon)
密鑰生成器位于:
在瀏覽器中加載 html 文件會出現(xiàn)一個與圖 7 所示類似的界面。
通過使用 AWS 控制臺生成的證書和私人密鑰文件,開發(fā)人員可以生成自己的 aws_clientcredential_key.h 配置文件。一旦完成此操作,則編譯項目并將軟件部署到嵌入式目標中。

圖 7:AWS 中生成的證書和私人密鑰可用于創(chuàng)建密鑰配置模塊,該模塊將加載到微控制器并用于創(chuàng)建到 AWS 的安全連接。(圖片來源:Amazon)
開發(fā)人員剩下的最后一個步驟是訂閱其設備的 MQTT 消息。此操作可以通過在 AWS 中轉(zhuǎn)至測試菜單,然后訂閱 freertos/demos/echo 來完成
這個時候,開發(fā)人員應看到安全到達其 AWS 的 MQTT 消息。
Amazon FreeRTOS 的使用技巧與訣竅
啟動并運轉(zhuǎn) FreeRTOS 甚至對一個入門級的工程師來說都是非常簡單的。盡管它易于使用,但是開發(fā)人員在開始使用時還是應記住幾個技巧和訣竅。具體包括:
在設計階段,通過查看下面的網(wǎng)頁評估使用 AWS 產(chǎn)生的相關費用:https://aws.amazon.com/iot-device-management/pricing/
在開發(fā)階段,利用 AWS 的 12 個月免費試用期設置和配置嵌入式產(chǎn)品。
從預配置示例開始著手,而不是試著從頭開始配置。
如果可能,訂購一個專門與 Amazon FreeRTOS 配套使用的完全組裝好的開箱即用型開發(fā)套件。
不要忘記 FreeRTOS 是開源 RTOS,未經(jīng)過安全認證。
花時間觀看 AWS 的 10 分鐘教程,為有效使用 AWS 提供一個良好的基礎。
考慮使用 Amazon FreeRTOS 的內(nèi)置無線 (OTA) 更新功能 (https://docs.aws.amazon.com/freertos/latest/userguide/freertos-ota-dev.html)。
總結(jié)
Amazon FreeRTOS 內(nèi)置的功能可以為嵌入式開發(fā)人員提供一種將其系統(tǒng)輕松連接到因特網(wǎng)的方法。雖然 Amazon FreeRTOS 本身是免費的,但開發(fā)人員可以先購買一個低廉的開發(fā)套件并在了解現(xiàn)有示例之后再確定 Amazon FreeRTOS 能否滿足其設計要求,如此便可輕松入門。
-
FreeRTOS
+關注
關注
14文章
499瀏覽量
66934
發(fā)布評論請先 登錄
Pouch解決方案賦能藍牙設備實現(xiàn)云連接
亞馬遜云科技推出兩項Amazon Lambda新功能 進一步應對復雜應用場景
亞馬遜云科技Amazon S3重磅更新 引領企業(yè)云存儲未來方向
亞馬遜云科技擴展模型選擇 Amazon Bedrock新增18款開放權重模型
亞馬遜云科技Amazon Bedrock AgentCore正式可用,引領Agent走向全面落地
亞馬遜云科技推出Amazon Quick Suite,引領Agentic AI驅(qū)動的工作新范式
亞馬遜云科技在中國區(qū)域推出Amazon Graviton4實例 以自研芯片驅(qū)動企業(yè)算力升級
亞馬遜云科技推出Amazon DocumentDB Serverless,簡化數(shù)據(jù)庫管理并大幅節(jié)省成本
亞馬遜云科技推出Amazon Nova Act SDK預覽版,加速瀏覽器自動化Agent落地
在 MQTT 回調(diào)處理程序中遇到了隨機 MQTT 斷開連接的問題,怎么解決?
怎樣才能安全地按住ctrc +c日志閱讀器然后才能停止并重新啟動日志?
STM32與機智云連接實現(xiàn)步驟與技巧(上篇)
本文討論并演示如何使用 Amazon FreeRTOS 快速、安全地將設計連接到云
評論