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

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

3天内不再提示

如何在NodeMCU ESP8266上使用MicroPython

454398 来源:工程师吴畏 2019-07-26 10:28 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

MicroPython:用于微控制器的Python

Python是一种开源编程语言,易于使用使用语法和许多库来帮助使编码更容易。 Python有很多来自Web应用程序,科学和数字计算以及创建软件原型的应用程序。因为它是开源的,所以它也得到了社区的大力支持。

Python主要用于Web和软件,但基于Python的硬件呢?这就是MicroPython的用武之地。

MicroPython是一种基于Python 3的编程语言,用C语言编写,用于在微控制器上运行。 MicroPython允许在微控制器上使用Python语言的简单性而不是更复杂的低级语言。

NodeMCU ESP8266 Board

NodeMCU ESP8266板有30个引脚连接到开发板。在30个引脚中,17个是GPIO引脚。这些GPIO引脚可用作:

ADC通道:10位ADC(模数转换器)通道

UART接口:用于串行加载代码

PWM输出:用于调光LED或控制电机

SPI和I2C接口:连接各种传感器和外围设备

I2S:添加声音您的项目

这些GPIO引脚是多路复用的,这意味着单个GPIO引脚可以充当PWM/UART/SPI。

如何在NodeMCU ESP8266上使用MicroPython

NodeMCU ESP8266电路板引脚详情

要将NodeMCU ESP8266的GPIO引脚与MicroPython代码一起使用,我们需要使用I/O索引号而不是GPIO引脚号来解决它们。下面是GPIO引脚的等效I/O索引号表。

设置uPyCraft IDE

虽然有MicroPython编程选项,但本教程使用uPyCraft IDE为ESP8266 NodeMCU刷新固件和代码。为了安装适用于Windows PC的uPyCraft IDE,我们需要将Python 3安装到我们的操作系统中。

要安装Python 3,请转到Python下载并从Python网站下载安装文件。

下载Python 3.7X

安装下载的Python 3.7.X.exe并启用添加Python 3.7到PATH。然后单击立即安装。

安装Python 3.7.X

安装Python 3后,我们可以下载适用于Windows的uPyCraft IDE。要下载,请查看下面的图片。

下载uPyCraft

接下来,将下载的uPyCraft安装到Windows。

uPyCraft.exe

安装并打开uPyCraft后,您将看到以下屏幕:

uPyCraft IDE

安装uPyCraft后,我们可以使用它来使用MicroPython固件刷新ESP板。但首先我们需要最后一次下载:CP20X驱动程序。

安装CP210X驱动程序

In为了将任何内容闪存到我们的主板上,我们需要下载并安装CP210X驱动程序。 CP210X驱动程序是USB-to-UART桥接器虚拟COM端口驱动程序,便于主机通信

下载CP210X

下载后,将CP210X安装到Windows。这将使我们能够在uPyCraft IDE上看到NodeMCU使用的COM端口。

将MicroPython固件刷新到ESP8266

默认情况下,ESP8266不会使用MicroPython进行闪存。所以在我们开始编程之前,让我们在我们的主板上闪存MicroPython固件。

首先,为ESP8266下载最新版本的MicroPython固件。

下载ESP8266固件

注意:确保为电路板下载正确的固件。在MicroPython下载中为特定板使用不同的固件。

下载MicroPython固件后,打开uPyCraft IDE并检查正在使用的串口和板。

选择串口端口,转到工具》串行并选择您的ESP8266 COM端口(请参阅ESP8266所在的COM端口,我的是COM4)。

选择电路板,转到工具》电路板并选择ESP8266电路板。

选择COM端口

现在,我们选择了ESP8266连接的端口和我们正在使用的电路板。让我们将固件刷到电路板上。

转到工具》 BurnFirmware 和单击刻录固件。

刻录固件

使用以下选项设置固件:

板:esp8266

burn_addr :0x0

erase_flash :是

com:COM4

固件:选择“用户“并选择我们之前下载的esp.8266.bin文件

Flash设置

在点击OK之前,按住ESP8266板上的flash按钮。

ESP8266上的Flash按钮

按住按钮的同时单击刻录固件窗口中的“确定”按钮。

Flash进度条

当刻录固件的进度条开始时,您可以释放闪光灯按钮。一旦刻录达到100%,固件就会闪烁到ESP8266板上。

