為了在物聯(lián)網市場取得成功,OEM 需要能夠以更快的速度擁抱創(chuàng)新。
然而,為物聯(lián)網邊緣構建強大的產品并非易事。隨著物聯(lián)網世界中越來越多的事物連接到互聯(lián)網,對聯(lián)網設備的需求不僅可以連接到云,還可以在邊緣處理復雜的計算。
OEM 不斷尋找新的、更有用的方法來利用傳感器的功能、監(jiān)控數(shù)據類型、處理信息、連接到云以及控制設備的生態(tài)系統(tǒng)。物聯(lián)網應用的可能范圍是無窮無盡的,從家庭、汽車、可穿戴設備、工業(yè)到智能城市。
MCU 和連接設備是這些基于物聯(lián)網的產品的核心。為了幫助物聯(lián)網設計師設計獨特、高效、安全和美觀的設備,芯片制造商正在集成更多功能和外圍設備,同時通過機器學習和人工智能等高級功能增強可用處理能力。這些嵌入式計算和無線設備必須無縫協(xié)同工作以降低設計復雜性。
通過隱藏或抽象復雜性并為物聯(lián)網設計人員開發(fā)應用程序提供簡單、安全和直觀的平臺的現(xiàn)代軟件套件,使這種復雜性最小化的關鍵部分成為可能。這些專門設計的軟件環(huán)境處理硬件配置,并允許跨多個設備、各種平臺和網絡輕松連接,以創(chuàng)建一個通信網絡,從而徹底改變我們在這個數(shù)字世界中智能交互的方式。
本文將詳細探討這些挑戰(zhàn),并解釋直觀的軟件環(huán)境如何與優(yōu)化的物聯(lián)網硬件相得益彰,以提供完整強大的安全平臺,以更快的速度開發(fā)智能物聯(lián)網解決方案。作為說明,我們將以低功耗物聯(lián)網設備為例,使用 MQTT 協(xié)議安全連接到云端。
設計嵌入式物聯(lián)網系統(tǒng)的挑戰(zhàn)
讓我們首先了解設計物聯(lián)網應用程序的挑戰(zhàn),然后探索現(xiàn)代軟件如何幫助物聯(lián)網設計師克服這些挑戰(zhàn)。
上市時間
每年連接到 Internet 的設備數(shù)量都在以指數(shù)速度增長。為了跟上競爭,上市時間是關鍵。但是,軟件對開發(fā)時間和成本有重大影響。選擇正確的軟件和工具可以簡單地加快開發(fā)速度,從而顯著縮短生產時間。由于構建現(xiàn)實世界的物聯(lián)網應用程序涉及大量協(xié)議,該軟件還需要處理各種協(xié)議的底層復雜性,以幫助應用程序在物聯(lián)網世界中無縫交互。為了防止這些協(xié)議和不斷變化成為設計人員資源的消耗,軟件需要將應用程序與硬件變化隔離開來。
使用方便
為了支持物聯(lián)網應用的復雜計算需求,MCU 變得更加復雜,以提供更多的處理能力、安全性和智能邏輯。他們還必須提供許多外圍設備來支持額外的功能,如音頻、與外部存儲器的接口、電機控制等。除此之外,MCU 還具有管理無線系統(tǒng)的額外任務。同時支持嵌入式和無線系統(tǒng)的軟件工具可以節(jié)省大量的開發(fā)時間并增強用戶友好性。這些工具面臨的最大挑戰(zhàn)不僅在于隱藏硬件復雜性,還在于提供易于使用、基于 GUI 的開發(fā)平臺。為達到這個,
開發(fā)平臺
IoT 開發(fā)工具 - 構建 IoT 應用程序需要完整的軟件開發(fā)套件。這些軟件工具包括集成開發(fā)環(huán)境 (IDE)、命令行界面 (CLI)、軟件開發(fā)工具包 (SDK) 以及為物聯(lián)網開發(fā)人員量身定制的庫或 API。這些軟件開發(fā)工具可以在物聯(lián)網開發(fā)平臺之上使用或與它們結合使用。簡單直觀的開發(fā)平臺通過提供完全使用供應商的 IDE 和工具進行開發(fā)的選項或在您選擇的任何其他 IDE(如 IAR Embedded Workbench、Arm 微控制器開發(fā)套件和 Microsoft Visual Studio Code)上開發(fā)應用程序,為物聯(lián)網開發(fā)人員提供了靈活性使用供應商提供的工具。
操作系統(tǒng)的選擇——物聯(lián)網包括從小型傳感器到機器人等復雜系統(tǒng)的各種設備。為物聯(lián)網系統(tǒng)選擇操作環(huán)境是影響固件開發(fā)方法的關鍵任務之一。物聯(lián)網操作系統(tǒng)的重要要求包括優(yōu)化內存占用、能源效率、集成安全性、連接功能、硬件無關操作和實時處理能力。物聯(lián)網操作環(huán)境從裸機到嵌入式操作系統(tǒng),再到滿足物聯(lián)網應用不同需求的全功能操作系統(tǒng)。嵌入式物聯(lián)網應用程序的開發(fā)平臺有多種選擇,包括 Mbed OS 和 Amazon FreeRTOS,僅舉兩例。除了這些平臺,嵌入式和連接設備供應商有時會提供額外的庫來支持定制的物聯(lián)網功能。這些庫/平臺補充了開發(fā)操作系統(tǒng),以在直觀的物聯(lián)網開發(fā)環(huán)境中提供嵌入式和無線功能。設備供應商提供的功能豐富的庫與基于應用程序選擇的操作系統(tǒng)的無縫組合為物聯(lián)網開發(fā)人員提供了一個全面的物聯(lián)網解決方案開發(fā)平臺。
能夠連接到您選擇的云
隨著更多嵌入式設備的連接,有許多可用的云服務。任何計劃開發(fā)現(xiàn)實世界物聯(lián)網應用程序的人都可以為各種任務挑選云服務組合。因此,嵌入式軟件必須高度靈活,以支持各種云服務(AWS、Azure、AliOS等)和平臺。該軟件必須讓開發(fā)人員按照自己的方式設計系統(tǒng),而不是將其限制在某些選項中。獨立于硬件的軟件架構是解決此問題的關鍵,提供此功能的軟件生態(tài)系統(tǒng)為用戶提供了極大的靈活性。
安全性:不可協(xié)商的元素
一旦連接了設備,就會引入被黑客入侵的可能性。因此,物聯(lián)網設備的安全性是不可協(xié)商的因素,無論設備是個人可穿戴設備還是聯(lián)網汽車。所有級別都需要數(shù)據保護,包括存儲、處理和通信期間,以確保系統(tǒng)可靠性。為物聯(lián)網應用程序設計的硬件需要具備開發(fā)安全和安全應用程序的所有元素。除了硬件安全之外,軟件還需要補充這些硬件安全元素。還需要以與應用程序的處理和成本要求相匹配的方式集成安全性。
應對嵌入式物聯(lián)網系統(tǒng)中的挑戰(zhàn)
讓我們以基于 MQTT 的低功耗嵌入式 IoT 應用程序為例,更深入地討論上述概念。MQTT 是嵌入式系統(tǒng)用于連接物聯(lián)網世界的流行通信協(xié)議。在典型的物聯(lián)網系統(tǒng)中,嵌入式設備收集各種傳感器數(shù)據,對其進行處理,并使用 MQTT 協(xié)議將信息傳送到遠程云系統(tǒng)。
要構建這樣的應用程序,您將需要一個專為物聯(lián)網應用程序設計的超低功耗微控制器(例如PSoC 6 MCU)和一個低功耗無線連接設備(例如CYW43012 Wi-Fi/BT 組合設備)。為了進行高效開發(fā),需要一個能夠同時開發(fā)和調試這些嵌入式和無線設備的軟件平臺,例如 ModusToolbox。模式工具箱是一個完整的嵌入式和物聯(lián)網應用開發(fā)系統(tǒng)。圖 2 概述了 ModusToolbox。它為物聯(lián)網開發(fā)人員提供基于 GUI 的工具、固件、中間件、API 和文檔。借助 GitHub 中提供的板級支持包 (BSP)、中間件庫和模板應用程序,開發(fā)人員可以直接訪問他們需要的資源。此外,在 ModusToolbox 中創(chuàng)建的項目可以導出到其他 IDE,例如 IAR Embedded Workbench、Arm 微控制器開發(fā)套件和 Microsoft Visual Studio Code??梢栽谶@些環(huán)境中繼續(xù)進行進一步的開發(fā),同時在用戶首選的編譯器工具鏈(如 GCC、ARM、IAR)的幫助下構建項目,如圖 2 中的白框突出顯示的那樣。

(圖 2. ModusToolbox - 高級概述)
ModusToolbox 提供了一系列稱為AnyCloud 解決方案的軟件庫,用于快速開發(fā) Wi-Fi 和藍牙應用程序(參見圖 3)。USB 和 CapSense 等紫色塊代表 MCU 庫。MQTT 和 Low Power Assistant (LPA) 等綠色塊是連接庫。這些 MCU 和連接庫無縫集成以實現(xiàn)安全的物聯(lián)網應用程序開發(fā)。

(圖 3. AnyCloud 軟件堆棧)
對于 MQTT 應用,AnyCloud 提供單一軟件環(huán)境,隱藏各種復雜性,例如處理網絡連接、IP 地址更改等的 Wi-Fi 連接管理;網絡套接字創(chuàng)建;傳輸層安全 (TLS) 等等。它為用戶提供了根據自己的風格開發(fā)應用程序的靈活性。要開發(fā)基于 MQTT 的物聯(lián)網系統(tǒng),物聯(lián)網設計人員可以從現(xiàn)有的 MQTT 應用程序開始,該應用程序可作為 Project Creator GUI 工具中所需設備的模板應用程序的一部分(參見圖 4)。

(圖 4. 使用模板應用程序創(chuàng)建 IoT 項目)
擁有現(xiàn)有項目并需要將 MQTT 添加到其應用程序的 IoT 開發(fā)人員可以使用 Library Manager 來執(zhí)行此操作。庫管理器管理和導入應用程序使用的庫,并處理所選庫所具有的依賴關系。它還遞歸地導入頂級應用程序所需的所有庫。對于這個低功耗物聯(lián)網項目,物聯(lián)網設計人員將啟用“mqtt”庫,庫管理器會自動引入所有依賴項,如下圖 5 所示。

