当第一次使用装载了MicroPython的pyboard时,我们只要一根安卓手机的数据线(macroUSB)就足够了。当连接了macroUSB线后,在windows中会自动安装移动磁盘驱动和虚拟串口驱动。移动磁盘的驱动系统自带了,可以自动识别出来,而虚拟串口的驱动可以在这个移动磁盘中找到。在Linux和MacOS下,无需另外安装驱动。
移动磁盘中默认会有4个文件,它们分别是:
- main.py,开机自动运行文件,可以将自己的代码放在里面
- boot.py,开机引到文件,由它加载main.py
- pybcdc.inf,windows下的虚拟串口驱动文件
- readme.txt,简要说明
我们可以在main.py中增加代码,加入需要开机自动完成的功能。EEWORLD版的pyboard中,我在main.py中增加了一小段代码,用于LED自检,然后用LED3(橙色)做呼吸灯。
- from pyb import Timer
- # LED loop test
- def LED_loop_test():
- for i in range(1, 5):
- pyb.LED(i).on()
- pyb.delay(100)
- pyb.LED(i).off()
- pyb.delay(100)
- LED_loop_test()
- # LED3 breathing lamp
- ia = 1
- da = 1
- def fa(t):
- global ia, da
- if (ia==0)or(ia==255):
- da=256-da
- ia=(ia+da)%256
- pyb.LED(3).intensity(ia)
- tm=Timer(1, freq=200, callback=fa)
复制代码
连上开发板后,我们需要一个支持串口功能终端软件,推荐使用
putty、
kitty和winxp下的超级终端,它们都可以很好的支持micropython。putty和kitty还支持多种操作系统。
设置串口波特率为115200,连接到pyboard,可以看到提示画面,可以直接在命令行中输入指令和代码,运行程序,和在标准的python软件环境下一样,可以输入help()查看简单的帮助。
上下键可以切换历史命令,鼠标右键可以复制剪贴板的内容。按下Ctrl+C可以中止当前程序,Ctrl+D软复位,通常情况下不要按pyboard板子上的复位键,因为这样会丢失串口连接,使终端软件无法连接到开发板。
如果程序较长和复杂,在命令行方式编写就不方便,可以用其他编辑器编写文件,然后复制到pyboard的磁盘中在运行。复制文件后一定要安全退出磁盘,不然pyboard上的文件系统很可能会被破坏,需要进行恢复出厂设置。
对于micropython的初学者,如果对python语言还不熟悉的,需要先看看python的基本教程,然后在开始。python比C语言简单一些,通常花一两天掌握初步的语法就可以开始玩了。如果对python比较了解,那么可以直接开始,看看LED、按键、定时器、串口的用法,很快就可以掌握基本方法。
MicroPython的作者非常勤奋,软件升级也很快。我在调试和烧写固件时,版本是pybv10-2016-03-28-v1.6-310-g1937953.dfu,而写这个帖子的时候,固件已经升级到pybv10-2016-04-07-v1.6-379-g5e7fa7c.dfu。如果需要升级固件,可以参考一下教程中的
【MicroPython】怎样升级固件。如果是在Linux下,参考这里
https://github.com/micropython/micropython/wiki/Pyboard-Firmware-Update。如果你的pyboard没有正常运行,可以先尝试
恢复出厂设置,如果连移动磁盘都无法识别出来,可以重新下载一下固件。
pyboard支持TF卡,如果没有插入TF卡,系统是从内部flash启动;如果插入TF卡并能识别出来,就将TF卡做为默认的磁盘。pyboard使用SDIO方式驱动TF卡,速度比SPI方式快很多。可以将pyboard做为TF读卡器,虽然速度不是很快(约450K/s),应急还是不错的。
硬件上,EEWORLD版本的pyboard是以官方的pyboard v1.0为基础修改而来,具体的改进和一些问题请参考《
EEWORLD版pyboard说明》。
使用过程中我们都会遇到一些问题,很多问题可以在
【MicroPython】教程 中找到解决方法。如果没有找到的,可以提出来大家一起讨论。