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

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

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

第二屆大會(huì)回顧第25期 | OpenHarmony上的Python設(shè)備應(yīng)用開發(fā)

OpenHarmony TSC ? 來源:OpenHarmony TSC ? 作者:OpenHarmony TSC ? 2024-08-27 11:53 ? 次閱讀

演講嘉賓 | 唐佐林

回顧整理 | 廖 濤

排版校對 | 宋夕明

003bb828-55e8-11ef-a4b4-92fbcf53809c.jpg

嘉賓介紹

OpenHarmony技術(shù)俱樂部分論壇

唐佐林,電子科技大學(xué)OpenHarmony技術(shù)俱樂部指導(dǎo)老師、電子科技大學(xué)信息與軟件工程學(xué)院培訓(xùn)中心企業(yè)導(dǎo)師、四川知識(shí)產(chǎn)權(quán)運(yùn)營中心平臺(tái)智庫專家、成都市開源專委會(huì)專家委員、開放原子開源基金會(huì)開源講師、蜀鴻會(huì)創(chuàng)始人,研究方向:操作系統(tǒng),編譯原理,計(jì)算機(jī)視覺。

視頻回顧

打開嗶哩嗶哩APP,觀看更清晰視頻

正文內(nèi)容

Python以其簡單、易學(xué)和功能強(qiáng)大而聞名,有著廣泛的用戶群體。采用Python開發(fā)有助于降低OpenHarmony的學(xué)習(xí)門檻。如何在OpenHarmony上用Python開發(fā)設(shè)備應(yīng)用,有哪些關(guān)鍵技術(shù)?電子科技大學(xué)技術(shù)俱樂部指導(dǎo)老師唐佐林在第二屆OpenHarmony技術(shù)大會(huì)上進(jìn)行了精彩分享。

004044e2-55e8-11ef-a4b4-92fbcf53809c.png

自2020年9月開源以來,在產(chǎn)業(yè)界和學(xué)術(shù)界的大力支持下,OpenHarmony已經(jīng)成為智能終端領(lǐng)域發(fā)展速度最快的開源操作系統(tǒng)。將Python引入 OpenHarmony,能擴(kuò)大OpenHarmony的應(yīng)用場景,吸引更多開發(fā)者參與代碼共建。

基于此,作者本人提出了“Py4OH”,即:Python for OpenHarmony,是OpenHarmony設(shè)備上的Python應(yīng)用程序開發(fā)框架,能夠?qū)?a href="http://srfitnesspt.com/v/tag/1751/" target="_blank">硬件設(shè)備的差異所屏蔽,提供統(tǒng)一的接口和開發(fā)方式,極大的提高了設(shè)備應(yīng)用程序的可移植性。完整的Py4OH框架主要分為三個(gè)部分:

Py4OH引擎:OpenHarmony上的Python語言解析器以及內(nèi)置接口。

Py4OH REPL:PC上的Python設(shè)備開發(fā)工具鏈,用于與Py4OH引擎通信完成設(shè)備編程。

Py4OH庫:為OpenHarmony硬件定制開發(fā)的Python庫,方便設(shè)備編程。其中,核心庫集成于引擎中,由底層語言寫成,不可動(dòng)態(tài)更改;擴(kuò)展庫動(dòng)態(tài)加載執(zhí)行,由Python語言寫成,可隨意修改和動(dòng)態(tài)加載。

Py4OH的引擎架構(gòu)主要分為硬件層、操作系統(tǒng)層、API層以及應(yīng)用程序?qū)?。其中,?yīng)用程序中包含了Python解釋器,可讀取、解析、執(zhí)行Python編程語言源代碼的程序。

005c7b30-55e8-11ef-a4b4-92fbcf53809c.png

Py4OH的開發(fā)環(huán)境架構(gòu)主要分為IDE / Low Code / AIGC、Py4OH REPL、Middleware Runtime以及Windows/Linux/Mac四層。其中,Middleware Runtime中間層的原理類似虛擬機(jī),為Py4OH的跨平臺(tái)開發(fā)提供了虛擬環(huán)境;Py4OH REPL層與設(shè)備間的通信通過TCP、UDP以及Serial Port實(shí)現(xiàn)。

0067aa3c-55e8-11ef-a4b4-92fbcf53809c.png

基于Py4OH框架開發(fā)的優(yōu)勢主要有:語言簡單:輕松上手;接口統(tǒng)一:無需擔(dān)心接口劇烈變動(dòng);應(yīng)用程序可以在線升級(jí):能夠?qū)崿F(xiàn)遠(yuǎn)程升級(jí);可作為已有開發(fā)平臺(tái)中間件(間接接入設(shè)備)。

如何基于Py4OH-REPL實(shí)現(xiàn)與Py4OH引擎通信完成設(shè)備編程?主要步驟為:

一、預(yù)備工作:

下載CH340驅(qū)動(dòng)并安裝

將設(shè)備連接至PC并確認(rèn)串口(如:COM14)

燒寫Py4OH鏡像文件(如:Py4OH-Hi3861-v1.0.1.bin,Py4OH-RK2206-v1.0.1.bin)