如果收到“擦除假”注意框,这意味着ESP8266板未处于闪烁模式。重复这些步骤并再次按住闪光灯按钮,ESP8266进入闪烁模式。

删除错误错误

uPyCraft和ESP8266文件系统

ESP板文件可以在“device”文件夹中看到。该文件夹包含默认的“ boot.py ”,它在启动时运行设备并设置设备的配置。在设备文件夹下,建议创建“ main.py ”以运行主代码。

设备文件夹

除了设备文件夹,IDE的左侧有许多文件夹。我们来讨论这些不同的文件夹。

sd - 用于访问SD卡的存储,仅适用于带有SD卡模块的主板。

uPy_lib - 包含内置IDE库文件。

workSpace - 保存文件存储在计算机中的位置。您可以设置保存文件的目录路径。

基本uPyCraft示例

我们已经设置将uPyCraft和闪存固件放到我们的ESP8266上。现在让我们运行一个示例代码来检查我们与ESP8266的连接是否正常。

有许多示例代码可以在uPyCraft中使用。在本例中,我们将使用blink.py查看是否可以使NodeMCU板上的LED闪烁。

转到示例》基本》 blink.py

导航示例blink.py

以下是blink.py的示例代码

Blink.py

要连接到我们的ESP8266电路板,请单击断开的链图标以建立与电路板的连接。一旦建立与电路板的连接,链就会从断链变为连接链。

连接图标

一次与设备连接后,我们现在可以下载并运行代码了。在我们这样做之前,让我们首先创建一个“main.py”。

要创建一个新文件,请单击此图标:

新文件

#Copy this code below from the blink.py to the new file

#hardware platform: FireBeetle-ESP8266

import time

from machine import Pin

led=Pin(2,Pin.OUT) #create LED object from pin2,Set Pin2 to output

while True:

led.value(1) #turn off

time.sleep(0.5)

led.value(0) #turn on

time.sleep(0.5)

粘贴新代码后无标题文件。转到文件并将其保存到“ main.py ”。

现在我们已准备好下载并运行代码到ESP8266。要刷新代码,请单击“下载并运行”按钮。

下载并运行

当代码正确闪烁时,确认显示在shell和main.py文件上,表示下载成功。

MicroPython Shell

在NodeMCU ESP8266板上,你应该看到LED每0.5秒闪烁一次。

LED开启和关闭0.5s

闪烁的LED指示ESP8266上闪烁的blink.py代码有效。

