esp32刷micropython笔记

早前接触过树莓派,觉得贵;
后来接触便宜的Arduino(uno),不太喜欢它的IDE,也不习惯c++的编写方式;
企图入坑香橙派(Orange Pi),但对可找到的文档数量担忧,最终没敢试坑;
最近才知道有esp32,便宜,性能高,可以刷micropython,完美的一次满足我3个愿望!

esp32简介

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,如图:

记录下COM口编号

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按钮,即可顺利写入。


boot按钮

完成这一步后,mircopython已经写入成功。

四、管理esp32

1、使用PuTTY连接到esp32进行操作

运行PuTTY,Category选中Session,右侧的界面中:

  1. Connection type选择:Serial
  2. Serial line输入:你的端口号
  3. Speed输入:115200

一切就绪,点击Open按钮,即连接进入esp32。


PuTTY设置界面

看到如下界面,即表示成功连接esp32了,是你熟悉的python命令行环境。


PuTTY连接进入esp32界面

看看里面有什么文件,在PuTTY执行命令:
import os
os.listdir()
esp32内的文件列表

看到只有一个文件 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

你可能感兴趣的:(esp32刷micropython笔记)