設施建設中最偉大的創新之一是在工作現場需要前幾個月在工廠預制建筑組件的想法。它不僅可以在現場破土動工后快速完成工作,還可以提高質量。由于軟件開發框架(也稱為軟件開發工具包或 SDK),物聯網嵌入式設備的軟件開發可以利用類似的概念。要了解什么是 SDK,請考慮從頭開始購買木材來建造房屋。你必須砍伐樹木,在窯中烘干木材,然后將木材切割成可用的木材。或者您可以訪問木材場,只需購買幾乎可以保證手頭任務近乎完美的規格木材。
Zerynth SDK
SDK 是一種軟件開發,相當于從木材場購買木材,而不是自己砍伐樹木。對于希望使用 Python 對物聯網設備進行編程的嵌入式開發人員來說,一種 SDK 選項是 Zerynth 平臺。Zerynth 支持許多流行的 32 位微控制器架構,包括 SAMD21、ESP32、ESP8266 和 NRF52832 等。SDK 可安裝在 Windows、Mac OS 和 Linux 上。Zerynth SDK 由兩個主要組件組成:Zerynth 工具鏈和 Zerynth Studio 集成開發環境 (IDE)(圖 1)。
圖 1:Zerynth 集成開發環境允許 Python 開發人員為物聯網編寫、調試、管理和部署固件。(來源:綠鞋車庫)
Zerynth 工具鏈 (ZTC) 是命令行工具,作為 Zerynth 生態系統中固件開發、調試和設備管理的核心。Zerynth Studio 是位于 ZTC 命令行界面之上的圖形界面。它提供圖形代碼編輯器和調試器界面以及大量 Python 代碼示例,以幫助開始使用 Zerynth。IDE 的一個令人興奮的特性是支持所謂的虛擬設備,它允許開發人員開發和驗證應用程序代碼,而無需將物理設備連接到本地主機。代碼編輯器具有許多現代功能,包括語法突出顯示、自動完成和智能片段。其他應該讓開發人員滿意的功能包括對 Git 存儲庫的內置支持和內置包管理器。開發者既可以訪問 Zerynth 提供的官方 Python 代碼庫,也可以訪問用戶社區提交的庫。利用經過驗證的可靠源代碼存儲庫的能力使開發人員能夠專注于為客戶提供增值功能,而不是浪費時間在常用的 Python 代碼上重新發明輪子。Zerynth 生態系統的第二個主要組成部分 Zerynth 操作系統 (OS) 進一步增強了源代碼庫的力量。
操作系統
Zerynth OS 是一種多線程實時操作系統 (RTOS),經過調整可在內存和存儲資源有限的各種 32 位微控制器架構上運行。它包含針對許多通信協議的高度定制的軟件堆棧,包括 Wi-Fi?、Bluetooth?和洛拉。它還提供安全和電源管理功能。為硬件和 RTOS 交互使用抽象層允許 Zerynth OS 高度獨立于底層微控制器平臺。Zerynth OS 的核心是 Zerynth 虛擬機 (VM),它在任意數量的 RTOS 和硬件平臺之上運行用戶編寫的 Python 腳本。開箱即用的 RTOS 包括 FreeRtos 和 CHIBIOS。通過使用所謂的 VM 操作系統抽象層 (VOSAL),開發人員可以創建在 Zerynth VM 上運行的高性能應用程序,這些應用程序利用信號量和線程等操作系統級功能,而不管選擇的底層 RTOS 是什么。關于硬件抽象,Zerynth OS 提供了一種機制(VM 硬件抽象層或 VHAL)來與現代微控制器上的許多外設交互,例如中斷、GPIO、I2C、SPI、ADC、PWM 和 UART。VHAL 是為每個受支持的微控制器定制編寫的,它為前面提到的所有外設提供了一個單一的標準軟件接口。換句話說,只需編寫一次應用程序 Python 代碼,它就可以在多個硬件平臺上運行,只要設備具有板載外圍設備即可。
Zerynth 設備管理器
當然,為物聯網設備開發 Python 代碼只是成功的一半。最終,設備必須走出去并連接到互聯網才能執行其預期目的。為了幫助實現與部署 IoT 設備相關的各種功能(例如,遠程配置、組織、監控和管理全球多個設備),Zerynth 設備管理器 (ZDM) 也提供給開發人員。通過 ZDM,設備可以安全地接入云端。還可以通過 ZDM 使用 REST API 來管理設備的整個生命周期,包括遠程過程調用 (RPC) 和無線固件 (FOTA) 升級。ZDM 提供工具來聚合和存儲現場物聯網設備收集的數據。它還包括事件管理和警報機制以響應接收到的原始數據。ZDM 可以用作基于云的服務,也可以為那些具有獨特安全或業務需求的客戶現場安裝。但是,如果開發人員需要使用第三方云服務提供商(例如,Amazon Web Services、Microsoft Azure、Google Cloud Platform、Ubidots、The Things Network),只需更改其中的一行代碼即可Python 應用程序,而不是完整的代碼重寫。
Python 和 Zerynth:程序員的力量
Python 是一種功能強大的編程語言,在傳統桌面應用程序之外的用例中繼續受到關注。嵌入式電子產品(尤其是物聯網設備)的開發人員將從采用 Zerynth 等軟件開發框架中獲益匪淺。框架確保一致性,甚至有助于提高性能、能源管理和安全性。當與 Python 語言的獨特性和功能相結合時,框架使開發人員能夠通過消除繁重的工作來構建最高質量的嵌入式系統,為重復性任務提供經過驗證的源代碼庫,并免費提供資源以專注于面向客戶的功能。
審核編輯黃昊宇
-
物聯網
+關注
關注
2914文章
44939瀏覽量
377095 -
python
+關注
關注
56文章
4807瀏覽量
85041
發布評論請先 登錄
相關推薦
評論