恭喜! MicroPython已成功写入ESP8266。现在轮到您探索ESP8266项目的所有可能性。

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

    关注

    13

    文章

    289

    浏览量

    23198
  • Micropython
    +关注

    关注

    0

    文章

    69

    浏览量

    5721
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    晶科鑫 | 国产26MHz晶振匹配Espressif(乐鑫) ESP8285/ESP8266芯片案例

    【应用】国产26MHz频率晶振应用于物联网WIFI物联网模块(串口转WiFi模块),Espressif(乐鑫)ESP8285/ESP8266芯片匹配测试OKESP8285其实是ESP8266的升级版
    的头像 发表于 11-21 15:37 4052次阅读
    晶科鑫 | 国产26MHz晶振匹配Espressif(乐鑫) <b class='flag-5'>ESP</b>8285/<b class='flag-5'>ESP8266</b>芯片案例

    ESP8266ESP32开发板常见的2种下载方式

    ESP32和ESP8266是性价比很高而且使用较为广泛的的Wi-Fi模块,在物联网(IoT)领域的DIY项目中可以首先考虑这2款产品。 两款芯片都属于32位处理器。ESP32是低功耗双核80MHz
    的头像 发表于 11-10 20:30 335次阅读
    <b class='flag-5'>ESP8266</b>和<b class='flag-5'>ESP</b>32开发板常见的2种下载方式

    在蜂鸟处理器上进行RT-Thread+ESP8266 wifi模块开发

    本队伍编号CICC3042,本文介绍在蜂鸟处理器运行RT-Thread实时操作系统,并进行ESP8266wifi模块开发。 在蜂鸟配套的sdk中提供了RT-Thread的移植 https
    发表于 10-31 09:02

    ESP8266ESP32开发板常见的2种下载方式

    原文链接:https://www.yourcee.com/newsinfo/2924258.html ESP32与ESP8266简介 ESP32和ESP8266是性价比很高而且使用较为
    发表于 10-24 18:04

    esp8266 udp server 端口监听错误的原因?

    1、使用esp8266 at组件+sal socket实现使用udpserver_sample.c demo代码 udp server,通信失败 2、跟踪代码发现 packegs 里面
    发表于 09-23 07:03

    请问一下我想用ESP8685直接替换ESP8266而不用写程序,可以让ESP8685直接通过之前ESP8266的外挂的flash运行程序吗

    请问一下我想用ESP8685直接替换ESP8266而不用写程序,可以让ESP8685直接通过之前ESP8266的外挂的flash运行程序吗
    发表于 09-17 12:06

    ESP8266】进入透传模式后,数据间隔怎么调整,

    01.TCP客户端用ESP8266透传模式发送数据是10ms发送一次,(连续发送) 02.TCP服务器接收到的数据是200ms左右接收一次,数据未丢失,但是更新不及时; 03.通过TCP调试助手已
    发表于 09-15 10:16

    【RA-Eco-RA6M4开发板评测】——4.使用ESP8266获取任意城市的天意预报

    直接跳出,结束函数 return REV_WAIT; if(esp8266_cnt == esp8266_cntPre)//如果一次的值和这次相同,则说明接收完毕 { esp8266
    发表于 07-23 19:50

    STM32+esp8266连接机智云,上传温湿度数据并控制继电器开关(平台配置、代码生成、代码移植)

    本教程将详细介绍如何将STM32微控制器与ESP8266Wi-Fi模块连接到机智云平台,实现温湿度数据的上传与继电器的远程控制。通过此过程,您将学会如何配置机智云平台,烧录ESP8266固件,移植
    的头像 发表于 07-15 18:54 748次阅读
    STM32+<b class='flag-5'>esp8266</b>连接机智云,上传温湿度数据并控制继电器开关(平台配置、代码生成、代码移植)

    单片机实例项目:ESP8266串口WIFI

    单片机实例项目:ESP8266串口WIFI,推荐下载!
    发表于 06-03 21:01

    基于STM32 HAL库与标准库的esp8266接入机智云方案(二)

    在《基于STM32HAL库与标准库的esp8266接入机智云方案(一)》中,我们详细介绍了硬件连接和机智云客户端的创建。本篇将重点讲解如何下载代码、分析下载的代码,并直接使用这些代码连接机智云。同时
    的头像 发表于 05-28 18:02 1116次阅读
    基于STM32 HAL库与标准库的<b class='flag-5'>esp8266</b>接入机智云方案(二)

    ESP8266烧录与机智云一键配网教程

    ESP8266模块因其低成本和高性能,广泛应用于智能家居和工业自动化等领域。机智云平台提供了一键配网功能,简化了设备的联网过程。本教程将详细介绍如何使用ESP8266进行烧录,并通过机智云实现一键配
    的头像 发表于 05-24 11:04 1553次阅读
    <b class='flag-5'>ESP8266</b>烧录与机智云一键配网教程

    【RA-Eco-RA4M2开发板评测】RA4M2 + ESP8266获取城市天气预报(一)

    很高兴收到瑞萨电子的RA4M2开发板,有幸成为了幸运观众,本期就来使用瑞萨的RA4M2开发板通过串口连接WIFI模块ESP8266,获取天气预报数据信息。并实时显示出来。它可以获取国内任何城市
    发表于 05-02 14:28

    零知开源——ESP8266+MPU6050 实现运动姿态检测

    零知ESP8266的I2C通信        在运动姿态检测、机器人平衡控制、VR头戴设备等应用中,MPU6050(三轴加速度计+三轴陀螺仪)是一个常见的姿态传感器。而ESP8266作为一款低功耗
    的头像 发表于 02-20 17:54 2807次阅读
    零知开源——<b class='flag-5'>ESP8266</b>+MPU6050 实现运动姿态检测

    ESP8266笔记-07.ESP8266ESP TOUCH

    可以从Smart Config的官方文档中可以看到ESP8266支持4种SmartConfig模式,其实是3种,有一种是混合的。 我们先采用第一种协议,也就是ESPTOUCH协议进行连接,具体的代码
    发表于 12-30 10:37