书接上回,买回来了Eruopa开发板(esp8266芯片),咱先把开发环境给搭建起来。这块开发板卖家有送一个名叫“Jupter”的在线IDE环境账号,可以在浏览器中直接查看教程、编写代码、烧录板子。不过我不是很喜欢这种在线的环境,觉得还是本地环境用的舒服,不用受网络影响。
不过话说回来,里面带的“入门套件基础课程”还是不错的,省得到处去找资料。
micropython是一套仿写的python环境,语法和使用上尽量模仿python,以便笼络这帮pythoner的心来使用开发板,所以在本地开发,为了进行烧录和代码语法支持,还是需要安装python环境的。
安装python的过程就不在这里写了,我本机已有python3.7.4的环境,当然官方最新的稳定版本已经到3.9.5了。
本人电脑是联想的小新pro,所以以下内容及后续开发调试均基于windows操作系统进行,linux或mac系统支持方法不在此说明。
写代码用记事本都可以,IDE我选用pycharm。其他文本编辑器、vscode之类的都可以的。这里用pycharm主要是因为配合micropython插件后,它对语法和各种micropython库的语法支持是目前比较好的。
esp8266开发板自带了microusb插口以及板载了CH340模块,可以下载CH341SER驱动来进行连接支持。
用数据线连接到PC后,在设备管理器中查看当前连接到的端口,在“端口(COM和LPT)”下看到诸如``这样的设备时,证明系统已识别到开发板。
我电脑这里连接成功后,占用的端口是COM5,这个信息很重要,后面烧录程序和进入交互环境都需要用到。
在本地建立开发项目,命令行中使用pip install adafruit-ampy
安装烧录代码工具。进阶玩家可以根据自己需要先创建virtualenv环境,并在该虚拟python环境中安装相应的库。
1、连接设备到usb,查明当前串口号为COM5时,使用ampy -p COM5 ls
命令获取当前板内文件
> $ ampy -p COM5 ls
/boot.py
为了简化命令,可以先将设备串口号配置到环境变量中,如
> set AMPY_PORT=COM5 # linux: export AMPY_PORT=COM5
> ampy ls
添加了这个环境变量后,本次shell周期内再使用ampy命令就不需要指定-p
参数了。
2、获取boot.py
文件内容,ampy get boot.py
, 得到
# This file is executed on every boot (including wake-boot from deepsleep)
#import esp
#esp.osdebug(None)
import uos, machine
#uos.dupterm(None, 1) # disable REPL on UART(0)
import gc
#import webrepl
#webrepl.start()
gc.collect()
官方说明中强调该文件不能删除,此处先记录一下。万一误删的话,可以建个相同的文件传上去
3、上传脚本程序,由于开发板默认会执行根目录内的main.py
文件,那么就在IDE中创建此脚本文件,上传文件到开发板内可以使用ampy的put
指令。
> cd path-to-main.py-folder
> ampy put main.py
main.py
文件就用europa官方的最简示例:
示例中,led.value(0)
给针脚设置低电平是点亮LED灯,网上其他教程一般亮灯是给高电平。我问卖家,答复是板载LED一般都是这样设计的,是反过来的。
玩过python的都知道,直接在命令行中运行python命令的话,会进入到交互命令环境中,就可以进行即时代码编辑和执行c操作了。micropython也是支持进入其交互解释运行环境REPL(Read / Evaluate / Print / Loop)的,需要通过usb线连接到pc后,使用串口命令行交互工具才能实现。
很多工具可以实现进入串口交互环境中,使用最多的应该是用putty之流,本人习惯使用mobaxterm
,那么本次也还用这个软件来进行。
建立串口会话时,端口号需要选实际自己开发板占用的串口,波特率默认是115200,选错会导致交互出来的字符无法正常显示。
内部工具选用的microcom,其他几个也是可以,见仁见智。
进入REPL后,就可以在交互命令环境中直接运行python代码了,可以在此处直接运行上面示例中的import machine、…、led.value(0)之类来点亮led
快捷键 | 用途 |
---|---|
ctrl-a | 进入原生REPL模式 |
ctrl-b | 进入普通命令行模式 |
ctrl-c | 中断当前行运行的程序 |
ctrl-d | 软重启 reboot |
ctrl-e | 进入多行粘贴模式 |
ctrl-x | 退出REPL |