0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

454398 来源:工程师吴畏 2019-07-31 11:23 次阅读

什么是MicroPython

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

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

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

什么是ESP32/ESP8266

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

两者都带有通用输入/输出引脚(GPIO),并支持各种协议,包括SPI,I2CUART等。 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端口号。

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

现在只需从下载位置选择下载的MicroPython固件.bin文件,选择波特率115200(默认为NodeMCU),使用双I/O闪存模式并单击Flash 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的波特率,我们已准备好连接。这些设置也可以在将来使用时保存。此示例的设置如下所示。

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。

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

    关注

    50

    文章

    962

    浏览量

    44970
  • NODEMCU
    +关注

    关注

    13

    文章

    289

    浏览量

    21389
  • Micropython
    +关注

    关注

    0

    文章

    68

    浏览量

    4733
收藏 人收藏

    评论

    相关推荐

    esp32和esp8266代码共用吗

    本文介绍ESP32和ESP8266两款流行的微控制器在代码共用性方面的可能性与差异性。 一、引言 随着物联网技术的飞速发展,越来越多的智能设备开始进入我们的生活。其中,
    的头像 发表于 08-19 18:23 1118次阅读

    esp8266esp32区别是什么

    以下是关于ESP8266ESP32的主要区别: 处理器和架构 : ESP8266 :使用一个Tensilica L106 80MHz的处理器,属于Xtensa架构。 ESP32 :使
    的头像 发表于 08-19 18:16 5279次阅读

    ESP8266需要烧录固件库嘛

    的步骤。 一、固件库的作用 固件库是一组预先编写好的程序代码,用于实现ESP8266模块的特定功能。这些代码通常由经验丰富的开发者编写,经过
    的头像 发表于 08-19 17:30 850次阅读

    esp8266不烧录可以使用吗

    ESP8266是一款非常流行的Wi-Fi模块,广泛应用于物联网项目中。然而,如果不进行烧录,ESP8266无法正常工作。 1. ESP8266简介
    的头像 发表于 08-19 17:28 778次阅读

    Arduino Nano 和 NodeMCU ESP8266 读取 DHT11 环境温湿度数据及 OLED显示

    Arduino Nano 和 NodeMCU ESP8266 读取 DHT11 环境温湿度数据及 OLED显示
    的头像 发表于 08-13 18:04 1129次阅读
    Arduino Nano 和 <b class='flag-5'>NodeMCU</b> <b class='flag-5'>ESP8266</b> 读取 DHT11 环境温湿度数据及 OLED显示

    如何ESP2866更新到正确的AT Command固件

    /mega-wifi-r3-atmega2560-esp8266-flash-32mb-usb-ttl-ch340g-micro-usb.html 在通电时,它会创建一个 WiFi AP,而不会被告知这样做(Arduino 草图什么都不做)。 我猜它在ESP8266
    发表于 07-19 08:37

    ESP8266加载micropython,文件的MD5与闪存中的数据不匹配怎么解决?

    ESP8266 加载 micropython,文件的 MD5 与闪存中的数据不匹配!
    发表于 07-19 08:08

    是否可以使用ESP-NOW协议,ESP8266作为与其他ESP8266之间的中继器?

    我需要在没有 WiFi 网络的山丘周围约 500 米处发送温度数据。 是否可以使用 ESP-NOW 协议, ESP8266作为与其他 ESP8
    发表于 07-19 06:53

    如何在ESP8266获取并刷写最新固件

    /espressif/esp8266_rtos_sdk,这是 readme.md 说 \"eagle.app.v6.flash.bin, downloads to flash
    发表于 07-19 06:04

    ESP8266如何避免固件损坏?

    的文件放入Web服务器中,然后发送AT CIUPDATE进行升级。 然后ESP8266可能会以破碎的状态进入......我们希望仅升级我们公司发布的固件。 system_upgrade_start
    发表于 07-19 06:00

    请问如何在ESP8266-12E执行AT v.20的完整固件上传?

    我有一个 NodeMCU DevKit v1.0 开发。它上面有一个 ESP8266-12E,之前运行的是 NodeMCU 固件。我想尝试
    发表于 07-16 07:25

    ESP8266 Huzzah不响应AT命令的原因?

    我的 esp8266 Huzzah 分线板最近使用 esp 闪存工具,使用 NONOS SDK v2.0.0 重新刷新。我认为这将允许 esp 在通过 arduino 串行监视器发送
    发表于 07-11 08:21

    刷新ESP13固件失败的原因?

    正在尝试 Doit 固件刷新到最新版本的 ESP8266_NONOS_SDK 中包含的 AT 固件。 I get \"Chip sync
    发表于 07-10 07:43

    国产低成本Wi-Fi SoC解决方案芯片ESP8266ESP8285对比差异

    ESP8266ESP8285对比差异 ESP8285相当于在ESP8266基础多加了1/2MB Flash,
    的头像 发表于 05-17 11:44 1318次阅读
    国产低成本Wi-Fi SoC解决方案芯片<b class='flag-5'>ESP8266</b>与<b class='flag-5'>ESP</b>8285对比差异

    确定ESP8266固件下载成功的方法

    在物联网设备的开发过程中,确定esp8266固件是否成功下载至设备十分关键。以下是一种简单有效的确认方法:机智云物联网平台首先,确保你的ESP8266模块已经正确连接至计算机,并通过串口调试助手进行
    的头像 发表于 05-16 08:10 589次阅读
    确定<b class='flag-5'>ESP8266</b><b class='flag-5'>固件</b>下载成功的方法