原創:Jacob Beningo@DigiKey得捷電子
随着與物聯網 (IoT) 連接配接的裝置越來越普遍,從零開始的開發人員意識到,這些産品的開發并不像他們所期望的那樣簡單,尤其是在時間緊迫和成本有限的情況下。從選擇一個可信的、安全的、支援良好的開發環境到選擇相容的軟體和硬體,事實證明,設計和建構一個物聯網裝置仍然需要廣泛的技能。
開發人員越來越需要随時獲得安全的解決方案、雲連接配接庫、實時作業系統和相容的軟硬體開發平台,提供随時內建的傳感器,所有這些都在一個可擴充的包中。
本文讨論了物聯網設計人員如何使用 STMicroelectronics B-L4S5I-IOT01A 物聯網節點 Discovery 套件快速制作産品原型。它讨論了闆載微控制器的性能,豐富的傳感器和配置選項,以及如何連接配接到 Amazon Web Services (AWS) 并迅速開始建構原型和最終産品。
B-L4S5I-IOT01A 物聯網節點 Discovery 套件簡介
B-L4S5I-IOT01A Discovery 開發闆是一款一站式的開發闆,可用于制作幾乎所有嵌入式物聯網裝置的原型(圖 1)。該闆有足夠的處理能力、傳感器和可擴充性,使任何嵌入式開發人員能夠建構夢寐以求的應用。B-L4S5I-IOT01A 闆基于 低功耗 Arm® Cortex®-M4 處理器,運作速度為 120 兆赫 (MHz),由 2 兆位元組(Mbytes) 的程式閃存和 640 千位元組 (KB) 的 SRAM 支援。STM32L4S5VIT6 還具有非常适合物聯網應用的特性,如:
- 一個浮點單元 (FPU)
- 一個 14 通道的動态記憶體通路 (DMA) 控制器
- 一個 AES 和 HASH 加密的硬體加速器
- 先進的圖形功能
- ULPMark CP 能源基準得分為 233
圖檔來源:STMicroelectronics
圖 1:B-L4S5I-IOT01A基于 Arm Cortex-M4 處理器,運作頻率高達 120 MHz,擁有 2 Mbytes 的閃存,640 KB 的 RAM,無線連接配接和多個傳感器。
僅僅是處理能力和能源效率并不能成為一個優秀的快速原型平台。該開發闆還配備了無線連接配接,形式為 的 802.11b/g/n 相容 Wi-Fi 子產品 () 和 STMicroelectronics的 Bluetooth 4.1 子產品,以及一系列傳感器。包括兩個 數字全向麥克風、一個 相對濕度和溫度的電容式數字傳感器,以及一個 高性能三軸磁強計。
上面的清單絕不是全面的:更詳細的描述可以在以下鏈接找到。接下來,重要的是檢查可用來加速開發的軟體工具和堆棧。
于物聯網節點的 B-L4S5I-IOT01A Discovery 套件: https://www.digikey.cn/zh/product-highlight/s/stmicroelectronics/b-l4s5i-iot01a-discovery-kit-for-iot-node?utm_medium=social&utm_source=wechat&utm_campaign=wechatsocial
STM32 的生态系統
圍繞任何開發闆的生态系統決定了一個團隊是否能快速制作原型。例如,要用B-L4S5I-IOT01A 制作物聯網裝置的原型,開發人員需要獲得一個編譯器、一個內建開發環境 (IDE)、驅動程式庫、配置工具和固件更新軟體。B-L4S5I-IOT01A Discovery 闆支援所有這些需求。
許多開發人員使用 Eclipse 和 GNU C 編譯器作為他們的開發環境。STMicroelectronics 提供了一個免費的工具 (圖 2),允許開發人員編寫和建構他們的軟體項目。STM32CubeIDE 能夠通過不同的視角通路軟體開發環境、微控制器配置工具和調試環境。
圖檔來源:Beningo Embedded Group
圖 2:STM32CubeIDE 為開發者提供了一個 IDE,用于建立、配置和管理物聯網裝置的嵌入式軟體。
STM32CubeIDE 不僅提供了一種建立、建構和管理軟體項目的方法,它還擁有一個 STM32CubeMx 接口。STM32CubeMx 是一款微控制器配置工具,使開發者能夠配置時鐘樹、外設、傳感器和中間件。開發人員配置他們的設定,然後工具鍊生成驅動程式和配置檔案,大大減少了開發時間,幫助開發人員專注于他們的應用程式代碼,而不是标準基礎設施代碼。
除了配置和部署代碼庫之外,STM32 生态系統還為在前沿工作的開發人員提供了一些有用的工具。例如,希望在應用中利用機器學習的開發人員可以利用 擴充 X-CUBE-AI,它為團隊提供了一個簡化的架構,用于在 STM32 上轉換、驗證和運作推理。例如,開發人員可以使用 TensorFlow Lite 訓練一個模型,然後在短短幾分鐘内将該模型轉換為 C 代碼,在微控制器上運作。此外,還有一些擴充包,其中有随時可以運作的軟體,包括。
- 用于面部識别應用的
- 用于狀态監測應用的
- 用于圖像分類應用的
- 用于音頻和場景分類應用的
每個物聯網裝置都應該考慮安全問題,即使是在快速原型設計階段。今天的網絡充斥着不間斷的攻擊、安全漏洞以及對商業和客戶資料的利用。是以,任何快速原型開發平台都應該有能力有效地擴充到一個生産系統。該開發闆可以利用 STMicroelectronics 的 (Secure Boot Secure Firmware Update, SBSFU) 軟體棧,為開發者提供這種能力。SBSFU 可在X-CUBE-SBSFU 功能包中使用,它提供了:
- 信任根 (RoT) 服務
- 安全鑰匙管理服務
- 加密方案
- 安全的固件更新服務
圍繞 B-L4S5I-IOT01A Discovery 闆的生态系統非常豐富,有許多可用的功能包和工具,可以幫助開發者快速入門。許多物聯網開發人員對 軟體包感興趣,該軟體包提供了使用 AWS 時連接配接到雲的一切必要條件。讓我們研究一下開發者如何去做這件事。
連接配接到雲
要開始使用雲,開發人員需要下載下傳 X-CUBE-AWS。該軟體包以壓縮檔案的形式出現,其中有幾個設計用于在 B-L4S5I-IOT01A 上運作的項目,如:
- Bootloader_KMS
- Bootloader_STSAFE
- Cloud
這些項目位于:
Projects/B-L4S5I-IOT01A/Applications/
AWS 雲項目位于:
Cloud/aws_demos
該雲項目可用于 STM32Cube IDE、Keil和 IAR。當然,開發者可以将這些東西移植到其他 IDE 上,但這三個是業内常用的。
開發者不需要想辦法讓項目獨立運作起來。有幾個有價值的檔案可以幫助他們快速入門。首先,在主項目目錄中,有一個 Release_Notes.html 檔案。這個檔案包含了關于項目的一般資訊以及局限性和有價值的參考資料。
接下來,有一個入門指南,介紹了如何使用該項目連接配接到 AWS。本檔案描述了如何連接配接到 AWS 以及棧和軟體資訊(圖 3)。該檔案還較長的描述了軟體棧,這可以幫助開發人員了解它是如何組織的,以及将裝置連接配接到雲端所需的變化。
入門指南: https://www.st.com/content/st_com/en/search.html#q=UM2178%20-t=resources-page=1
圖檔來源:STMicroelectronics
圖 3:X-CUBE-AWS 提供了連接配接到 AWS 和開發能夠連接配接到 AWS 的物聯網裝置所需的固件和應用執行個體。
連接配接到雲端的最簡單方法是運作入門檔案并按照教程進行操作。除了該教程外,還有幾個額外的參考資料,開發者可以用來加快軟體包的使用,包括:
- FreeRTOS 接下來的步驟 (https://docs.aws.amazon.com/freertos/latest/userguide/freertos-next-steps.html?utm_medium=social&utm_source=wechat&utm_campaign=wechatsocial)
- OTA 更新使用者指南 (https://docs.aws.amazon.com/freertos/latest/userguide/ota-demo.html?utm_medium=social&utm_source=wechat&utm_campaign=wechatsocial)
- 設定物聯網核心賬戶和憑證 (https://docs.aws.amazon.com/freertos/latest/userguide/freertos-getting-started.html?utm_medium=social&utm_source=wechat&utm_campaign=wechatsocial)
在這些檔案之間,開發人員可以快速啟動和運作一個雲應用程式,作為他們自己物聯網裝置應用程式的基礎。
使用B-L4S5I-IOT01A Discovery 闆的技巧和竅門
B-L4S5I-IOT01A Discovery 闆有許多特性和功能,開發者可以利用這些特性和功能來快速建立其嵌入式産品的原型。以下是開發人員應牢記的幾個“技巧和竅門”,可以簡化和加快他們的開發,例如:
- 充分利用 X-CUBE-AWS 的優勢,輕松連接配接到 AWS。軟體包中的 FreeRTOS 已經被移植到開發闆上;開發人員隻需要配置裝置以連接配接到雲端。
- 仔細閱讀入門檔案。該檔案包含執行固件更新和連接配接到 AWS 的必要步驟。
- 試驗一下例子中的空中 (OTA) 更新能力。為現場的物聯網裝置打更新檔和更新是一個關鍵的需求。開發人員應了解安全固件更新的能力和任何限制。
- 通過利用 STMicroelectronics 的功能包,避免從頭開始,這些功能包可以幫助開發人員在能力和裝置功能方面有一個快速的起步。這些功能包可以極大地加速開發。
- 花點時間通讀 STSAFE 檔案,了解安全元素如何提高裝置的安全性。安全性必須從一開始就融入于裝置中,是以在快速原型開發階段做好安全性是必須的。
遵循這些“技巧和竅門”的開發者會發現,他們在對應用進行原型開發時可以節省不少時間和麻煩。
結語
從零開始開發物聯網連接配接裝置仍有許多障礙和陷阱,可能會拖延時間表并導緻成本超支。為了避免這些問題,開發人員可以利用 B-L4S5I-IOT01A Discovery 闆來快速建立其物聯網應用的原型。STMicroelectronics的軟體棧、擴充包和生态系統為開發者提供了一站式服務,可以輕松地內建軟體并加速實施。B-L4S5I-IOT01A也完全能夠滿足現代裝置的需求,如雲連接配接、通過 OTA 獲得安全啟動固件,甚至運作基本的機器學習應用。