(圖 5. 將 MQTT 功能添加到現(xiàn)有項目)
導入 MQTT 包后,IoT 設計人員可以使用 MQTT 模板應用程序和 MQTT 庫提供的非常詳細的 README 文件來獲取更多信息以啟動應用程序開發(fā)。圖 6 顯示了各個 README 文件的一部分,這些文件可幫助物聯(lián)網設計人員開始并按照他們想要的開發(fā)流程運行他們的應用程序。

(圖 6. 用于快速啟動 IoT 軟件的詳細自述文件)
一旦 MQTT 實施,物聯(lián)網開發(fā)人員的主要關注點通常是低功耗。節(jié)能物聯(lián)網系統(tǒng)的一個關鍵特征是“卸載”。主機卸載使主機 PSoC 6 MCU 能夠長時間進入深度睡眠,同時無線設備代表 MCU 主機處理諸如 ARP 請求、TCP ?;畹热蝿?。主機卸載在優(yōu)化主機功耗方面發(fā)揮著關鍵作用。 此外,這些卸載可以釋放主機 CPU 以執(zhí)行其他更強大的任務,例如音頻或傳感器數(shù)據處理。這反過來又提高了整個系統(tǒng)的效率和功率。在現(xiàn)實世界的物聯(lián)網系統(tǒng)中配置這些卸載將是一項復雜的任務。借助集成了 MCU 和無線設計的工具環(huán)境,可以減少開發(fā)時間和工作量。
例如,ModusToolbox 附帶的“低功耗助手”(LPA) 配置器工具使開發(fā)人員能夠通過啟用復選框并選擇必要的配置來配置低功耗卸載,如圖 7 所示。該工具會根據應用程序的這些配置設置自動生成源代碼。

(圖 7. 低功耗助手 (LPA) 工具)
此外,需要編寫大量代碼才能為 MCU 配置各種引腳、外設和時鐘。配置器提供了一種使用 GUI 執(zhí)行此類任務的簡單方法,從而消除了開發(fā)人員手動編寫這些任務的時間。配置器還可以幫助進行各種 MCU 相關設置,例如 GPIO 引腳設置、外設配置、模擬路由、系統(tǒng)設置、時鐘樹設置和 DMA 路由。圖 8 顯示了其中一些配置器:GPIO 引腳配置、外設配置和時鐘設置。項目創(chuàng)建者、庫管理器、USB 配置器、設備固件更新主機、藍牙配置器和分段 LCD 配置器等工具也顯著減少了物聯(lián)網開發(fā)人員的開發(fā)時間和工作量。

(圖 8. (a) 引腳配置器 GUI 工具)

(圖 8. (b) 外設配置器 GUI 工具)

(圖 8. (c) 系統(tǒng)時鐘配置器 GUI 工具)
一些應用程序在開發(fā)中需要更大的靈活性來自定義設置。需要時,可以使用手動編碼覆蓋 GUI 工具所做的配置。此外,更靈活的開發(fā)平臺提供了可以與許多第三方 IDE 集成的構建系統(tǒng),高級用戶也可以使用 CLI 工具。擁有如此強大而靈活的開發(fā)平臺可以加快生產時間并大大提高效率。
隨著許多云服務和平臺的出現(xiàn),OEM 需要靈活并能夠快速適應創(chuàng)新。靈活性的一個關鍵要素是使用能夠適應各種物聯(lián)網平臺并支持廣泛生態(tài)系統(tǒng)的開發(fā)工具進行設計。在本文中,我們探討了設計物聯(lián)網系統(tǒng)的最重要挑戰(zhàn),以及軟件工具如何通過隱藏物聯(lián)網架構所需的底層復雜性來簡化設計復雜性。這些軟件平臺還為高級開發(fā)人員提供了定制物聯(lián)網系統(tǒng)大部分設計方面的靈活性。這是通過在硬件和軟件堆棧中主動和無縫集成嵌入式和連接設備來實現(xiàn)的。MCU 和無線設備的這種集成是緊湊型。
作者:Jaya Kathuria Bindra,Shriram M
審核編輯:郭婷
-
mcu
+關注
關注
147文章
19015瀏覽量
400472 -
嵌入式
+關注
關注
5202文章
20540瀏覽量
335635 -
物聯(lián)網
+關注
關注
2948文章
47954瀏覽量
416573
發(fā)布評論請先 登錄
嵌入式軟件開發(fā)工具市場新動向:訂閱制趨勢下的中國開發(fā)者選擇
簡化嵌入式物聯(lián)網應用程序的軟件開發(fā)
評論