二、內(nèi)置函數(shù):

%config( port, wifi, id, pwd ):用于對設(shè)備進(jìn)行配置

%connect( [IP] ):用于連接設(shè)備

%workspace( [path] ):用于設(shè)置當(dāng)前工作目錄(Python文件應(yīng)放置于工作目錄中)

%install( file ):用于將工作目錄中的Python文件從PC傳輸至設(shè)備中

%run( file ):用于執(zhí)行已安裝到設(shè)備的Python文件

%query( port ):用于查詢設(shè)備狀態(tài)

三、設(shè)備運(yùn)行模式:

主要分為REPL模式和APP模式。REPL模式主要用于開發(fā)階段,可方便的驗(yàn)證方案和調(diào)試程序;APP模式主要用于部署階段,設(shè)備啟動(dòng)后從main.py文件開始執(zhí)行。設(shè)備運(yùn)行模式可通過%config()函數(shù)切換,并于重啟后生效,例如:REPL模式:%config( COM14, mode, repl );APP模式:%config( COM14, mode, app )。此外,通過擴(kuò)展不同的設(shè)備連接方式(如:藍(lán)牙,星閃,等),可進(jìn)行空中編程(Device Programming Over the Air)。

006dd8b2-55e8-11ef-a4b4-92fbcf53809c.png

后續(xù),作者本人及其團(tuán)隊(duì),將繼續(xù)進(jìn)行Py4OH的OpenCV、Inference Engine、LVGL以及Mqtt/OneNet等核心庫開發(fā)。電子科技大學(xué)OpenHarmony技術(shù)俱樂部也將持續(xù)深入OpenHarmony技術(shù)生態(tài)貢獻(xiàn),進(jìn)行OpenHarmony低代碼開發(fā)環(huán)境、OpenHarmony推理引擎適配、OpenHarmony圖像處理框架等方面的研究。

附:外設(shè)控制示例

007666bc-55e8-11ef-a4b4-92fbcf53809c.jpg

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

    關(guān)注

    54

    文章

    4756

    瀏覽量

    84283
  • OpenHarmony
    +關(guān)注

    關(guān)注

    25

    文章

    3607

    瀏覽量

    15954
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    第二屆大會(huì)回顧24 | 面向OpenHarmony的軟件工程研究:機(jī)遇與挑戰(zhàn)

    隨著萬物智聯(lián)時(shí)代的到來,OpenHarmony作為一個(gè)開源的智能終端設(shè)備操作系統(tǒng)的框架和平臺(tái),將會(huì)遇到哪些機(jī)遇和挑戰(zhàn)?北京航空航天大學(xué)教授、OpenHarmony技術(shù)俱樂部主任黎立在第二屆
    的頭像 發(fā)表于 08-07 18:14 ?781次閱讀
    <b class='flag-5'>第二屆</b><b class='flag-5'>大會(huì)</b><b class='flag-5'>回顧</b><b class='flag-5'>第</b>24<b class='flag-5'>期</b> | 面向<b class='flag-5'>OpenHarmony</b>的軟件工程研究:機(jī)遇與挑戰(zhàn)

    報(bào)名開啟!第二屆OpenHarmony開發(fā)大會(huì)2024重磅來襲!

    /jishu_2429449_1_1.html 預(yù)約直播: 第二屆OpenHarmony開發(fā)大會(huì)主論壇 第二屆
    發(fā)表于 05-14 15:23

    實(shí)地探展 | 別樣視角一站式感受第二屆OpenHarmony技術(shù)大會(huì)

    OpenHarmony技術(shù)大會(huì) 感受技術(shù)融入生活的美好瞬間! 原文標(biāo)題:實(shí)地探展 | 別樣視角一站式感受第二屆OpenHarmony技術(shù)大會(huì)
    的頭像 發(fā)表于 11-14 15:10 ?249次閱讀

    亮點(diǎn)速遞 | 一圖看懂第二屆OpenHarmony技術(shù)大會(huì)

    點(diǎn)擊藍(lán)字 ╳ 關(guān)注我們 開源項(xiàng)目 OpenHarmony 是每個(gè)人的 OpenHarmony 原文標(biāo)題:亮點(diǎn)速遞 | 一圖看懂第二屆OpenHarmony技術(shù)
    的頭像 發(fā)表于 11-06 19:40 ?387次閱讀

    大咖金句 | 第二屆OpenHarmony技術(shù)大會(huì)演講集錦

    點(diǎn)擊藍(lán)字 ╳ 關(guān)注我們 開源項(xiàng)目 OpenHarmony 是每個(gè)人的 OpenHarmony 第二屆OpenHarmony技術(shù)大會(huì)圓滿結(jié)束
    的頭像 發(fā)表于 11-06 19:40 ?442次閱讀

    高能有料 | 第二屆OpenHarmony技術(shù)大會(huì)議程速遞

    第二屆開放原子開源基金會(huì)OpenHarmony技術(shù)大會(huì)如約而至 讓我們一起 開封無限驚喜的技術(shù)成果 開放無限前沿的議題干貨 開啟無限可能的未來之門 點(diǎn)擊此處報(bào)名參會(huì)!
    發(fā)表于 11-02 17:07

    議程直擊 | 第二屆OpenHarmony技術(shù)大會(huì)——編程語言及開發(fā)框架分論壇

    點(diǎn)擊藍(lán)字 ╳ 關(guān)注我們 開源項(xiàng)目 OpenHarmony 是每個(gè)人的 OpenHarmony 原文標(biāo)題:議程直擊 | 第二屆OpenHarmony技術(shù)
    的頭像 發(fā)表于 11-01 16:10 ?356次閱讀
    議程直擊 | <b class='flag-5'>第二屆</b><b class='flag-5'>OpenHarmony</b>技術(shù)<b class='flag-5'>大會(huì)</b>——編程語言及<b class='flag-5'>開發(fā)</b>框架分論壇

    議程直擊 | 第二屆OpenHarmony技術(shù)大會(huì)——應(yīng)用(北向)生態(tài)分論壇

    點(diǎn)擊藍(lán)字 ╳ 關(guān)注我們 開源項(xiàng)目 OpenHarmony 是每個(gè)人的 OpenHarmony 原文標(biāo)題:議程直擊 | 第二屆OpenHarmony技術(shù)
    的頭像 發(fā)表于 11-01 16:10 ?376次閱讀

    議程直擊 | 第二屆OpenHarmony技術(shù)大會(huì)——OS內(nèi)核及視窗分論壇

    點(diǎn)擊藍(lán)字 ╳ 關(guān)注我們 開源項(xiàng)目 OpenHarmony 是每個(gè)人的 OpenHarmony 原文標(biāo)題:議程直擊 | 第二屆OpenHarmony技術(shù)
    的頭像 發(fā)表于 11-01 09:25 ?432次閱讀

    高能有料 | 第二屆OpenHarmony技術(shù)大會(huì)議程速遞

    點(diǎn)擊藍(lán)字 ╳ 關(guān)注我們 開源項(xiàng)目 OpenHarmony 是每個(gè)人的 OpenHarmony 第二屆開放原子開源基金會(huì)OpenHarmony技術(shù)大會(huì)
    的頭像 發(fā)表于 11-01 09:25 ?338次閱讀
    高能有料 | <b class='flag-5'>第二屆</b><b class='flag-5'>OpenHarmony</b>技術(shù)<b class='flag-5'>大會(huì)</b>議程速遞

    議程直擊 | 第二屆OpenHarmony技術(shù)大會(huì)——OpenHarmony技術(shù)俱樂部分論壇

    點(diǎn)擊藍(lán)字 ╳ 關(guān)注我們 開源項(xiàng)目 OpenHarmony 是每個(gè)人的 OpenHarmony 原文標(biāo)題:議程直擊 | 第二屆OpenHarmony技術(shù)
    的頭像 發(fā)表于 11-01 09:25 ?389次閱讀
    議程直擊 | <b class='flag-5'>第二屆</b><b class='flag-5'>OpenHarmony</b>技術(shù)<b class='flag-5'>大會(huì)</b>——<b class='flag-5'>OpenHarmony</b>技術(shù)俱樂部分論壇

    議程直擊 | 第二屆OpenHarmony技術(shù)大會(huì)——OS原生智能分論壇

    點(diǎn)擊藍(lán)字 ╳ 關(guān)注我們 開源項(xiàng)目 OpenHarmony 是每個(gè)人的 OpenHarmony 原文標(biāo)題:議程直擊 | 第二屆OpenHarmony技術(shù)
    的頭像 發(fā)表于 11-01 09:25 ?488次閱讀

    議程直擊 | 第二屆OpenHarmony技術(shù)大會(huì)——OS安全分論壇

    E N D ??? 關(guān)注我們,持續(xù)獲取OpenHarmony技術(shù)大會(huì)最新消息! 原文標(biāo)題:議程直擊 | 第二屆OpenHarmony技術(shù)大會(huì)
    的頭像 發(fā)表于 11-01 08:44 ?339次閱讀
    議程直擊 | <b class='flag-5'>第二屆</b><b class='flag-5'>OpenHarmony</b>技術(shù)<b class='flag-5'>大會(huì)</b>——OS安全分論壇

    技術(shù)筑生態(tài),智聯(lián)贏未來 第二屆OpenHarmony技術(shù)大會(huì)即將在京啟幕

    2023年11月4日,第二屆開放原子開源基金會(huì)OpenHarmony技術(shù)大會(huì)即將在北京國家會(huì)議中心盛大開幕。本次大會(huì)由OpenAtom OpenHa
    發(fā)表于 10-31 11:27

    亮點(diǎn)劇透 | 第二屆開放原子開源基金會(huì) OpenHarmony技術(shù)大會(huì)精彩來襲

    點(diǎn)擊藍(lán)字 ╳ 關(guān)注我們 開源項(xiàng)目 OpenHarmony 是每個(gè)人的 OpenHarmony 探討開源創(chuàng)新實(shí)踐,共筑開源技術(shù)未來 第二屆開放原子開源基金會(huì)OpenHarmony技術(shù)
    的頭像 發(fā)表于 10-27 19:50 ?523次閱讀