0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Zerynth:物聯(lián)網(wǎng)設(shè)備的 Python 框架

新疆切糕 ? 2022-12-28 09:51 ? 次閱讀

設(shè)施建設(shè)中最偉大的創(chuàng)新之一是在工作現(xiàn)場(chǎng)需要前幾個(gè)月在工廠預(yù)制建筑組件的想法。它不僅可以在現(xiàn)場(chǎng)破土動(dòng)工后快速完成工作,還可以提高質(zhì)量。由于軟件開發(fā)框架(也稱為軟件開發(fā)工具包或 SDK),物聯(lián)網(wǎng)嵌入式設(shè)備的軟件開發(fā)可以利用類似的概念。要了解什么是 SDK,請(qǐng)考慮從頭開始購買木材來建造房屋。你必須砍伐樹木,在窯中烘干木材,然后將木材切割成可用的木材?;蛘吣梢栽L問木材場(chǎng),只需購買幾乎可以保證手頭任務(wù)近乎完美的規(guī)格木材。

Zerynth SDK

SDK 是一種軟件開發(fā),相當(dāng)于從木材場(chǎng)購買木材,而不是自己砍伐樹木。對(duì)于希望使用 Python 對(duì)物聯(lián)網(wǎng)設(shè)備進(jìn)行編程嵌入式開發(fā)人員來說,一種 SDK 選項(xiàng)是 Zerynth 平臺(tái)。Zerynth 支持許多流行的 32 位微控制器架構(gòu),包括 SAMD21、ESP32、ESP8266 和 NRF52832 等。SDK 可安裝在 Windows、Mac OS 和 Linux 上。Zerynth SDK 由兩個(gè)主要組件組成:Zerynth 工具鏈和 Zerynth Studio 集成開發(fā)環(huán)境 (IDE)(圖 1)。

poYBAGOrhNeAGrZIAABj8s5po2c678.png

圖 1:Zerynth 集成開發(fā)環(huán)境允許 Python 開發(fā)人員為物聯(lián)網(wǎng)編寫、調(diào)試、管理和部署固件。(來源:綠鞋車庫)

Zerynth 工具鏈 (ZTC) 是命令行工具,作為 Zerynth 生態(tài)系統(tǒng)中固件開發(fā)、調(diào)試和設(shè)備管理的核心。Zerynth Studio 是位于 ZTC 命令行界面之上的圖形界面。它提供圖形代碼編輯器和調(diào)試器界面以及大量 Python 代碼示例,以幫助開始使用 Zerynth。IDE 的一個(gè)令人興奮的特性是支持所謂的虛擬設(shè)備,它允許開發(fā)人員開發(fā)和驗(yàn)證應(yīng)用程序代碼,而無需將物理設(shè)備連接到本地主機(jī)。代碼編輯器具有許多現(xiàn)代功能,包括語法突出顯示、自動(dòng)完成和智能片段。其他應(yīng)該讓開發(fā)人員滿意的功能包括對(duì) Git 存儲(chǔ)庫的內(nèi)置支持和內(nèi)置包管理器。開發(fā)者既可以訪問 Zerynth 提供的官方 Python 代碼庫,也可以訪問用戶社區(qū)提交的庫。利用經(jīng)過驗(yàn)證的可靠源代碼存儲(chǔ)庫的能力使開發(fā)人員能夠?qū)W⒂跒榭蛻籼峁┰鲋倒δ?,而不是浪費(fèi)時(shí)間在常用的 Python 代碼上重新發(fā)明輪子。Zerynth 生態(tài)系統(tǒng)的第二個(gè)主要組成部分 Zerynth 操作系統(tǒng) (OS) 進(jìn)一步增強(qiáng)了源代碼庫的力量。

操作系統(tǒng)

