首页 > 评测 > 用Python来做嵌入式开发——Adafruit PyBoard评测

用Python来做嵌入式开发——Adafruit PyBoard评测

python   Adafruit   PyBoard   STM32F405   
  • 作者:小淘气
  • 来源:21ic
  • [导读]
  • Python被誉为胶水语言,在图形处理,数学处理,Web编程,多媒体应用等领域均发光发彩。而在嵌入式领域,MicroPython也自己的一席之地。

输入help()命令后会显示,PyBoard的基本操作命令,如下图:

PyBoard13.jpg

PyBoard上安装了4个LED分别为红绿黄蓝,原理图如下图:

PyBoard14.jpg

在help中已经介绍完了LED的控制方法,通过pyb.LED()控制

pyb.LED(n) n代表LED的编号,1代表红色LED,2代表绿色LED,3代表黄色LED,4代表蓝色LED。

pyb.LED(n).on()点亮LED

pyb.LED(n).off()关闭LED

pyb.LED(n).toggle()翻转LED

pyb.LED(n).intensity([value])这里可以设置LED的亮度,value取值范围是0-255,0为关,255位最亮

接下来我们将4个led全部点亮,如下图:

PyBoard15.jpg

点亮后如下图:

PyBoard16.jpg

原理图如下:

PyBoard17.jpg

红绿蓝LED,亮度很高,相比之下黄色LED稍微弱一点,从原理图来看,蓝色LED的限流电阻偏小,猜测是为了将亮度调整的相近,但是结果是黄色的LED似乎略有些暗。

其实小编倒是有别的想法,现在使用RGB LED的越来越多了,其实RGB LED就相当于三颗独立的LED封装到一起了,这样封装小,更适合这样比较紧凑的板子。并且RGB LED还可以设计出更多的颜色,增加可玩性。

MicroPython脚本语言最大的优点就是,输入命令后马上就可以看到效果,比我们最熟悉的Arduino更方便更高效,因为少了编译,下载的步骤。因为Python本来就是解释型语言,MicroPython的命令也比较简单,容易理解,容易使用,可以说更容易上手。

接下来我们再试着读取加速度传感器的值,如下图:

PyBoard18.jpg

总体来讲使用非常方便。

如果将MicroSD卡插入上电,PYBoard会默认从SD卡启动来替代原本从MCU的ROM中启动。但是前提是需要将原来的的boot.py和main.py这两个文件拷贝到MicroSD卡中否则不能运行。

如果我们想要让板子上电后就执行板子内的程序这我们就需要在main.py这个文件中编写我们想要的内容,小编使用Notepad++编辑文件,如下图:

PyBoard19.jpg

import pyb 代表使用pyb模块,这个模块包含了控制开发板的所有函数和类,接下来4行是设置LED的不同的亮度,编辑完成后保存,在保存时红色的LED是亮的,保存完成后熄灭,退出PYBoard,重新连接开发板,四个LED以不同的亮度亮起来,但是红色和绿色的亮度值已经很低了但是实际亮度依旧非常高,差点把小编的眼睛晃瞎,如下图:

PyBoard20.jpg

PyBoard有三种启动模式

1.标准模式,只有绿色LED灯亮,先执行boot.py文件,然后再执行main.py文件。

2.安全模式,只有橙色LED灯亮,启动时不执行任何脚本程序。

3.恢复文件系统,绿色和橙色LED灯同时亮,将Flash文件系统恢复为出厂数据,然后以安全模式启动。

假若你的文件系统被损坏,可以进入模式3修复它,详细操作步骤在官网有详细介绍。

错误指示

1.假如你看到红色和绿色LED灯交替闪烁,表示Python脚本有错误(main.py),可以通过REPL进行调试修复。

2.假如4个LED灯以较慢的速度循环亮灭,这时出现了非常严重的错误(比如内部出现跑飞了),这种情况下只能通过硬件复位来恢复了。

硬件恢复需要使用ST DFU Se为PYBoard下载固件。

七.其他资料

官方网站上提供了PyBoard的固件,原理图,等文件。另外官网还提供了详细的快速参考手册,教程等文件,如下图:

PyBoard21.jpg

这些文件详细的介绍了MicroPython和PyBoard,通过这些资料可以快速的入门,唯一不方便的是这些资料是英文的,好在国内的一些论坛也有翻译这些资料的,可以供参考。

八.总结及展望

Python本来就是非常容易入门的语言,同时也是应用广泛的语言,MicroPython将这用容易学习和使用的语言带到了嵌入式开发中,可以直接操作硬件,并且不需要编译和下载,可以快速的看到程序的结果,这是非常好的体验。PyBoard精致小巧是一块漂亮的开发板,可以方便的学习和开发,另外MicroPython也支持更多的平台,例如:STM32F4 Discovery Board,NUCLEO-F401RE Board,NUCLEO-F767ZI Board,ESP8266,WiPy等,以上的这些开发板都可以支持MicroPython,在开发板内刷上固件就可以使用了。MicroPython带来了全新的开发体验,有兴趣的同学可以试试。

九.官方资料

官网:http://micropython.org/

  • 本文系21ic原创,未经许可禁止转载!

网友评论