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