首页 > 评测 > 用Python来做嵌入式开发——Adafruit PyBoard评测
用Python来做嵌入式开发——Adafruit PyBoard评测
- [导读]
- Python被誉为胶水语言,在图形处理,数学处理,Web编程,多媒体应用等领域均发光发彩。而在嵌入式领域,MicroPython也自己的一席之地。
输入help()命令后会显示,PyBoard的基本操作命令,如下图:
在PyBoard上安装了4个LED分别为红绿黄蓝,原理图如下图:
在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全部点亮,如下图:
点亮后如下图:
原理图如下:
红绿蓝LED,亮度很高,相比之下黄色LED稍微弱一点,从原理图来看,蓝色LED的限流电阻偏小,猜测是为了将亮度调整的相近,但是结果是黄色的LED似乎略有些暗。
其实小编倒是有别的想法,现在使用RGB LED的越来越多了,其实RGB LED就相当于三颗独立的LED封装到一起了,这样封装小,更适合这样比较紧凑的板子。并且RGB LED还可以设计出更多的颜色,增加可玩性。
MicroPython脚本语言最大的优点就是,输入命令后马上就可以看到效果,比我们最熟悉的Arduino更方便更高效,因为少了编译,下载的步骤。因为Python本来就是解释型语言,MicroPython的命令也比较简单,容易理解,容易使用,可以说更容易上手。
接下来我们再试着读取加速度传感器的值,如下图:
总体来讲使用非常方便。
如果将MicroSD卡插入上电,PYBoard会默认从SD卡启动来替代原本从MCU的ROM中启动。但是前提是需要将原来的的boot.py和main.py这两个文件拷贝到MicroSD卡中否则不能运行。
如果我们想要让板子上电后就执行板子内的程序这我们就需要在main.py这个文件中编写我们想要的内容,小编使用Notepad++编辑文件,如下图:
import pyb 代表使用pyb模块,这个模块包含了控制开发板的所有函数和类,接下来4行是设置LED的不同的亮度,编辑完成后保存,在保存时红色的LED是亮的,保存完成后熄灭,退出PYBoard,重新连接开发板,四个LED以不同的亮度亮起来,但是红色和绿色的亮度值已经很低了但是实际亮度依旧非常高,差点把小编的眼睛晃瞎,如下图:
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的固件,原理图,等文件。另外官网还提供了详细的快速参考手册,教程等文件,如下图:
这些文件详细的介绍了MicroPython和PyBoard,通过这些资料可以快速的入门,唯一不方便的是这些资料是英文的,好在国内的一些论坛也有翻译这些资料的,可以供参考。
八.总结及展望
Python本来就是非常容易入门的语言,同时也是应用广泛的语言,MicroPython将这用容易学习和使用的语言带到了嵌入式开发中,可以直接操作硬件,并且不需要编译和下载,可以快速的看到程序的结果,这是非常好的体验。PyBoard精致小巧是一块漂亮的开发板,可以方便的学习和开发,另外MicroPython也支持更多的平台,例如:STM32F4 Discovery Board,NUCLEO-F401RE Board,NUCLEO-F767ZI Board,ESP8266,WiPy等,以上的这些开发板都可以支持MicroPython,在开发板内刷上固件就可以使用了。MicroPython带来了全新的开发体验,有兴趣的同学可以试试。
九.官方资料
-
- 本文系21ic原创,未经许可禁止转载!
网友评论
- 联系人:巧克力娃娃
- 邮箱:board@21ic.com
- 我要投稿
-
欢迎入驻,开放投稿
-
人均百万?英伟达中国员工收入曝光! 2024-08-29
-
《黑神话:悟空》玩家硬盘升级攻略:提升游戏体验,畅享3A大作 2024-08-29
-
数睿数据参加《系统与软件工程 低代码开发平台通用技术要求》国家标准编制 2024-08-29
- NRF52810蓝牙数字耳机找人定制
预算:¥30005天前
- 125KW模块式PCS软硬件外包开发
预算:¥1100000015小时前
- 12V汽车启动电源项目BMS设计
预算:¥50000023小时前
- 数据可视化软件 开发
预算:¥5000023小时前
- PLC项目调试修改
预算:¥100001天前
- 起动电机控制器开发
预算:¥1100001天前