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

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

3天内不再提示

如何使用MicroPython配置和控制ESP8266电路板

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

扫码添加小助手

加入工程师交流群

第1步:什么是MicroPython

MicorPython是我们可以用来编程ESP8266的众多编程语言之一模块。它是Python 3编程语言的精简版和快速版,与传统的编程语言(如C和C ++)相比具有几个优势。

MicroPython旨在尽可能地与普通Python兼容。它具有完整的Python编译器和运行时,并提供称为REPL(读取 - 评估 - 打印循环)的交互式提示。

MicorPython旨在支持几种不同类型的微控制器。但是对于本教程,我将只使用一种模型:基于ESP8266的板(NodeMCU)。请注意,您可以使用相同的芯片购买几种不同的电路板。

第2步:要求

为了能够学习本教程,您只需具备Python的基本编码经验。您不需要具备任何以前的微控制器知识。 ,电子产品,甚至是MicroPython。

您还需要一台带有免费USB端口的Windows,Mac或Linux计算机,因为您将微控制器连接到计算机进行编程。

所需部件:

1 x NodeMCU(或其他基于ESP8266的板)

1 x红色5mm LED

1x220Ω1/4W电阻

1x10KΩ旋转电位器

1 x面包板

1 x USB到MicroUSB电缆

跳线。

步骤3:为什么ESP8266基板?

通过使用MicroPython,您可以充分利用ESP8266的一种方法。此外,ESP8266模块是学习如何使用MicroPython的最佳平台之一。这是因为ESP8266提供简单的GPIO引脚控制功能以及无线功能,允许您测试MicroPython编程语言的所有方面。

ESP8266芯片在开源开发行业很受欢迎。有许多来自不同制造商的开发板使用ESP8266芯片。 MicroPython旨在提供可在大多数这些主板上运行的通用端口,并尽可能减少限制。该端口基于Adafruit Feather HUZZAH板使用其他ESP8266板时,请务必检查其原理图和数据表,以便确定它们与Adafruit Feather HUZZAH板之间的差异。这样,您就可以适应代码中的差异。

阅读和资源:

ESP8266

Adafruit Feather HUZZAH

步骤4:设置计算机

在使用MicroPython对ESP8266板进行编程之前,您需要设置几件事。

我们将在此步骤中完成设置过程。通过这种方式,您将了解如何配置与MicroPython一起使用的ESP8266板。

准备好

从此步骤到步骤6所需的一切是你的ESP8266和USB线。将ESP8266板连接到计算机。

如何操作。..。..

第1步:安装设备驱动程序

如果你有一台Linux计算机,那么你不需要为驱动程序安装任何设备驱动程序以便识别微控制器。但是你有Mac或Windows机器,需要一个驱动程序来允许计算机将微控制器识别为串行设备。

《第2步:安装Python

您将用于与ESP8266通信的工具是用Python编写的,因此您需要在计算机上安装Python。

如果您的操作系统没有提供预先打包的Python,您可以访问https://python.org下载任何支持的操作系统的官方版本。

STEP3:安装esptool和rshell

安装两个软件包,帮助您使用pip管理电路板。要打开终端并运行

pip install esptool rshell

STEP4 :下载MicroPython

当我写这篇文章时,当前版本是1.11,固件文件名为esp8266-20190529-v1.11.bin

当你这样做时,你可能会发现一个更新版本。

步骤5:使用Esptool.py闪烁MicroPython

在将新固件刷入电路板之前,最好先擦除以前的所有数据。这是您应该始终做的事情,以便新固件从干净的状态运行。

转到放置 .bin 文件的位置。使用esptool.py擦除闪存。

对于Linux:

esptool.py --port /dev/ttyUSB0 erase_flash

对于Windows:

esptool.py --port COM3 erase_flash

您可能需要将命令中的串行端口更改为ESP8266板连接的串行端口。如果您不知道ESP8266的串口号,可以查看Arduino IDE。只需打开IDE,然后单击工具|端口。你应该看到那里列出的ESP8266板的串口。将命令(/dev/ttyUSB0)中的串口替换为电路板的串口。

现在电路板已完全擦除,您可以刷新刚刚下载的MicroPython构建。这也是使用esptool.py命令完成:

esptool.py --port /dev/ttyUSB0 --baud 460800 write_flash 0 esp8266-20190529-v1.11.bin

此命令将把MicroPython .bin文件的内容写入地址为0的电路板。

确保您将命令(esp82688-2019-080529-v1.11.bin)中固件.bin文件的名称更改为您下载的固件的名称。

在ESP8266上成功安装固件后您可以通过有线连接(UART串口)或思想WiFi访问主板上的REPL。

步骤6:使用带有Rshell的MicroPython REPL

您现在可以在ESP8266主板上启动MicroPython。

我将向您展示如何连接到Python提示在你的主板上运行。这称为REPL,代表“Read-Eval-Print-Loop”。这是您在使用常规Python解释器时可能会看到的标准Python提示,但这次它将在您的主板上运行,并与它进行交互,您将使用与计算机的串行连接。准备好了?

要连接到您的主板并打开REPL会话,请输入以下命令:

rshell --port

此命令将带您进入rshell提示符。请参阅上面的照片。

如果您在Windows上关注本教程,请注意rshell在Windows上运行时有问题的历史记录。

因此,为了修复该类型:

rshell -a --port COM3

在此提示符下,您可以执行与您的微控制器板相关的管理任务,还可以启动一个Python REPL,您可以使用它实时与电路板进行交互。所以只需输入以下命令:

