号外!号外!OHOS设备上的完整Python发布了! 原创 精华

唐佐林
发布于 2021-11-13 09:46
浏览
31收藏

        你是不是被设备开发环境搭建惹恼过?

        你是不是因为一堆编译错误而崩溃过?

        你是不是对烧写设备时需要的那5分钟感到无语?

        …… 

     

        现在,另外一种开发选择真的来了!!!!

 

        大家好,我是唐佐林。怀着无比激动的心情,再再再次向大家介绍我的这个Python开源项目。并且这次是带着诚意来的,直接上手的Python完整版已经可下载使用了。不像前几次那样,说好了是Python,可是最终还是需要编译C代码,还是需要烧写设备。。。现在,可以彻底屏蔽C语言,使用Python语言动态对设备进行编程了。

 

人生苦短,快用Python!

 

Py4OH-REPL闪亮登场!

号外!号外!OHOS设备上的完整Python发布了!-鸿蒙开发者社区Py4OH-REPL是运行于PC上的命令行应用程序,其功能是与运行Py4OH的开发板进行通信,动态将Python代码传递到开发板执行,并实时显示执行结果。

 

这个PC应用程序是由我自主设计开发的,大家使用后有任何建议和意见都可以直接给我留言。

 

一,预备工作

  1. 下载附件中的CH340驱动并安装
  2. 将设备连接至PC并确认串口(如:COM14)
  3. 下载附件中的烧写工具Hiburn.exe和镜像文件Py4OH-Hi3861-v1.0.0.bin,并放置于同一目录
  4. 在步骤3的目录中执行烧写命令:Hiburn.exe   -com:14   -bin:Py4OH-Hi3861-v1.0.0.bin

号外!号外!OHOS设备上的完整Python发布了!-鸿蒙开发者社区

 

二,REPL内置函数使用说明

1. 设备配网

函数:%config( port, wifi, id, pwd )

说明:%config() 是REPL提供的内置函数,用于对设备进行配置

参数说明:

  • port  – 设备串口号
  • wifi   – 常量,指明配置wifi连接所需的信息
  • id      – wifi名称
  • pwd  – wifi密码

注意:使用%config()函数对设备进行配置后必须重启才能生效。

 

2. 设备连接

函数:%connect( [IP] )

说明:%connect() 是REPL提供的内置函数,用于连接设备

参数说明:

  • IP – 字符串形式的设备IP地址,如:192.168.3.22

 

一般情况下,可省略IP参数,直接%connect()连接设备;但附近存在多个设备时,需要明确指明设备IP地址进行连接,如:%connect(192.168.3.10)。

 

PS:%disconnect()函数将断开与设备的连接。

 

特别提示:

Windows防火墙可能导致PY4OH-REPL连接不稳定,请关闭防火墙。

 

3. 工作区设置

函数:%workspace( [path] )

说明:%workspace() 是REPL提供的内置函数,用于设置当前工作目录(Python文件应放置于工作目录中)

参数说明:

  • path – 目标Python文件所存放的本机目录

 

4. Python文件安装

函数:%install( file )

说明:%install() 是REPL提供的内置函数,用于将工作目录中的Python文件从PC传输至设备中

参数说明:

  • file – 需要安装到设备的Python文件

 

5. Python文件执行

函数:%run( file )

说明:%run()是REPL提供的内置函数,用于执行已安装到设备的Python文件

参数说明:

  • file – 已经存在于设备中的Python文件

 

6. 设备状态查询

函数:%query( port )

说明:%query()是REPL提供的内置函数,用于查询设备状态

参数说明:

  • port – 设备串口号

号外!号外!OHOS设备上的完整Python发布了!-鸿蒙开发者社区

 

三,设备运行模式

设备可运行于REPL模式和APP模式。

 

REPL模式主要用于开发阶段,可方便的验证方案和调试程序。

当设备运行于REPL模式时,设备启动阶段会尝试连接wifi,若连接失败,则无法进行实时编程,脚本安装和执行。此时,可将设备连接至PC,并通过%config()函数重新配网。REPL模式需要在开发板联网时(局域网)使用。

 

APP模式主要用于部署阶段,设备启动后从main.py文件开始执行。

APP模式下,设备行为完全依赖于以main.py作为入口的Python程序,对开发板是否联网无要求。

 

设备运行模式可通过%config()函数切换,如:

  • REPL模式:%config( COM14, mode, repl )
  • APP模式:%config( COM14, mode, app )

注意:切换运行模式后必须重启才能生效。

 

四,设备实时编程

直接在REPL命令行输入Python语句,回车即可。

号外!号外!OHOS设备上的完整Python发布了!-鸿蒙开发者社区

Py4OH直播回放:

https://harmonyos.51cto.com/activity/121

 

Py4OH使用视频:

https://harmonyos.51cto.com/show/9231

 

Python设备开发文章:

使用Python开发鸿蒙设备程序(0-初体验)

使用Python开发鸿蒙设备程序(1-GPIO外设控制)

使用Python开发鸿蒙设备程序(2-I2C应用实例)

使用Python开发鸿蒙设备程序(3-安防系统雏形)

# 更多Python设备开发文章即将解锁。。。。。。

 

开源地址:

https://gitee.com/delphi-tang/python-for-hos

 

Enjoy it!

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
HiBurn.zip 1.79M 436次下载
Py4OH-Hi3861-v1.0.0.zip 591.38K 426次下载
Py4OH-REPL-v1.0.0.zip 3.81M 433次下载
CH341SER.ZIP 179.66K 566次下载
Demo.zip 1.52K 193次下载
已于2021-11-29 10:12:28修改
39
收藏 31
回复
举报
66条回复
按时间正序
/
按时间倒序
Lgor
Lgor

