演講嘉賓 | 唐佐林
回顧整理 | 廖 濤
排版校對 | 宋夕明
嘉賓介紹
OpenHarmony技術俱樂部分論壇
唐佐林,電子科技大學OpenHarmony技術俱樂部指導老師、電子科技大學信息與軟件工程學院培訓中心企業(yè)導師、四川知識產(chǎn)權運營中心平臺智庫專家、成都市開源專委會專家委員、開放原子開源基金會開源講師、蜀鴻會創(chuàng)始人,研究方向:操作系統(tǒng),編譯原理,計算機視覺。
視頻回顧
打開嗶哩嗶哩APP,觀看更清晰視頻
正文內(nèi)容
Python以其簡單、易學和功能強大而聞名,有著廣泛的用戶群體。采用Python開發(fā)有助于降低OpenHarmony的學習門檻。如何在OpenHarmony上用Python開發(fā)設備應用,有哪些關鍵技術?電子科技大學技術俱樂部指導老師唐佐林在第二屆OpenHarmony技術大會上進行了精彩分享。
自2020年9月開源以來,在產(chǎn)業(yè)界和學術界的大力支持下,OpenHarmony已經(jīng)成為智能終端領域發(fā)展速度最快的開源操作系統(tǒng)。將Python引入 OpenHarmony,能擴大OpenHarmony的應用場景,吸引更多開發(fā)者參與代碼共建。
基于此,作者本人提出了“Py4OH”,即:Python for OpenHarmony,是OpenHarmony設備上的Python應用程序開發(fā)框架,能夠?qū)?a href="http://www.1cnz.cn/v/tag/1751/" target="_blank">硬件設備的差異所屏蔽,提供統(tǒng)一的接口和開發(fā)方式,極大的提高了設備應用程序的可移植性。完整的Py4OH框架主要分為三個部分:
Py4OH引擎:OpenHarmony上的Python語言解析器以及內(nèi)置接口。
Py4OH REPL:PC上的Python設備開發(fā)工具鏈,用于與Py4OH引擎通信完成設備編程。
Py4OH庫:為OpenHarmony硬件定制開發(fā)的Python庫,方便設備編程。其中,核心庫集成于引擎中,由底層語言寫成,不可動態(tài)更改;擴展庫動態(tài)加載執(zhí)行,由Python語言寫成,可隨意修改和動態(tài)加載。
Py4OH的引擎架構(gòu)主要分為硬件層、操作系統(tǒng)層、API層以及應用程序?qū)印F渲校瑧贸绦蛑邪薖ython解釋器,可讀取、解析、執(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層與設備間的通信通過TCP、UDP以及Serial Port實現(xiàn)。
基于Py4OH框架開發(fā)的優(yōu)勢主要有:語言簡單:輕松上手;接口統(tǒng)一:無需擔心接口劇烈變動;應用程序可以在線升級:能夠?qū)崿F(xiàn)遠程升級;可作為已有開發(fā)平臺中間件(間接接入設備)。
如何基于Py4OH-REPL實現(xiàn)與Py4OH引擎通信完成設備編程?主要步驟為:
一、預備工作:
下載CH340驅(qū)動并安裝
將設備連接至PC并確認串口(如:COM14)
燒寫Py4OH鏡像文件(如:Py4OH-Hi3861-v1.0.1.bin,Py4OH-RK2206-v1.0.1.bin)
二、內(nèi)置函數(shù):
%config( port, wifi, id, pwd ):用于對設備進行配置
%connect( [IP] ):用于連接設備
%workspace( [path] ):用于設置當前工作目錄(Python文件應放置于工作目錄中)
%install( file ):用于將工作目錄中的Python文件從PC傳輸至設備中
%run( file ):用于執(zhí)行已安裝到設備的Python文件
%query( port ):用于查詢設備狀態(tài)
三、設備運行模式:
主要分為REPL模式和APP模式。REPL模式主要用于開發(fā)階段,可方便的驗證方案和調(diào)試程序;APP模式主要用于部署階段,設備啟動后從main.py文件開始執(zhí)行。設備運行模式可通過%config()函數(shù)切換,并于重啟后生效,例如:REPL模式:%config( COM14, mode, repl );APP模式:%config( COM14, mode, app )。此外,通過擴展不同的設備連接方式(如:藍牙,星閃,等),可進行空中編程(Device Programming Over the Air)。
后續(xù),作者本人及其團隊,將繼續(xù)進行Py4OH的OpenCV、Inference Engine、LVGL以及Mqtt/OneNet等核心庫開發(fā)。電子科技大學OpenHarmony技術俱樂部也將持續(xù)深入OpenHarmony技術生態(tài)貢獻,進行OpenHarmony低代碼開發(fā)環(huán)境、OpenHarmony推理引擎適配、OpenHarmony圖像處理框架等方面的研究。
附:外設控制示例
-
python
+關注
關注
56文章
4795瀏覽量
84646 -
OpenHarmony
+關注
關注
25文章
3717瀏覽量
16286
發(fā)布評論請先 登錄
相關推薦
評論