Zerynth OS 是一種多線程實(shí)時(shí)操作系統(tǒng) (RTOS),經(jīng)過調(diào)整可在內(nèi)存和存儲(chǔ)資源有限的各種 32 位微控制器架構(gòu)上運(yùn)行。它包含針對(duì)許多通信協(xié)議的高度定制的軟件堆棧,包括 Wi-Fi?、Bluetooth?和洛拉。它還提供安全和電源管理功能。為硬件和 RTOS 交互使用抽象層允許 Zerynth OS 高度獨(dú)立于底層微控制器平臺(tái)。Zerynth OS 的核心是 Zerynth 虛擬機(jī) (VM),它在任意數(shù)量的 RTOS 和硬件平臺(tái)之上運(yùn)行用戶編寫的 Python 腳本。開箱即用的 RTOS 包括 FreeRtos 和 CHIBIOS。通過使用所謂的 VM 操作系統(tǒng)抽象層 (VOSAL),開發(fā)人員可以創(chuàng)建在 Zerynth VM 上運(yùn)行的高性能應(yīng)用程序,這些應(yīng)用程序利用信號(hào)量和線程等操作系統(tǒng)級(jí)功能,而不管選擇的底層 RTOS 是什么。關(guān)于硬件抽象,Zerynth OS 提供了一種機(jī)制(VM 硬件抽象層或 VHAL)來與現(xiàn)代微控制器上的許多外設(shè)交互,例如中斷、GPIO、I2C、SPI、ADC、PWM 和 UART。VHAL 是為每個(gè)受支持的微控制器定制編寫的,它為前面提到的所有外設(shè)提供了一個(gè)單一的標(biāo)準(zhǔn)軟件接口。換句話說,只需編寫一次應(yīng)用程序 Python 代碼,它就可以在多個(gè)硬件平臺(tái)上運(yùn)行,只要設(shè)備具有板載外圍設(shè)備即可。

Zerynth 設(shè)備管理器

當(dāng)然,為物聯(lián)網(wǎng)設(shè)備開發(fā) Python 代碼只是成功的一半。最終,設(shè)備必須走出去并連接到互聯(lián)網(wǎng)才能執(zhí)行其預(yù)期目的。為了幫助實(shí)現(xiàn)與部署 IoT 設(shè)備相關(guān)的各種功能(例如,遠(yuǎn)程配置、組織、監(jiān)控和管理全球多個(gè)設(shè)備),Zerynth 設(shè)備管理器 (ZDM) 也提供給開發(fā)人員。通過 ZDM,設(shè)備可以安全地接入云端。還可以通過 ZDM 使用 REST API 來管理設(shè)備的整個(gè)生命周期,包括遠(yuǎn)程過程調(diào)用 (RPC) 和無線固件 (FOTA) 升級(jí)。ZDM 提供工具來聚合和存儲(chǔ)現(xiàn)場(chǎng)物聯(lián)網(wǎng)設(shè)備收集的數(shù)據(jù)。它還包括事件管理和警報(bào)機(jī)制以響應(yīng)接收到的原始數(shù)據(jù)。ZDM 可以用作基于云的服務(wù),也可以為那些具有獨(dú)特安全或業(yè)務(wù)需求的客戶現(xiàn)場(chǎng)安裝。但是,如果開發(fā)人員需要使用第三方云服務(wù)提供商(例如,Amazon Web Services、Microsoft Azure、Google Cloud Platform、Ubidots、The Things Network),只需更改其中的一行代碼即可Python 應(yīng)用程序,而不是完整的代碼重寫。

Python 和 Zerynth:程序員的力量

Python 是一種功能強(qiáng)大的編程語言,在傳統(tǒng)桌面應(yīng)用程序之外的用例中繼續(xù)受到關(guān)注。嵌入式電子產(chǎn)品(尤其是物聯(lián)網(wǎng)設(shè)備)的開發(fā)人員將從采用 Zerynth 等軟件開發(fā)框架中獲益匪淺??蚣艽_保一致性,甚至有助于提高性能、能源管理和安全性。當(dāng)與 Python 語言的獨(dú)特性和功能相結(jié)合時(shí),框架使開發(fā)人員能夠通過消除繁重的工作來構(gòu)建最高質(zhì)量的嵌入式系統(tǒng),為重復(fù)性任務(wù)提供經(jīng)過驗(yàn)證的源代碼庫,并免費(fèi)提供資源以專注于面向客戶的功能。

