前阵子,micro:bit开始变的很火了,在浙江谢作如、祝良友等老师的推广下,舟山有的小学开始开设micro:bit课程了,micro:bit是用Python语言进行编程的,当然也可以用图形化编程,而且BBC官方和微软(原来微软除了code.org还搞了个编程平台啊,真是厉害了)都推出了针对micro:bit的编程工具。
micro:bit用到的语言是MicroPython,是Python 3.x的一个子集并且与Python兼容,是专门用来在一些嵌入式设备运行的Python语言,可以大大提高开发效率。支持MicroPython的硬件有很多,比如PyBoard,ESP8266,ESp32,STM32,ARM等,我们今天要说的是ESP8266。诚然micro:bit是很好玩的,可以外接传感器,价格也非常良心,只是呢只能用radio通信,而且由于本身性能的原因,运行蓝牙也比较拮据。传感器本身也是集成的。
如果是从MicroPython的角度来讲,我们不一定非得选择使用micro:bit,也可以选择ESP8266,比如国内常见的NodeMCU,WeMos D1,WeMos D1 mini等等,这些板子很便宜,大概十几块。不过传感器还是得另外买,支持WiFi连接,比较好玩,适合用于学习物联网。但是这个板子局限性也是有的,首先不是所有的学校都具备无线网络环境,二是这个板子模拟端口太少,相对比较可惜。但是是学习MicroPython的良好载体。
如果有ESP8266作为主控芯片集成了micro:bit各种传感器的板子,我一定选择8266,因为更好玩。
选择合适的USB数据线
我手头的是WeMos D1 mini,但是这个板子没有MicroPython固件,需要自己刷,在折腾这个板子的过程中我经历了无数的坑,其中最重要的经验是一定要有一条质量优良的USB数据线而不是USB充电线,不然电脑无法识别硬件,非常郁闷。
记住一定要买一条质量优良的USB数据线。
下载MicroPython固件
到MicroPython官网下载固件microPython*.bin,备用。
安装esptool
说实话,往8266里面刷固件最方便的就是命令行了
pip install esptool
安装完以后就可以用来刷固件了,具体使用方式可以通过esptool --help
查看,在写入固件之前要擦除
esptool ---port COM4 erase_flash
然后写入
关于webrepl的坑
考虑到安全性,最新的MicroPython默认是不开启webrepl的所以你需要手动开启,也就是通过串口工具与repl交互之后
推荐的串口工具是xshell,也有朋友推荐pyloader,具体使用也还可以。
import webrepl_setup
我记得不太准,具体大家可以查看文档
然后就会设定一个访问webrep的密码,然后就可以通过网络访问repl了。
友情提示:文档会告诉你可以连接ESPxxxx这样的WiFi,密码是micropythoN,还会告诉你ip地址是192.168.4.1,但是你千万不要试图访问192.168.4.1,因为MicroPython其实并没有内置web服务器,所以你访问也是白搭的,肯定是打不开的,这困扰我许久了。
FAQ
再就是经网友提醒,esp8266会在没有数据的时候,自动睡眠,断开连接,大家要注意的。
然后就是vid和pid的识别码