第二届大会回顾第25期 | OpenHarmony上的Python设备应用开发

描述

演讲嘉宾 | 唐佐林

回顾整理 | 廖   涛

排版校对 | 宋夕明

python

嘉宾介绍

OpenHarmony技术俱乐部分论坛 

唐佐林,电子科技大学OpenHarmony技术俱乐部指导老师、电子科技大学信息与软件工程学院培训中心企业导师、四川知识产权运营中心平台智库专家、成都市开源专委会专家委员、开放原子开源基金会开源讲师、蜀鸿会创始人,研究方向:操作系统,编译原理,计算机视觉。

视频回顾 

打开哔哩哔哩APP,观看更清晰视频

正文内容

Python以其简单、易学和功能强大而闻名,有着广泛的用户群体。采用Python开发有助于降低OpenHarmony的学习门槛。如何在OpenHarmony上用Python开发设备应用,有哪些关键技术?电子科技大学技术俱乐部指导老师唐佐林在第二届OpenHarmony技术大会上进行了精彩分享。

python

自2020年9月开源以来,在产业界和学术界的大力支持下,OpenHarmony已经成为智能终端领域发展速度最快的开源操作系统。将Python引入 OpenHarmony,能扩大OpenHarmony的应用场景,吸引更多开发者参与代码共建。

基于此,作者本人提出了“Py4OH”,即:Python for OpenHarmony,是OpenHarmony设备上的Python应用程序开发框架,能够将硬件设备的差异所屏蔽,提供统一的接口和开发方式,极大的提高了设备应用程序的可移植性。完整的Py4OH框架主要分为三个部分:

Py4OH引擎:OpenHarmony上的Python语言解析器以及内置接口。

Py4OH REPL:PC上的Python设备开发工具链,用于与Py4OH引擎通信完成设备编程。

Py4OH库:为OpenHarmony硬件定制开发的Python库,方便设备编程。其中,核心库集成于引擎中,由底层语言写成,不可动态更改;扩展库动态加载执行,由Python语言写成,可随意修改和动态加载。

Py4OH的引擎架构主要分为硬件层、操作系统层、API层以及应用程序层。其中,应用程序中包含了Python解释器,可读取、解析、执行Python编程语言源代码的程序。

python

Py4OH的开发环境架构主要分为IDE / Low Code / AIGC、Py4OH REPL、Middleware Runtime以及Windows/Linux/Mac四层。其中,Middleware Runtime中间层的原理类似虚拟机,为Py4OH的跨平台开发提供了虚拟环境;Py4OH REPL层与设备间的通信通过TCP、UDP以及Serial Port实现。

python

基于Py4OH框架开发的优势主要有:语言简单:轻松上手;接口统一:无需担心接口剧烈变动;应用程序可以在线升级:能够实现远程升级;可作为已有开发平台中间件(间接接入设备)。

如何基于Py4OH-REPL实现与Py4OH引擎通信完成设备编程?主要步骤为:

一、预备工作:

下载CH340驱动并安装

将设备连接至PC并确认串口(如:COM14)

烧写Py4OH镜像文件(如:Py4OH-Hi3861-v1.0.1.bin,Py4OH-RK2206-v1.0.1.bin)

二、内置函数:

%config( port, wifi, id, pwd ):用于对设备进行配置

%connect( [IP] ):用于连接设备

%workspace( [path] ):用于设置当前工作目录(Python文件应放置于工作目录中)

%install( file ):用于将工作目录中的Python文件从PC传输至设备中

%run( file ):用于执行已安装到设备的Python文件

%query( port ):用于查询设备状态

三、设备运行模式:

主要分为REPL模式和APP模式。REPL模式主要用于开发阶段,可方便的验证方案和调试程序;APP模式主要用于部署阶段,设备启动后从main.py文件开始执行。设备运行模式可通过%config()函数切换,并于重启后生效,例如:REPL模式:%config( COM14, mode, repl );APP模式:%config( COM14, mode, app )。此外,通过扩展不同的设备连接方式(如:蓝牙,星闪,等),可进行空中编程(Device Programming Over the Air)。

python

后续,作者本人及其团队,将继续进行Py4OH的OpenCV、Inference Engine、LVGL以及Mqtt/OneNet等核心库开发。电子科技大学OpenHarmony技术俱乐部也将持续深入OpenHarmony技术生态贡献,进行OpenHarmony低代码开发环境、OpenHarmony推理引擎适配、OpenHarmony图像处理框架等方面的研究。

附:外设控制示例

python

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分