开始在ESP32板子上使用 MicroPython

使用MicroPython是充分利用ESP32主板的好方法。反之亦然,ESP32芯片是使用微python的一个很好的平台。本教程将指导您使用 WebREPL,连接到网络并与Internet通信,使用硬件外围设备,控制一些外部器件。

开干!

准备东西

你首先需要的是一块带有ESP32芯片的电路板。MicroPython软件支持ESP32芯片本身和任何变种板工作。这些板子GPIO引脚应该引出好接线,重要的是检查一下你的电路板上是否一个内置usb转串口电路,一般使用的芯片是cp21xx,这个系列的芯片在使用过程中稳如狗,有些板子使用CH340芯片,也算凑活能用吧!

引脚的名称将在本教程中使用芯片名称(如GPIO2),应该很容易地找到对应于您的特定板上的哪个引脚。

板子供电

如果你的主板上有USB接口,那么当它连接到你的电脑时,很有可能是通过USB接口供电的。否则你需要直接引脚供电。

获取固件

首先您需要做的事是下载最新的Micropython固件.bin文件加载到您的ESP32设备上。你可以从`MicroPython 下载官网 <https://micropython.org/download#esp32>`_. 在这里,你有3个选择:

  • 稳定固件版本
  • 每日固件更新版本
  • 每日固件更新版本带有SPI RAM支持

如果您刚开始使用MicroPython,那么最好的选择是稳定固件版本。如果您特别NB、驾驶技术了得,有使用MicroPython经历且愿意测试新版本固件可以刷刷每日更新版本。如果你的EPS32有SPIRAM支持,你可以使用标准固件或支持SPIRAM的固件,在使用了SPIRAM情况下,您将可以为Python对象访问更多的RAM。

烧录固件

一旦你获取了Micropython固件,你就需要把它烧录到你的ESP32设备上。要完成这个目的,分两个主要步骤:首先,需要将设备置于引导加载器模式启动;其次,操作下载软件执行烧录。这些步骤的所需的软件都可以从ESP32母公司网页上获得,详细信息请参阅其文件。

YD-ESP32板上具备USB转串口TTL,这极大方便烧录固件,USB转串口的DTR和RTS引脚以一种特殊的方式连接芯片,很容易操作进入相应的引导模式,所有步骤都可以自动完成。从上述所至,只有将板子以相应的引导模式启动,通过串口烧录进芯片就OK.具体步骤如下:

为了获得最佳效果,建议在安装新的Mircopython固件之前,先格式化设备的整个flash。

你可以在这里找到这个工具: https://github.com/espressif/esptool/

注意:

  • 如果串口不识别请安装串口驱动.
  • 选择你电脑识别的串口号.
  • 波特率是115200
  • 对于支持 FlashROM 配置你可能需要选择flash模式 (例如选择 -fm dio 模式)

如果上面的命令运行没有错误,那么MicroPython应该安装在您的板上!

串行提示

一旦设备烧录好固件,就可以通过UART0 (GPIO1=TX, GPIO3=RX)访问REPL (Python提示符),UART0可能连接到usb串行转换器,具体取决于您的主板。baudrate是115200。

从这里开始,您可以学习ESP8266教程,因为这两个Espressif芯片在使用Micropython方面非常相似。ESP8266教程的网址是:ref:MicroPython tutorial for ESP8266 (可以跳过介绍部分).

解决安装问题

如果您在烧录过程中或在其后运行固件时遇到问题,这里有一些故障排除建议:

  • 注意并尽量排除硬件问题。有两种常见的问题:电源供电质量太差,MCU坏了,说到如何判断,你找个电流表看看运行时是多少电流,如果电流出奇的大,甚至连指示灯不亮,你的第一反应应该是,测试供电电源的纹波和噪声/EMI,更换供电方案,防止再次烧坏新板子,坏掉的板子也没有什么抢救的价值了,只能希望在阎王爷那投胎找个靠谱的人家了。
  • 波特率最高理论可以使用460800波特率,但是还取决于你的pc,软件,和USB转串口性能,如果出问题请使用115200波特率。
  • 捕捉不正确的flash内容 (例如芯片上有缺陷的部分),添加校验命令 --verify .
  • 如果你仍然遇到flash固件的问题,请请参考esptool, https://github.com/espressif/esptool获取附加文档和bug跟踪器,您可以在其中报告问题。
  • 如果你多次烧写固件校验后仍然返回错误命令,说明芯片有问题了.