这些软硬件在哪里买呀

回复
2021-11-13 10:14:37
时空未宇
时空未宇

呜呼~

唐sir武威🧐 🧐 

回复
2021-11-13 10:18:37
龙英勇
龙英勇

必须是小熊派的板子吗?

回复
2021-11-13 11:20:01
唐佐林
唐佐林 回复了 龙英勇
必须是小熊派的板子吗?

基于Hi3861的板子都可以。

2
回复
2021-11-13 12:04:46
唐佐林
唐佐林 回复了 Lgor
这些软硬件在哪里买呀

软件在文章末尾下载,板子可以淘宝购买。

1
回复
2021-11-13 12:05:33
Tuer白晓明
Tuer白晓明

厉害了,唐老师

回复
2021-11-13 17:43:07
vsrrrrrb
vsrrrrrb

三连支持一波~~

回复
2021-11-13 22:07:10
千云山庄
千云山庄

期待唐老师教我们 mqtt 

这个太方便了

回复
2021-11-13 22:59:50
千云山庄
千云山庄

我发现 gpio 没经过 gpio_init() 也能用

回复
2021-11-13 23:20:38
唐佐林
唐佐林 回复了 千云山庄
期待唐老师教我们 mqtt 这个太方便了

mqtt如果有比较多的需求,我可以考虑后面开发python api接口

1
回复
2021-11-13 23:24:24
千云山庄
千云山庄 回复了 唐佐林
mqtt如果有比较多的需求,我可以考虑后面开发python api接口

唐老师 ,墙裂要求把 mqtt 加到 bin 里,开箱即用,

去年 hispark 发布就盼着这个功能,

淘宝有 鸿蒙带python 的开发板 要200 起步,

200元 我买个树莓派烧 欧拉  linux跑全功能python3  不香吗

海王星10元 要能烧你开发的mpy 跑mqtt,

广大diy的福音 .

国内您是带头大哥没跑了!!!

 

 

已于2021-11-14 11:37:24修改
1
回复
2021-11-14 11:09:53
唐佐林
唐佐林 回复了 千云山庄
唐老师 ,墙裂要求把 mqtt 加到 bin 里,开箱即用, 去年 hispark 发布就盼着这个功能, 淘宝有 鸿蒙带python 的开发板 要200 起步, 200元 我买个树莓派烧 欧拉 linux跑全功能python3 不香吗 海王星10元 要能烧你开发的mpy 跑mqtt, 广大diy的福音 . 国内您是带头大哥没跑了!!!

好的,安排!

我想想怎么做这个需求。

 

你说的非常对,我做这个事就是因为L0-L1级别的板子没法跑全功能Python3,L2之后的板子我肯定是基于标准Python3来做支持了。

3
回复
2021-11-14 11:36:47
鸿联
鸿联

试了一遍,不错!

1
回复
2021-11-14 21:47:17
胸毛大猛汉
胸毛大猛汉

牛啊牛啊

1
回复
2021-11-15 11:30:12
Easycloud
Easycloud

谢谢唐老师这么快就开发出来PY了!  神速啊!  希望能编一套hihope润和的智能小车的py文件和手机APP, 可以控制小车.

回复
2021-11-15 20:01:14
唐佐林
唐佐林 回复了 Easycloud
谢谢唐老师这么快就开发出来PY了! 神速啊! 希望能编一套hihope润和的智能小车的py文件和手机APP, 可以控制小车.

这个可以有!

回复
2021-11-15 20:08:19
Easycloud
Easycloud

唐老师好!

用润和的3861进行测试,wifi可以安装上,但就是无法连接上,可否看看是怎么回事?

 

D.T.Py4OH >>> %config(COM6,wifi,OHOS-Test,12345678)
Config is OK!

D.T.Py4OH >>> %query(COM6)
Mode: repl
Wifi: OHOS-Test
Pwd: 12345678

D.T.Py4OH >>> %connect()
No device to connect!

回复
2021-11-16 10:31:06
唐佐林
唐佐林 回复了 Easycloud
唐老师好! 用润和的3861进行测试,wifi可以安装上,但就是无法连接上,可否看看是怎么回事? D.T.Py4OH >>> %config(COM6,wifi,OHOS-Test,12345678)Config is OK! D.T.Py4OH >>> %query(COM6)Mode: replWifi: OHOS-TestPwd: 12345678 D.T.Py4OH >>> %connect()No device to connect!

%conifg()函数中,最后两个参数是你所在环境中真实的WIFI名称和WIFI密码。

 

函数:%config( port, wifi, id, pwd )

说明:%config() 是REPL提供的内置函数,用于对设备进行配置

参数说明:

port  – 设备串口号
wifi   – 常量,指明配置wifi连接所需的信息
id      – wifi名称
pwd  – wifi密码

回复
2021-11-16 10:39:43
Easycloud
Easycloud 回复了 唐佐林
%conifg()函数中,最后两个参数是你所在环境中真实的WIFI名称和WIFI密码。 函数:%config( port, wifi, id, pwd ) 说明:%config() 是REPL提供的内置函数,用于对设备进行配置 参数说明: port – 设备串口号wifi – 常量,指明配置wifi连接所需的信息id – wifi名称pwd – wifi密码

谢谢!  成功了!   :)

回复
2021-11-16 11:58:29
唐佐林
唐佐林 回复了 Easycloud
抱歉,此内容已被作者删除

这,你用的什么Python啊?

貌似不是Py4OH吧!接口不相同!

 

回复
2021-11-17 19:52:55
回复
    相关推荐