回答

收藏

[评测分享] 【米尔-MYD-LR3568-GK开发板--试用评测】3——运行Python脚本

#板卡评测 #板卡评测 1536 人阅读 | 0 人回复 | 2024-11-08

本帖最后由 stm1024 于 2024-11-8 23:42 编辑

今日测试一下在米尔-MYD-LR3568-GK开发板上跑Python脚本。

1. Python环境
通过参看手册知道,buildroot支持的开发语言有:

测试MYD-LR3568-GK开发板上是带有python解释器,可以看到版本是3.10.5:


实际上这个python 是python3的链接:

所以在终端中使用python或者python3都是可以的。

2. 交互环境
例如,可以在Python解释器下,测试交互式的环境:
python之禅:

通过exit()或者quit()退出交互环境,返回到终端中。

3. 运行脚本
开发板只有一个vi编辑器,但是对于Python脚本的编写太捉襟见肘了,所以在外面编辑好以后上传到开发板中,脚本内容如下:
  1. import time
  2. import os

  3. os.system('echo none > /sys/class/leds/user/trigger')
  4. os.system('echo none > /sys/class/leds/run/trigger')

  5. f_user=open('/sys/class/leds/user/brightness','w')
  6. f_run=open('/sys/class/leds/run/brightness','w')
  7. try:
  8.   while True:
  9.     f_user.write('1')
  10.     f_user.flush()
  11.     f_run.write('1')
  12.     f_run.flush()
  13.     print('ON')
  14.     time.sleep(1)
  15.    
  16.     f_user.write('0')
  17.     f_user.flush()
  18.     f_run.write('0')
  19.     f_run.flush()
  20.     print('OFF')
  21.     time.sleep(1)
  22. except:
  23.   print('Turn Off LEDs and Exit')
  24.   f_user.write('0')
  25.   f_user.flush()
  26.   f_run.write('0')
  27.   f_run.flush()
  28. finally:
  29.   f_user.close()
  30.   f_run.close()
复制代码
这个脚本是使用了前面介绍到通过文件操作LED的方法,文件名称为myled.py
然后在终端中运行该脚本即可,注意脚本本身并不需要可执行权限,只要具备可读权限即可。

可以看到开发板上的LED与终端中描述的状态相符。按组合键Ctrl+C停止脚本运行。需要注意的是,脚本中,在写入了一个字符到文件中以后,由于文件流是带有Buffer的,因此,需要调用flush强制把流刷一下,否则没效果。



分享到:
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条