31905| 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,则导航到解压后的文件夹并输入以下命令:
此操作将在系统上安装esptool。如果你愿意的话,可从该软件的存储库中查看手动安装说明。 最后,需要用到MicroPython软件的二进制文件。可从此处获取该文件(https://micropython.org/download/#esp32)。下载并保存在文件夹中,之后会派上用场。 步骤 首先,需擦除ESP32的flash。为此只需在命令行中输入以下命令。你需要将“COM5”改为你的ESP32所连接的串行端口。
然后,使用以下命令将二进制文件上传到ESP32。同样地,你需要将COM5改为你的ESP32串行端口。此外,还需将pathToYourFile/BinaryFile改为你的二进制文件的路径和名称。Windows系统有一个简单的操作技巧,即把文件拖放至命令行。
之后,你应该可以在ESP32开发板上使用MicroPython了。我们马上来确认一下。 测试安装 为测试安装,我们需要一个额外的工具与Python prompt进行交互。虽然其他可建立串行连接的软件也同样适用,但在本教程中我们将选用Putty。你可以在此处下载该软件(https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html)。 从上一个链接下载.exe文件后,只需打开它,Putty图形用户界面 (GUI) 就会弹出。在连接类型上选择“串行 (Serial) ”,在串行行上输入ESP32的串口(于我而言是COM5),并将速度设置为115200。参看图1突出显示的配置。 图1 – 使用Putty连接到ESP32 MicroPython prompt。 完成所有配置后,点击打开。如一切配置无误,你现在应该得到一个如图2所示的窗口,且MicroPython prompt可用。 图2 – ESP32 MicroPython prompt。 Hello World程序 要完成本教程,我们将打印一条简单的“Hello World”消息。编写以下命令并按回车键:
你应该会得到类似于图3的东西。在示例中,我发送了两次命令。 图3 – ESP32 MicroPython“Hello World”。 你现在可以在ESP32上使用Python了。 结 语 我要特别感谢ESP32 MicroPython端口背后的团队,我在Github页面上提出请求后他们立即提供了二进制文件。此外,还感谢他们制作了这个人人可用的超棒工具! 注:本文作者是Nuno Santos,他是一位和蔼可亲的电子和计算机工程师,住在葡萄牙里斯本 (Lisbon)。 他写了很多有关ESP32、ESP8266的有用的教程和项目。 查看更多ESP32/ESP8266教程和项目,请点击 : ESP32教程 汇总贴 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed