演講嘉賓 | 唐佐林
回顧整理 | 廖 濤
排版校對 | 宋夕明
嘉賓介紹
OpenHarmony技術(shù)俱樂部分論壇
唐佐林,電子科技大學(xué)OpenHarmony技術(shù)俱樂部指導(dǎo)老師、電子科技大學(xué)信息與軟件工程學(xué)院培訓(xùn)中心企業(yè)導(dǎo)師、四川知識產(chǎn)權(quán)運營中心平臺智庫專家、成都市開源專委會專家委員、開放原子開源基金會開源講師、蜀鴻會創(chuàng)始人,研究方向:操作系統(tǒng),編譯原理,計算機視覺。
視頻回顧
打開嗶哩嗶哩APP,觀看更清晰視頻
正文內(nèi)容
Python以其簡單、易學(xué)和功能強大而聞名,有著廣泛的用戶群體。采用Python開發(fā)有助于降低OpenHarmony的學(xué)習(xí)門檻。如何在OpenHarmony上用Python開發(fā)設(shè)備應(yīng)用,有哪些關(guān)鍵技術(shù)?電子科技大學(xué)技術(shù)俱樂部指導(dǎo)老師唐佐林在第二屆OpenHarmony技術(shù)大會上進行了精彩分享。
自2020年9月開源以來,在產(chǎn)業(yè)界和學(xué)術(shù)界的大力支持下,OpenHarmony已經(jīng)成為智能終端領(lǐng)域發(fā)展速度最快的開源操作系統(tǒng)。將Python引入 OpenHarmony,能擴大OpenHarmony的應(yīng)用場景,吸引更多開發(fā)者參與代碼共建。
基于此,作者本人提出了“Py4OH”,即:Python for OpenHarmony,是OpenHarmony設(shè)備上的Python應(yīng)用程序開發(fā)框架,能夠?qū)⒂布O(shè)備的差異所屏蔽,提供統(tǒng)一的接口和開發(fā)方式,極大的提高了設(shè)備應(yīng)用程序的可移植性。完整的Py4OH框架主要分為三個部分:
Py4OH引擎:OpenHarmony上的Python語言解析器以及內(nèi)置接口。
Py4OH REPL:PC上的Python設(shè)備開發(fā)工具鏈,用于與Py4OH引擎通信完成設(shè)備編程。
Py4OH庫:為OpenHarmony硬件定制開發(fā)的Python庫,方便設(shè)備編程。其中,核心庫集成于引擎中,由底層語言寫成,不可動態(tài)更改;擴展庫動態(tài)加載執(zhí)行,由Python語言寫成,可隨意修改和動態(tài)加載。
Py4OH的引擎架構(gòu)主要分為硬件層、操作系統(tǒng)層、API層以及應(yīng)用程序?qū)印F渲?,?yīng)用程序中包含了Python解釋器,可讀取、解析、執(zhí)行Python編程語言源代碼的程序。
Py4OH的開發(fā)環(huán)境架構(gòu)主要分為IDE / Low Code / AIGC、Py4OH REPL、Middleware Runtime以及Windows/Linux/Mac四層。其中,Middleware Runtime中間層的原理類似虛擬機,為Py4OH的跨平臺開發(fā)提供了虛擬環(huán)境;Py4OH REPL層與設(shè)備間的通信通過TCP、UDP以及Serial Port實現(xiàn)。
基于Py4OH框架開發(fā)的優(yōu)勢主要有:語言簡單:輕松上手;接口統(tǒng)一:無需擔(dān)心接口劇烈變動;應(yīng)用程序可以在線升級:能夠?qū)崿F(xiàn)遠程升級;可作為已有開發(fā)平臺中間件(間接接入設(shè)備)。
如何基于Py4OH-REPL實現(xiàn)與Py4OH引擎通信完成設(shè)備編程?主要步驟為:
一、預(yù)備工作:
下載CH340驅(qū)動并安裝
將設(shè)備連接至PC并確認串口(如:COM14)
燒寫Py4OH鏡像文件(如:Py4OH-Hi3861-v1.0.1.bin,Py4OH-RK2206-v1.0.1.bin)
二、內(nèi)置函數(shù):
%config( port, wifi, id, pwd ):用于對設(shè)備進行配置
%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è)備運行模式:
主要分為REPL模式和APP模式。REPL模式主要用于開發(fā)階段,可方便的驗證方案和調(diào)試程序;APP模式主要用于部署階段,設(shè)備啟動后從main.py文件開始執(zhí)行。設(shè)備運行模式可通過%config()函數(shù)切換,并于重啟后生效,例如:REPL模式:%config( COM14, mode, repl );APP模式:%config( COM14, mode, app )。此外,通過擴展不同的設(shè)備連接方式(如:藍牙,星閃,等),可進行空中編程(Device Programming Over the Air)。
后續(xù),作者本人及其團隊,將繼續(xù)進行Py4OH的OpenCV、Inference Engine、LVGL以及Mqtt/OneNet等核心庫開發(fā)。電子科技大學(xué)OpenHarmony技術(shù)俱樂部也將持續(xù)深入OpenHarmony技術(shù)生態(tài)貢獻,進行OpenHarmony低代碼開發(fā)環(huán)境、OpenHarmony推理引擎適配、OpenHarmony圖像處理框架等方面的研究。
附:外設(shè)控制示例
-
python
+關(guān)注
關(guān)注
56文章
4827瀏覽量
86830 -
OpenHarmony
+關(guān)注
關(guān)注
29文章
3856瀏覽量
18656
發(fā)布評論請先 登錄
主線科技亮相第二屆中國具身智能大會
第二屆開放原子大賽石油軟件專區(qū)賽決賽成功舉辦
翱捷科技亮相第二屆移動物聯(lián)網(wǎng)大會
第二屆開放原子大賽首批賽項頒獎儀式在武漢舉辦
第二屆開放原子大賽首批創(chuàng)新成果集結(jié)武漢
谷東科技受邀參加2024第二屆元宇宙大會
美光科技第二屆鏈博會精彩回顧
智芯公司亮相2024第二屆中國電氣工程大會
帝奧微第二屆代理商大會圓滿召開
成都華微亮相第二屆腦機接口大會
知存科技邀您相約第二屆集成芯片和芯粒大會
第二屆openEuler生態(tài)大會圓滿結(jié)束
50萬獎金池!開放原子大賽——第二屆OpenHarmony創(chuàng)新應(yīng)用挑戰(zhàn)賽正式啟動
第二屆開放原子大賽火熱開啟
第二屆大會回顧第24期 | 面向OpenHarmony的軟件工程研究:機遇與挑戰(zhàn)

評論