怎样将MicroPython固件刷新到ESP8266 并在NodeMCU板上测试代码

电子说

1.2w人已加入

描述

什么是MicroPython?

 MicroPython和常规Python非常相似,所以如果您已经知道如何用Python编写程序,那么您已经知道如何在MicroPython中编程。

Micropython包含一小部分Python标准库,所以不是每个标准库中的模块可用。但是,MicroPython确实包含访问低级硬件的模块,这意味着有些模块可以轻松地与微控制器上的GPIO进行交互。

MicroPython还带有交互式REPL(读取 - 评估 - 打印循环),这是MicroPython经常被忽视的惊人功能。 REPL允许您连接到微控制器,快速执行代码而无需编译或上传代码。这可以立即反馈您的程序是否按预期工作。

什么是ESP32/ESP8266?

ESP32和ESP8266是低成本的Wi- Fi模块,非常适合DIY物联网(IoT)项目。

两者都带有通用输入/输出引脚(GPIO),并支持各种协议,包括SPI,I2C,UART等。 ESP系列中最具吸引力的部分是它们带有无线网络,将它们与Arduino微控制器相媲美。总而言之,ESP系列允许您以极低的价格使用Wi-Fi轻松远程控制/监控设备。

必需硬件

为此教程,我们将使用NodeMCU 12-E。我们将引用此板及其针对此特定教程的说明。

NodeMCU 12E ESP8266板。

材料

1 x NodeMCU 12E ESP8266主板

1 x USB to Micro USB电缆

如何下载MicroPython固件

在我们将NodeMCU板连接到PC之前,我们需要下载最新的MicroPython固件并将其加载到NodeMCU上。您可以从MicroPython下载页面下载它。

在下载页面上,您将有3个主要选择:

为1024kb及以上模块建立稳定的固件,

每日固件版本为1024kb模块及以上,

每日固件构建512kb模块。

如果这是您第一次使用MicroPython,建议使用稳定的固件版本。如果您是使用MicroPython的高级ESP8266用户,您可以密切关注开发并通过测试每日构建的新功能来帮助项目。

如何将固件加载到NodeMCU上

下载固件后,就可以将其加载到NodeMCU板上了。实现此目的有两个主要步骤:

将NodeMCU置于引导加载程序模式

跨固件复制到NodeMCU

**注意:如果您使用除NodeMCU 12E之外的任何其他类型的电路板,这些步骤高度依赖于特定电路板,您需要参考其文档以获取详细信息。

要将MicroPython固件刷新到NodeMCU上,您可以选择以下任一技术。

初学友好:NodeMCU PyFlasher

一个带有GUI的自包含NodeMCU闪存器,它使用由MarcelStör开发的esptool.py和wxPython(Python GUI库) 。使用适用于Windows(.exe),macOS(.dmg)以及运行Python的任何内容的最新版本。

一旦插入NodeMCU,您现在应该可以选择COM它连接的端口。如果您在此列表中没有看到它,则可能需要下载USB串行驱动程序。一旦驱动程序处于活动状态,您就可以通过在NodeMCU PyFlasher上的下拉列表或设备管理器(在Windows上)中选择它来确定COM端口号。

确定ModeMCU PyFlasher下拉列表中的COM端口号。

NODEMCU

选择设备中的COM端口管理员,如果您使用的是Windows。

现在只需从下载位置选择下载的MicroPython固件.bin文件,选择波特率115200(默认为NodeMCU),使用双I/O闪存模式并单击Flash NodeMCU。完成后,您应该看到如下所示的屏幕。

NODEMCU

成功完成固件下载后,您将看到的窗口。

高级用户

将MicroPython固件刷新到NodeMCU板上的另一种方法是使用esptool.py(运行于PyFlasher的背景)。下载后,您需要将MicroPython固件.bin移动到与esptool.py相同的目录中,以使命令更容易。

在运行esptool.py之前,您需要确定端口号使用设备管理器的NodeMCU板。现在使用命令提示符或powershell(在PC上安装Python),导航到存储esptool.py的目录并运行命令:

esptool.py --port write_flash -fm 0x00000 .bin

重新创建命令上方的PyFlasher示例将是:

esptool.py --port COM3 write_flash -fm DIO 0x00000 esp8266-20190125-v1.10.bin

如何访问MicroPython REPL提示

如本文开头所述,REPL(读取评估打印循环)是您可以在NodeMCU上访问的交互式MicroPython提示的名称。使用REPL可以大大简化并加快测试代码和运行命令的速度。

虽然您可以通过Wi-Fi(WebREPL)访问REPL,但本文仅介绍如何通过访问REPL来访问REPL。通过UART串口进行有线连接。

要通过USB-serial访问提示,您需要使用终端仿真器程序。 PuTTY是一个开源的SSH和telnet客户端,您可以将其用作终端仿真程序来访问您的NodeMCU REPL,否则,Windows上有TeraTerm,Mac上的内置屏幕程序和Linux都有picocom和minicom。还有许多其他终端程序可以使用,因此请选择您喜欢的。

首次打开PuTTY后,您需要设置设置配置以访问NodeMCU。首先,我们选择串行连接类型。然后,从步骤3开始,我们现在知道NodeMCU板所在的COM端口号(本例中为COM3)。从那里,我们可以设置115200的波特率,我们已准备好连接。这些设置也可以在将来使用时保存。此示例的设置如下所示。

NODEMCU

PuTTY配置设置。

连接后,您将看到一个屏幕如下,可以测试你的代码!

一旦你连接了,你就会受到这个屏幕的欢迎。

如何让LED开启

NodeMCU 12E上有连接到GPIO2的板载LED,您可以使用以下代码打开和关闭它:

》》》 import machine

》》》 pin = machine.Pin(2, machine.Pin.OUT)

》》》 pin.on()

》》》 pin.off()

请注意pin.on()可能会关闭LED和pin.off()可能会打开LED(反之亦然),具体取决于LED在电路板上的接线方式。

使LED连接到No的代码deMCU flash。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分