演讲嘉宾 | 唐佐林
回顾整理 | 廖 涛
排版校对 | 宋夕明
嘉宾介绍
OpenHarmony技术俱乐部分论坛
唐佐林,电子科技大学OpenHarmony技术俱乐部指导老师、电子科技大学信息与软件工程学院培训中心企业导师、四川知识产权运营中心平台智库专家、成都市开源专委会专家委员、开放原子开源基金会开源讲师、蜀鸿会创始人,研究方向:操作系统,编译原理,计算机视觉。
视频回顾
打开哔哩哔哩APP,观看更清晰视频
正文内容
Python以其简单、易学和功能强大而闻名,有着广泛的用户群体。采用Python开发有助于降低OpenHarmony的学习门槛。如何在OpenHarmony上用Python开发设备应用,有哪些关键技术?电子科技大学技术俱乐部指导老师唐佐林在第二届OpenHarmony技术大会上进行了精彩分享。
自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编程语言源代码的程序。
Py4OH的开发环境架构主要分为IDE / Low Code / AIGC、Py4OH REPL、Middleware Runtime以及Windows/Linux/Mac四层。其中,Middleware Runtime中间层的原理类似虚拟机,为Py4OH的跨平台开发提供了虚拟环境;Py4OH REPL层与设备间的通信通过TCP、UDP以及Serial Port实现。
基于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)。
后续,作者本人及其团队,将继续进行Py4OH的OpenCV、Inference Engine、LVGL以及Mqtt/OneNet等核心库开发。电子科技大学OpenHarmony技术俱乐部也将持续深入OpenHarmony技术生态贡献,进行OpenHarmony低代码开发环境、OpenHarmony推理引擎适配、OpenHarmony图像处理框架等方面的研究。
附:外设控制示例
全部0条评论
快来发表一下你的评论吧 !