傳統的嵌入式系統開發人員一般使用不聯網的設備在裸機上工作,但 IoT 卻要求系統連接到因特網。這就要求嵌入式系統開發人員了解如何連接其設備和使用較高級別的操作系統,如實時操作系統 (RTOS)。
有了 Amazon FreeRTOS,開發人員不需要從頭開始和進行面面俱到地學習,即可以將嵌入式系統安全地連接到因特網。該系統能夠讓開發人員以安全的方式將設備快速簡單地連接到 Amazon Web Services (AWS),從而簡化其開發工作。本文將討論并演示如何使用 Amazon FreeRTOS。
Amazon FreeRTOS 簡介
Amazon FreeRTOS 是一種以開源 FreeRTOS 內核為核心的 RTOS,配備有附加組件,以實現本地和云連接、安全保護以及無線 (OTA) 更新。FreeRTOS 內核是已經存在十年以上的知名 RTOS,能提供下列有用的功能:
基于優先級的任務調度
互斥器
消息隊列
另外,FreeRTOS 免費提供,擁有 MIT 軟件許可。
讓 Amazon FreeRTOS 獨樹一幟并能吸引嵌入式軟件開發人員的原因是,它向 FreeRTOS 增加了連接庫和安全性。然后將所有功能結合到一個單一聚合框架中,使開發人員能夠以安全方式將其設備立刻連接到云服務,開箱即用。
選擇 Amazon FreeRTOS 硬件
FreeRTOS 內核本身依賴幾十個不同的微控制器架構才能工作。Amazon FreeRTOS 現已通過 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)
這些開發套件全部都進行了充分的 Amazon FreeRTOS 測試,但開發人員也可以選擇自己偏好的芯片供應商。例如,值得注意的是,Amazon FreeRTOS 還支持 OTA,但這種支持目前只在 Texas Instruments CC3220SF-LaunchXL(圖 2)的公測版中提供。此開發板基于 Arm? Cortex?-M4 微控制器,并且具有板載溫度傳感器、加速計、三個 LED 指示燈和可編程用戶按鈕。該模塊提供了一個可以啟動 Amazon FreeRTOS 的全集成解決方案。
未來,OTA 毫無疑問也會支持其它開發板,但如果當前該功能是關鍵設計特性,那就要從 Texas Instruments 解決方案開始著手。
圖 2:Texas Instruments 的 CC3220SF-LaunchXL 是一個可以啟動 Amazon FreeRTOS 的全集成解決方案。它還支持 Amazon FreeRTOS OTA 測試版演示示例。(圖片來源:Texas Instruments)
大多數開發套件是單模塊套件,屬于單板解決方案。不過,Microchip Curiosity 開發套件要求開發人員購買其它模塊,如以太網、Wi-Fi 模塊和 USB 到 UART 轉換器。
該開發板基于 PIC32 微控制器,但為了獲得可與 Amazon FreeRTOS 一起使用的全功能開發板,開發人員還需要購買其它組件。能夠獲得全功能 Amazon FreeRTOS 的最佳實例組件是 MikroElektronika 的 MIKROE 擴展模塊:
MIKROE-2046 Wi-Fi 模塊
MIKROE USB 到 UART 子板
Microchip LAN8720 子板
之后,完成組裝的開發板將如圖 3 所示。此時開發人員即已準備就緒,可以運行 Amazon RTOS 示例應用。
圖 3:Microchip Technology 的 PIC32MZEF Curiosity 開發套件提供模塊化設計,便于開發人員通過其開發套件定制其應用需要的組件。所示的圖片還包含 MIKROE Wi-Fi 以及 MIKROE USB 到 UART 子板。(圖片來源:Microchip Technology)
將 Amazon FreeRTOS 連接到云
在上一節討論的任何開發套件上啟動并運行 Amazon FreeRTOS 都比較簡單。每個開發板都有演示,隨時可以按照有關演示的逐步說明來運行演示。例如,Microchip 開發板的說明位于以下鏈接中:https://docs.aws.amazon.com/freertos/latest/userguide/getting_started_mch.html。
首先,找到該開發套件的相應入門指南。
接下來,安裝硬件。對于大多數開發套件,硬件是全包含的,但如果選擇了 Microchip 解決方案,則需要將每個模塊板添加到 Curiosity 板上,并且還需要連接一個外部編程工具,如 ICD4。
圖 4:已組裝并連接到 ICD4 編程工具的 PIC32MZEF Curiosity 開發套件。此設置使用有線以太網連接來運行演示。(圖片來源:Amazon)
硬件安裝完成后,下一步便是安裝編譯 Amazon FreeRTOS 示例的開發環境。例如,使用 Microchip 的開發人員應下載 MPLAB X 以及 XC32 編譯器。
要想能夠訪問 Amazon FreeRTOS 示例,注冊 AWS 并訪問其控制臺。AWS 提供 12 個月的免費試用套餐,以便開發人員可以訪問 AWS、Amazon FreeRTOS 和對開發連接設備有幫助的其它功能。單擊此處可以完成帳戶注冊。一旦帳戶創建完畢,即可訪問 Amazon FreeRTOS 頁面,該頁面會提供 Amazon FreeRTOS 的軟件配置列表。這些配置包括每個開發套件的源文件以及 Amazon FreeRTOS 仿真器。下載與開發套件匹配的預定義配置,并將其導入開發環境中。例如,相應的 Curiosity 板應使用針對 Curiosity PIC32MZEF 的預定義“Connect to AWS IoT – Microchip” 配置。
圖 5:Amazon FreeRTOS 軟件配置頁面擁有多個適合不同開發套件和不同應用的預定義軟件配置。使用這些預定義配置將演示應用連接到 AWS,然后即可迅速啟動開發。(圖片來源:Amazon)
Amazon FreeRTOS 下載完成后,開發人員應返回其 AWS 控制臺并單擊設置按鈕。設置時,開發人員將發現自己被分配了一個 IoT 端點,如:
<1234567890123>.iot.
這個編號很重要,可以使 IoT 設備連接到 AWS。隨后,開發人員可以在示例項目中找到 aws_clientcredential.h 并設置下列屬性:
clientcredentialMQTT_BROKER_ENDPOINT
clientcredentialIOT_THING_NAME
clientcredentialWIFI_SSID
clientcredentialWIFI_PASSWORD
clientcredentialWIFI_SECURITY
此時,開發人員只需要配置自己的設備密鑰。而為了生成密鑰,需轉至 AWS 控制臺并選擇 Secure(安全)-> Certificates(證書)。此外,也可以使用快速創建證書的選項。單擊此選項將生成與圖 6 所示類似的證書。為嵌入式設備生成密鑰文件需要這個私人密鑰和證書。
圖 6:創建證書和密鑰需要開發人員在 AWS 中創建自己的證書。這樣生成的三個文件分別為證書、公共密鑰和私人密鑰。(圖片來源:Amazon)
密鑰生成器位于:
在瀏覽器中加載 html 文件會出現一個與圖 7 所示類似的界面。
通過使用 AWS 控制臺生成的證書和私人密鑰文件,開發人員可以生成自己的 aws_clientcredential_key.h 配置文件。一旦完成此操作,則編譯項目并將軟件部署到嵌入式目標中。
圖 7:AWS 中生成的證書和私人密鑰可用于創建密鑰配置模塊,該模塊將加載到微控制器并用于創建到 AWS 的安全連接。(圖片來源:Amazon)
開發人員剩下的最后一個步驟是訂閱其設備的 MQTT 消息。此操作可以通過在 AWS 中轉至測試菜單,然后訂閱 freertos/demos/echo 來完成
這個時候,開發人員應看到安全到達其 AWS 的 MQTT 消息。
Amazon FreeRTOS 的使用技巧與訣竅
啟動并運轉 FreeRTOS 甚至對一個入門級的工程師來說都是非常簡單的。盡管它易于使用,但是開發人員在開始使用時還是應記住幾個技巧和訣竅。具體包括:
在設計階段,通過查看下面的網頁評估使用 AWS 產生的相關費用:https://aws.amazon.com/iot-device-management/pricing/
在開發階段,利用 AWS 的 12 個月免費試用期設置和配置嵌入式產品。
從預配置示例開始著手,而不是試著從頭開始配置。
如果可能,訂購一個專門與 Amazon FreeRTOS 配套使用的完全組裝好的開箱即用型開發套件。
不要忘記 FreeRTOS 是開源 RTOS,未經過安全認證。
花時間觀看 AWS 的 10 分鐘教程,為有效使用 AWS 提供一個良好的基礎。
考慮使用 Amazon FreeRTOS 的內置無線 (OTA) 更新功能 (https://docs.aws.amazon.com/freertos/latest/userguide/freertos-ota-dev.html)。
總結
Amazon FreeRTOS 內置的功能可以為嵌入式開發人員提供一種將其系統輕松連接到因特網的方法。雖然 Amazon FreeRTOS 本身是免費的,但開發人員可以先購買一個低廉的開發套件并在了解現有示例之后再確定 Amazon FreeRTOS 能否滿足其設計要求,如此便可輕松入門。
-
FreeRTOS
+關注
關注
12文章
484瀏覽量
62172
發布評論請先 登錄
相關推薦
評論