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