審核編輯黃昊宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 物聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    2911

    文章

    44840

    瀏覽量

    375253
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4802

    瀏覽量

    84885
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    聯(lián)網(wǎng)就業(yè)有哪些高薪崗位?

    對(duì)市場(chǎng)需求和技術(shù)趨勢(shì)有敏銳洞察力。隨著聯(lián)網(wǎng)產(chǎn)品的增多,聯(lián)網(wǎng)產(chǎn)品經(jīng)理的需求也在不斷增加。 聯(lián)網(wǎng)
    發(fā)表于 01-10 16:47

    聯(lián)網(wǎng)設(shè)備安全性:挑戰(zhàn)和解決方案

    聯(lián)網(wǎng)設(shè)備制造商和開發(fā)人員需要采用和實(shí)施與其特定設(shè)備最相關(guān)且最合適的標(biāo)準(zhǔn)和框架,并緊跟
    的頭像 發(fā)表于 01-08 15:58 ?113次閱讀
    <b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b><b class='flag-5'>設(shè)備</b>安全性:挑戰(zhàn)和解決方案

    聯(lián)網(wǎng)(IoT)智能設(shè)備是什么?

    什么是iot智能設(shè)備?聯(lián)網(wǎng)(IoT)智能設(shè)備是指接入互聯(lián)網(wǎng)并搭載了各種傳感器和執(zhí)行器,能夠收集、交換、處理和執(zhí)行操作的各種
    的頭像 發(fā)表于 01-02 15:51 ?167次閱讀
    <b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b>(IoT)智能<b class='flag-5'>設(shè)備</b>是什么?

    聯(lián)網(wǎng)學(xué)習(xí)路線來啦!

    聯(lián)網(wǎng)學(xué)習(xí)路線來啦! 聯(lián)網(wǎng)方向作為目前一個(gè)熱門的技術(shù)發(fā)展方向,有大量的人才需求,小白的學(xué)習(xí)入門路線推薦以下步驟。 1.了解
    發(fā)表于 11-11 16:03

    聯(lián)網(wǎng)設(shè)備的標(biāo)準(zhǔn)與規(guī)范

    聯(lián)網(wǎng)(IoT)正在改變我們的生活方式,從智能家居到工業(yè)自動(dòng)化,再到智慧城市,聯(lián)網(wǎng)設(shè)備正在滲透到我們生活的方方面面。隨著
    的頭像 發(fā)表于 10-29 11:34 ?755次閱讀

    如何選擇聯(lián)網(wǎng)設(shè)備的PCB技術(shù)

    隨著聯(lián)網(wǎng)(IoT)技術(shù)的不斷發(fā)展和應(yīng)用范圍的擴(kuò)大,適合聯(lián)網(wǎng)設(shè)備的PCB技術(shù)也在不斷創(chuàng)新和進(jìn)步。選擇適合
    的頭像 發(fā)表于 10-16 15:11 ?352次閱讀

    如何測(cè)試聯(lián)網(wǎng)設(shè)備的功耗

    如何測(cè)試聯(lián)網(wǎng)設(shè)備的功耗聯(lián)網(wǎng)(IoT)將涵蓋我們?nèi)粘I畹母鱾€(gè)方面,因?yàn)樗箶?shù)十億的物品能夠隨時(shí)隨地與任何事物和任何人連接。消費(fèi)者對(duì)智能
    的頭像 發(fā)表于 10-11 08:05 ?517次閱讀
    如何測(cè)試<b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b><b class='flag-5'>設(shè)備</b>的功耗

    如何使聯(lián)網(wǎng)邊緣設(shè)備高效節(jié)能?

    電源效率對(duì)于聯(lián)網(wǎng)的成功至關(guān)重要。設(shè)備的效率越高,其功能壽命就越長,用戶體驗(yàn)就越好。您是否在組織中實(shí)施了聯(lián)網(wǎng)解決方案,以提高
    的頭像 發(fā)表于 09-24 15:18 ?564次閱讀
    如何使<b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b>邊緣<b class='flag-5'>設(shè)備</b>高效節(jié)能?

    基于聯(lián)網(wǎng)設(shè)備管理

    聯(lián)網(wǎng)設(shè)備管理的重要性日益凸顯,設(shè)備數(shù)量激增帶來數(shù)據(jù)泄露風(fēng)險(xiǎn)。加強(qiáng)設(shè)備安全性、軟件升級(jí)與修復(fù)、身份驗(yàn)證和互操作性是關(guān)鍵。
    的頭像 發(fā)表于 09-10 11:04 ?676次閱讀
    基于<b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b>的<b class='flag-5'>設(shè)備</b>管理

    天拓四方:工業(yè)聯(lián)網(wǎng)關(guān)是什么?其在設(shè)備接入聯(lián)網(wǎng)中的作用

    隨著聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展,工業(yè)領(lǐng)域正經(jīng)歷著前所未有的變革。工業(yè)聯(lián)網(wǎng)網(wǎng)關(guān)作為連接工業(yè)設(shè)備
    的頭像 發(fā)表于 09-02 16:56 ?405次閱讀
    天拓四方:工業(yè)<b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b>關(guān)是什么?其在<b class='flag-5'>設(shè)備</b>接入<b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b>中的作用

    什么是聯(lián)網(wǎng)技術(shù)?

    什么是聯(lián)網(wǎng)技術(shù)? 聯(lián)網(wǎng)技術(shù)(Internet of Things, IoT)是一種通過信息傳感設(shè)備,按約定的協(xié)議,將任何物體與網(wǎng)絡(luò)相連
    發(fā)表于 08-19 14:08

    請(qǐng)問如何使用微控制器優(yōu)化電池供電的聯(lián)網(wǎng)設(shè)備的功耗?

    如何使用微控制器優(yōu)化電池供電的聯(lián)網(wǎng)設(shè)備的功耗?
    發(fā)表于 07-23 07:09

    Python中的人工智能框架與實(shí)例

    在人工智能(AI)領(lǐng)域,Python因其簡潔的語法、豐富的庫和強(qiáng)大的社區(qū)支持,成為了最受歡迎的編程語言之一。本文將詳細(xì)介紹Python中的人工智能框架,并通過具體實(shí)例展示如何使用這些框架
    的頭像 發(fā)表于 07-15 14:54 ?1772次閱讀

    Python自動(dòng)化測(cè)試框架及其應(yīng)用

    Pytest是一個(gè)非常成熟的全功能的Python測(cè)試框架,與python自帶的unittest測(cè)試框架類似,但是比unittest框架使用起
    的頭像 發(fā)表于 04-03 16:15 ?579次閱讀
    <b class='flag-5'>Python</b>自動(dòng)化測(cè)試<b class='flag-5'>框架</b>及其應(yīng)用

    如何解決聯(lián)網(wǎng)設(shè)備的安全問題

    依據(jù)統(tǒng)計(jì)數(shù)據(jù)顯示,當(dāng)前聯(lián)網(wǎng)技術(shù)所面對(duì)的挑戰(zhàn),主要來自聯(lián)網(wǎng)設(shè)備開發(fā)商急于開發(fā)未得到適當(dāng)保護(hù)的
    發(fā)表于 02-29 14:58 ?687次閱讀
    如何解決<b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b><b class='flag-5'>設(shè)備</b>的安全問題