【Py4OH系列教程-1】Py4OH鸿蒙设备开发的丝滑体验 原创
各位小伙伴,大家好!
上一次给大家介绍了Py4OH框架的前世今生,并展示了它的一些基础用法。其中,给大家提到:Py4OH支持repl和app两种设备运行模式;并且在repl模式下可以通过USB或IP进行代码运行和调试。那么,repl和app模式具体指的是什么呢?这就是今天要给大家介绍的主要内容。
1.开箱即用
Py4OH固件烧入设备后,只需要一根USB数据线配合Py4OH-REPL就可以直接进行设备开发(设备默认为repl模式),无需搭建开发环境,也无需编译构建。
Py4OH-REPL是什么???
简单的说,Py4OH-REPL就是一个命令行应用程序,用于接收输入(类似于标准Python的命令行);接收到的输入首先被翻译,之后传递给设备;另外,Py4OH-REPL也能接收设备的反馈,并打印到命令行。
Py4OH-REPL默认提供了很多命令函数!值得大家注意的是%workspace(),该函数用于 设置 / 打印 当前的工作目录,而工作目录就是PC端Python源码所存放的目录。
注意: OpenHarmony设备开发也具备“交叉开发”的特点,即:代码编写在PC端完成,而代码的执行在设备端进行。我们要将目标文件安装到设备端,就必须知道目标文件所在的目录,而%workspace()则用于指定这个目录。
%workspace() 为 %install(file),%run(file),%exec(file) 等命令函数提供基础。
示例如下:
D.T.Py40H >>> %workspace(D:\pydemo)
Set 'D:\pydemo' as workspace!
D.T.Py40H >>> %connect(com7)
Connection is OK!
D.T.Py4OH >>> %install(helloworld.py)
Target File: helloworld.py
Process: 100%
File installation is completed!
D.T.Py4OH >>> %run(helloworld.py)
Hello World!
上面的代码首先连接COM7上的设备,然后将工作目录设置到 D:\pydemo。设置完工作目录,%install(helloworld.py) 将目标文件 D:\pydemo\helloworld.py 传输到设备上。最后,使用通过 %run(helloworld.py) 在设备端执行目标文件中的Python代码,进而在PC端打印出Hello World!。
交互流程如下:
2. repl开发模式
Py4OH中的开发模式(交互模式)有两种连接方式,即:USB / IP。
USB方式通过COM口连接PC与设备,开箱即用,无需配置;IP方式通过wifi连接PC与设备,要求PC与设备位于同一个局域网中,并且需要配置设备连接到指定wifi,配置方式如下:
D.T.Py4OH >>> %config( com7, wifi, m60pro, 0987654321 )
Config is OK!
D.T.Py4OH >>> %query(com7)
Name: Py4OH
Mode: repl
Wifi: m60pro
Pwd: 0987654321
IP: 192.168.43.200
其中 m60pro 和 0987654321 分别为指定wifi的ID与密码;配置成功后需要重启设备生效。%query(com7)用于查询设备信息,如果出现IP地址,那么意味着配置成功。
当设备连接上指定wifi之后,即可通过IP地址连接。
D.T.Py40H >>> %connect(192.168.1.40)
Connection is OK!
注意:%connect()函数中的IP地址可以省略,此时Py4OH-REPL会自动查找可连接的设备,并自动连接;如果当前只有一个可连接设备,那么主动连接,否则打印出可连接设备的IP地址。
不同的设备连接方式使用场景不同!一般情况下,USB的连接方式更加的方便,设备插入USB即可编程,简单易用;IP的连接方式通常用于鸿蒙智能车,鸿蒙无人机,鸿蒙机器人等装备的最后调试阶段。试想一下,当你测试鸿蒙智能车的移动功能时,还有一根USB线连着PC,那会是多么糟糕的体验啊!!!
3.app部署模式
Py4OH的app部署模式用于开发的最后阶段,当代码通过repl模式测试无误之后,可以将设备的运行模式更改为app模式。app模式在设备上电时加载执行main.py入口文件,所有的设备行为依赖于部署的Python程序,而程序中的print()输出被重定向到COM口(串口),可直接通过串口工具查看。
设备运行模式的配置方式如下:
repl模式: %config( com4, mode, repl )
app模式: %config( com4, mode, app )
注意:配置成功后需要重启设备进入目标运行模式。
Step by Step!
(1)编写main.py文件
import math
print('Hello, Py4OH!!')
r = 5
area = math.pi * (r ** 2)
print('area = ', area)
(2)安装文件并切换模式
D.T.Py4OH >>> %connect(com7)
Connection(COM7) is OK!
D.T.Py4OH >>> %install(main.py)
Target File: main.py
Process: 100%
File installation is completed!
D.T.Py4OH >>> %config(com7, mode, app)
Config is OK!
(3)通过第三方串口工具连接设备,重启后可看到如下的输出
Ok!今天的教程就到这里了,希望大家自行动手实验,初步感受一下Py4OH设备开发的丝滑体验。
Enjoy it!