早前接触过树莓派,觉得贵;
后来接触便宜的Arduino(uno),不太喜欢它的IDE,也不习惯c++的编写方式;
企图入坑香橙派(Orange Pi),但对可找到的文档数量担忧,最终没敢试坑;
最近才知道有esp32,便宜,性能高,可以刷micropython,完美的一次满足我3个愿望!
esp32简介
esp32是一款流行的支持WiFi和蓝牙的系统芯片(SoC),简单说就是一台带蓝牙,wifi的微型电脑,多用于物联网(IoT)领域。它可以刷Arduino系统,还能刷micropython。
话说~有micropython还要啥自行车?
以下调试环境在Win10(64位)完成。
一、安装刷机环境
1、安装本地python环境
选择简单快捷的miniconda,下载地址:
https://docs.conda.io/en/latest/miniconda.html
2、安装刷机工具esptool
该工具基于python运行,用于编辑esp32的固件,安装命令:
pip install esptool
3、安装传输工具adafruit-ampy
该工具基于python运行,用于往esp32上传、下载文件,安装命令:
pip install adafruit-ampy
4、安装PuTTY客户端
用于通过串口通信连接到esp32上,在上面执行操作命令,下载地址:
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
5、下载esp32适用的micropython固件版本(.bin文件)
下载地址:
http://www.micropython.org/download/esp32/
搞不懂为什么esp32的micropython固件还分idf3和idf4,但官方说了:搞不懂就选idf3。
二、清除esp32原固件
1、USB线连接esp32和Windows10,Windows10会自动完成驱动安装。
2、鼠标移动到开始菜单,点右键,在弹出菜单中选择设备管理器
,在设备管理器窗口找到端口(COM和LPS)
,找到刚才装好驱动的设备,记下设备名最末的COM口编号,比如我的是COM4
,如图:
3、清除esp32原有的固件,执行命令
esptool --chip esp32 --port COM4 erase_flash
其中,COM4换成你的端口号。
三、写入micropython固件
执行命令:
esptool --chip esp32 --port COM4 --baud 115200 write_flash -z 0x1000 c:\esp32-idf3-20191220-v1.12.bin
其中,COM4换成你的端口号;c:\esp32-idf3-20191220-v1.12.bin是下载的固件文件,换成你的固件文件路径。
如果发现写入时界面卡在Connecting,甚至最后报time out错误,则需要在Connecting出现时点击一下esp32面板上的boot按钮,即可顺利写入。
完成这一步后,mircopython已经写入成功。
四、管理esp32
1、使用PuTTY连接到esp32进行操作
运行PuTTY,Category选中Session,右侧的界面中:
- Connection type选择:Serial
- Serial line输入:你的端口号
- Speed输入:115200
一切就绪,点击Open按钮,即连接进入esp32。
看到如下界面,即表示成功连接esp32了,是你熟悉的python命令行环境。
看看里面有什么文件,在PuTTY执行命令:
import os
os.listdir()
看到只有一个文件 boot.py,这个py文件会在esp32通电后自动执行,所以它是esp32的启动程序入口,你可以编辑该文件达到通电后自动执行程序的目的。
2、使用adafruit-ampy上传、下载文件
在此之前需要先退出PuTTY,因为PuTTY占用了esp32端口的情况下,ampy无法使用该端口传输文件。
上传文件命令,例如上传本地当前目录下的foo.txt到esp32的根目录:
ampy --port COM4 put foo.txt
下载文件命令,例如下载esp32根目录下的esp32file.txt到本地当前目录下的foo.txt:
ampy --port COM4 get esp32file.txt foo.txt
删除文件命令,例如删除esp32根目录下的foo.txt文件:
ampy --port COM4 rm foo.txt
其中,COM4换成你的端口号。ampy更多上传、下载命令格式可以用--help参数查看:
ampy --port COM4 put --help
ampy --port COM4 get --help
3、其他常用操作
重启设备可以按esp32板子上的RST
按钮;
在PuTTY中:
如果要终止当前python程序,可以按键Ctrl+C
;
如果要重启设备,可以按键Ctrl+D
;