repl

要确保一切正常,请键入一个简单的Python句子:

print(“Hello World”)

步骤7:控制引脚使用MicroPython

在这一步中,我们将学习如何使用MicroPython控制ESP8266引脚。为此,我们将设置一个设置,我们将切换连接到ESP8266板GPIO引脚的LED的状态。这将帮助您了解如何使用MicoPython控制数字输出。

准备好

您将需要以下内容来完成此步骤:

1 x NodeMCU

1 x红色5mm LED

1 x220Ω电阻器

1 x面包板

跳线

构建

首先将LED安装到面包板上。将220Ω电阻的一端连接到LED的正极(LED的正极通常是两条腿中较高的一条)。将电阻的另一端连接到ESP8266板的引脚D1。然后将LED的负极连接到ESP8266板的GND引脚。连接如上图所示。

设置完成后,通过USB电缆将ESP8266板连接到计算机。

如何操作。 。.

在REPL中键入以下代码:

# blink LED every 1 second

def blink(pin=5, time=1) # blink function by default pin=5, time=1s

import machine # the machine module holds the pin configurations and modes

from time import sleep # import sleep for some delay

LED = machine.Pin(led_pin, machine.PIN.OUT) # configure LED as OUTPUT

while True: # run forever

LED.value(1) # set LED to HIGH

sleep(time) # wait 1 second by default

LED.value(0) # set LED to LOW

sleep(time) # wait 1 second by default

在RPEL会话中键入blink()以测试此代码。这将闪烁LED每隔1秒连接到GPIO5。

您可以通过调用以下命令更改引脚和/或时间:

blink(pin=, time=)

按ctrl + c退出运行代码。

您可以使用MicroPython读取连接到ESP8266的输入。继续下一步,了解如何操作。

检查视频是否卡住了。

步骤8:淡化LED

在此步骤中,我们将学习如何使用旋转电位计调节LED的亮度。我们将使用一种称为脉冲宽度调制(PWM)的技术,它允许我们使用最多256个设置调暗LED。

注意:除了GPIO16外,ESP8266的所有引脚都可以用作PWM引脚( D0)。

做好准备:

您需要完成以下步骤:

1 x NodeMCU

1 x红色5mm LED

1 x50KΩ旋转电位计。

1 x面包板

跳线

构建

连接如上图所示图:设置完成后,通过USB电缆将ESP8266板连接到计算机。

如何操作。..

键入跟随REPL中的代码:

# Fading LED every 0.5 by reading data from the Potentiometer

import machine

from time import sleep

led_pin = 5 # led pin

POT = machine.ADC(0) # ADC0 pin

LED = machine.Pin(led_pin) # create LED object

LED_pwm = machine.PWM(LED, freq=500) # create LED_pwm object and set frequency to 500Hz

while True:

LED_pwm.duty(POT.read()) # get the value from the Pot and set it to the duty cycle

sleep(0.5) # wait 0.5

这将通过更改电位计的值来改变连接到GPIO 5的LED的亮度。

按ctrl + c退出正在运行的代码。

检查视频是否卡住。

步骤9:从何处开始?

到目前为止,我们已经了解了如何在基于ESP8266的主板上配置和运行MicroPython。我们学会了如何控制引脚使LED闪烁,然后我们添加了一个电位器,以便使用脉冲宽度调制技术控制LED的亮度。

现在我们可以从传感器读取数据并将其发送到云端,我们还可以创建一个HTTP服务器,您可以在一个简单的网页中打印我们的数据等。..

这让我们了解物联网IoT)。

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

    关注

    51

    文章

    966

    浏览量

    48998
  • Micropython
    +关注

    关注

    0

    文章

    69

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

    【应用】国产26MHz频率晶振应用于物联网WIFI物联网模块(串口转WiFi模块),Espressif(乐鑫)ESP8285/ESP8266芯片匹配测试OKESP8285其实是ESP8266的升级版
    的头像 发表于 11-21 15:37 4043次阅读
    晶科鑫 | 国产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 323次阅读
    <b class='flag-5'>ESP8266</b>和<b class='flag-5'>ESP</b>32开发<b class='flag-5'>板</b>常见的2种下载方式

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

    无线通信,相比于网口传输更加便携,功能更强大、开发更方便,基于串口控制的方式决定了其适合数据传输量不大,通信速率要求不高的情况,在低功耗物联网系统中被经常使用。ESP8266模块通过定制的AT指令集
    发表于 10-31 09:02

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

    协议,完整的 TCP/IP 协议栈以及蓝牙协议栈。用户可以使用这两款模块为现有的设备添加WIFI联网功能或蓝牙(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获取任意城市的天意预报

    手头上有一个ESP8266,闲置了很久,突然想起来可以和RA6M4开发连接起来,使用AT指令来获取网络天气预报,于是就把它们连接起来。就有了这个帖子。 开始创建工程,打开 RA smart 配置
    发表于 07-23 19:50

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

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

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

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

    【RA-Eco-RA4M2开发评测】使用RA4M2和ESP8266实现MQTT协议上传传感器数据到云服务器并反向点灯控制

    马上就到RA4M2开发评测的结尾了,今天给瑞萨论坛线上最具创意的一篇帖子,通过RA4M2开发,和ESP8266 WIFI模块,然后通过手机上的MQTTOOL来实现手机控制RA4M2
    发表于 05-29 15:29

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

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

    ESP8266笔记-07.ESP8266ESP TOUCH

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