[ESP32系列教程]ESP32教程:MicroPython支持

2018-10-31 17:44:13 [显示全部楼层]
30130浏览
查看: 30130|回复: 8

[ESP32系列教程] ESP32教程:MicroPython支持

[复制链接]
本MicroPython教程旨在阐释如何将MicroPython固件烧录到ESP32并使用简单的“Hello World(你好,世界)”程序进行测试。

本文旨在阐释如何将MicroPython固件烧录到ESP32并使用简单的“Hello World”程序进行测试。
MicroPython是Python 3编程语言的实现,其包含一个Python标准库的小子集,且已经经过优化,可在微控制器上运行[1]。幸运的是,ESP32和ESP8266一样,也有一个MicroPython端口,如此处所示(https://github.com/micropython/micropython-esp32)。
虽然我们可以自行构建本项目(此处查看说明:https://github.com/micropython/micropython-esp32/tree/esp32/esp32),但上手MicroPython最简单的方法是下载预构建的固件并将其上传到开发板。本教程将采用此法。
本教程制作于Windows系统。使用的是这块ESP32开发板。

所需软件

为适用本教程,需在机器上安装Python。本教程是用Python 2.7创建的,但更高版本的Python也应该可以制作。
此外,要用ESP32烧录MicroPython二进制文件还需借助一个名为esptool的软件。本文撰写之际,该软件稳定版为1.x,尚不支持ESP32 [2]。因此无法通过pip或其他Python包管理器安装该软件,需手动完成。
因此,必须从此处下载esptool的最新版本(https://github.com/espressif/esptool/releases/)。本教程所用版本为v2.0beta2。
esptool源代码下载完毕后,将其解压缩到文件夹。该文件夹内有一个setup.py文件。假设已经安装了Python,则导航到解压后的文件夹并输入以下命令:
  1. python setup.py install
复制代码
此操作将在系统上安装esptool。如果你愿意的话,可从该软件的存储库中查看手动安装说明。
最后,需要用到MicroPython软件的二进制文件。可从此处获取该文件(https://micropython.org/download/#esp32)。下载并保存在文件夹中,之后会派上用场。

步骤
首先,需擦除ESP32的flash。为此只需在命令行中输入以下命令。你需要将“COM5”改为你的ESP32所连接的串行端口。
  1. esptool.py --port COM5 erase_flash
复制代码
然后,使用以下命令将二进制文件上传到ESP32。同样地,你需要将COM5改为你的ESP32串行端口。此外,还需将pathToYourFile/BinaryFile改为你的二进制文件的路径和名称。Windows系统有一个简单的操作技巧,即把文件拖放至命令行。
  1. esptool.py --port COM5 --baud 460800 write_flash --flash_size=detect 0 pathToYourFile/binaryFile
复制代码
之后,你应该可以在ESP32开发板上使用MicroPython了。我们马上来确认一下。

测试安装
为测试安装,我们需要一个额外的工具与Python prompt进行交互。虽然其他可建立串行连接的软件也同样适用,但在本教程中我们将选用Putty。你可以在此处下载该软件(https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html)。

从上一个链接下载.exe文件后,只需打开它,Putty图形用户界面 (GUI) 就会弹出。在连接类型上选择“串行 (Serial) ”,在串行行上输入ESP32的串口(于我而言是COM5),并将速度设置为115200。参看图1突出显示的配置。


ESP32教程:MicroPython支持图1
图1 – 使用Putty连接到ESP32 MicroPython prompt。

完成所有配置后,点击打开。如一切配置无误,你现在应该得到一个如图2所示的窗口,且MicroPython prompt可用。

ESP32教程:MicroPython支持图2
图2 – ESP32 MicroPython prompt。

Hello World程序
要完成本教程,我们将打印一条简单的“Hello World”消息。编写以下命令并按回车键:
  1. print ("Hello World From ESP32 MicroPython")
复制代码
你应该会得到类似于图3的东西。在示例中,我发送了两次命令。

ESP32教程:MicroPython支持图3
图3 –  ESP32 MicroPython“Hello World”。
你现在可以在ESP32上使用Python了。

结 语
我要特别感谢ESP32 MicroPython端口背后的团队,我在Github页面上提出请求后他们立即提供了二进制文件。此外,还感谢他们制作了这个人人可用的超棒工具!

注:本文作者是Nuno Santos,他是一位和蔼可亲的电子和计算机工程师,住在葡萄牙里斯本 (Lisbon)。
他写了很多有关ESP32、ESP8266的有用的教程和项目。

查看更多ESP32/ESP8266教程和项目,请点击 : ESP32教程 汇总贴

名字并不重要  学徒

发表于 2019-4-28 13:48:48

我是小白,刚注册进来学习的。看了楼主的教程,还是想请教一下。
之前买过Nodemcu的开发板(esp8266的),下载装上ESPFlashDownloadTool_v3.6.4,把Nodemcu的开发板烧成micropython固件,一切正常(我的电脑用的是WIN7)。前几天买回Nodemcu的开发板(esp-32s的),到官网上下载了最新的固件,也想刷成micropython,但却死后刷不成!请问是为什么?应该怎么做才能刷好?
回复

使用道具 举报

luna  初级技神
 楼主|

发表于 2019-4-28 13:53:30

名字并不重要 发表于 2019-4-28 13:48
我是小白,刚注册进来学习的。看了楼主的教程,还是想请教一下。
之前买过Nodemcu的开发板(esp8266的), ...

一般官方都可以刷成功,你的开发板是在哪里吗的?是不是开发板的问题,建议你问一下购买商家,让他提供一下售后
回复

使用道具 举报

名字并不重要  学徒

发表于 2019-4-28 14:58:16

淘宝买的,问过卖家,他也不知道(只卖产品,没有技术支持)。昨天又到淘宝里找了另一家买一块类似的,看看买回来对比一下,能不能刷固件
回复

使用道具 举报

猎户星座  学徒

发表于 2019-10-1 15:39:11

最后一步配置putty的时候出错了,没有出现预期的窗口。
201910017710.png
回复

使用道具 举报

菜无邪  学徒

发表于 2019-11-14 15:59:02

能提供下二进制文件吗
回复

使用道具 举报

DFBkAX-O31I  学徒

发表于 2020-1-3 15:47:07

拷入的速度是460800,通信速度是115200,这是怎么做到的
回复

使用道具 举报

yizilong  中级技师

发表于 2020-9-28 20:48:45

按照操作出现:
rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
flash read err, 1000
ets_main.c 371
如何解决呢?
回复

使用道具 举报

会飞的稻草人  学徒

发表于 2021-1-25 16:20:52

二进制在哪呢?不清楚啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail