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

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

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

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

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

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

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

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

(圖 8. (c) 系統(tǒng)時鐘配置器 GUI 工具)
一些應用程序在開發(fā)中需要更大的靈活性來自定義設置。需要時,可以使用手動編碼覆蓋 GUI 工具所做的配置。此外,更靈活的開發(fā)平臺提供了可以與許多第三方 IDE 集成的構建系統(tǒng),高級用戶也可以使用 CLI 工具。擁有如此強大而靈活的開發(fā)平臺可以加快生產(chǎn)時間并大大提高效率。
隨著許多云服務和平臺的出現(xiàn),OEM 需要靈活并能夠快速適應創(chuàng)新。靈活性的一個關鍵要素是使用能夠適應各種物聯(lián)網(wǎng)平臺并支持廣泛生態(tài)系統(tǒng)的開發(fā)工具進行設計。在本文中,我們探討了設計物聯(lián)網(wǎng)系統(tǒng)的最重要挑戰(zhàn),以及軟件工具如何通過隱藏物聯(lián)網(wǎng)架構所需的底層復雜性來簡化設計復雜性。這些軟件平臺還為高級開發(fā)人員提供了定制物聯(lián)網(wǎng)系統(tǒng)大部分設計方面的靈活性。這是通過在硬件和軟件堆棧中主動和無縫集成嵌入式和連接設備來實現(xiàn)的。MCU 和無線設備的這種集成是緊湊型。
關于作者
Jaya Kathuria Bindra 在英飛凌科技公司擔任高級應用工程師經(jīng)理,負責管理嵌入式應用組和使用 PSoC 和 WiFi/BT 平臺的解決方案開發(fā)。她在半導體行業(yè)擁有 16 年以上的經(jīng)驗。她獲得了班加羅爾 IIM 的 MBA 證書,并擁有 Kurukshetra 大學的電子工程學士學位。
Shriram M 是英飛凌科技公司的應用工程師。他致力于使用英飛凌的 PSoC 和 WiFi/BT 平臺進行嵌入式應用和解決方案開發(fā)。他擁有班加羅爾 RV 工程學院的電子和通信學士學位。
審核編輯:郭婷
-
半導體
+關注
關注
339文章
30751瀏覽量
264333 -
應用程序
+關注
關注
38文章
3344瀏覽量
60269 -
GUI
+關注
關注
3文章
697瀏覽量
43485
發(fā)布評論請先 登錄
嵌入式軟件開發(fā)工具市場新動向:訂閱制趨勢下的中國開發(fā)者選擇
簡化嵌入式物聯(lián)網(wǎng)應用程序的軟件開發(fā)
評論