问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

esp01低电平变高电平

发布网友 发布时间:2023-02-18 17:29

我来回答

1个回答

热心网友 时间:2023-09-23 02:16

步骤1:配置Rapberry Pi

我使用了Raspberry Pi 3 Model B +,但是,说明应该适用于其他版本,尤其是在Model B上。

首先,我们需要在Pi上启用UART。

转到RPi配置设置。在终端窗口中运行

$ sudo raspi-config

转到 5个接口选项,,然后选择 P6 Serial。 然后,您提示是否要通过串行访问登录shell? select ,因为我们不想使用UART无头运行Pi,而是与其他设备进行通信,因此在出现以下问题时会在以下屏幕上显示您要启用串行端口硬件吗?选择。根据提示重启树莓派。现在应该为Raspberry Pi 3的RX和TX引脚上的串行通信启用UART。注意:此后,在/boot/config的末尾应出现一个新条目 enable_uart = 1 。 txt。

步骤2:将ESP-01连接到Raspberry Pi

现在,我们开始进行所有接线

首先,在RPi上标识 3.3V电源 和 GND(接地) 》引脚为ESP8266微控制器供电, TXD(发送) 和 RXD(接收) 引脚进行通信,并且 两个通用引脚 来操作ESP8266(可以将其设置为高电平或低电平)。在pinout.xyz上查找引脚排列或输入端子:

$ pinout

其次确定ESP-01上的必要引脚。但是从一开始我们就需要了解ESP-01引脚。我在互联网上找到了许多有用的资源,可以在这方面为您提供帮助。这个是最短的,而这个给出了更好的解释。简而言之:共有8个引脚,我们将需要7个引脚,分别是 VCC电源 和 GND(接地) 电源引脚, TXD 和 RXD 引脚进行通信,以及 RST (重置), CH_PD (芯片掉电,有时标记为CH_EN或芯片启用)和 GPIO0 来操作该模块。 ESP8266通常在常规模式下运行,但在将代码上传到ESP8266时,会注意其处于闪存模式。对于常规或正常运行模式,模块需要连接到电源(显然),但引脚CH_PD也必须通过10K连接到VCC(此值在不同的情况下会有所不同,我发现值降至3K)上拉引导时的电阻。另一方面,要进入闪存或编程模式,您需要在引导时将GPIO0引脚接地。为防止接地时流过GPIO0的电流不受*,建议通过一些300Ω-470Ω低阻电阻将GPIO0接地(有关更多信息,请参见此处)。顾名思义,RST引脚复位(或重启)MCU。在正常操作期间,它可以通过10K上拉电阻连接到VCC,但应接地以复位微控制器。虽然始终可以使用物理按钮将RST和GPIO0引脚接地(甚至手动连接导线以模拟按钮),但使用Raspberry Pi引脚在模块的RST和GPIO0上设置高低电压会更令人愉悦。引脚。然后也就不需要10K和470Ω电阻了。

现在了解ESP-01引脚的特性了,我们就可以开始将所有东西连接在一起了。您可以将下表和上图用作参考:

ESP-01 《-》 Raspberry Pi

VCC(3.3V)《-》引脚# 1(3.3V)

GND 《-》引脚6(GND)

TXD 《-》引脚#10(RXD/BCM 15)

RXD 《-》针#8(TXD/BCM 14)

CH_PD 《-10K电阻器-》针#1(3.3V)

RST 《-》针#3(BCM 2 )

GPIO 0 《-》引脚#5(BMC 5)

最后连接VCC引脚。您连接到VCC引脚的实例将打开Wi-Fi模块。使用 screen 或 minicom 检查RPi和ESP8266是否可以使用UART通讯(注意:您可能需要安装 screen 或 minicom ,因为默认情况下似乎未在Raspbian上安装它们)。

使用屏幕运行:

$ sudo screen /dev/serial0 115200

使用minicom运行:

$ sudo minicom -b 115200 -o -D /dev/serial0

注意:许多在线参考资料建议连接到/dev/ttyAMA0 上的ESP8266,但根据RPi文档,此操作不适用于RPi 3或更高版本(包括零W)。通过/dev/serial0 或/dev/ttyS0 连接。

进入屏幕或minicom后,使用AT指令与ESP8266通讯。输入AT,然后按Enter,然后按Ctrl + J发送命令。您应该得到好的回应。可用的AT命令列表可在espressiff.com或此处找到。

将设备物理连接并相互交谈,我们就可以开始对RPi GPIO引脚进行编程,最后对ESP8266本身进行编程。

步骤3:软件设置(用于操作的Python和用于编程的Arino IDE)

PART 1.使用python切换ESP8266模式

如上所述使用RPI的GPIO引脚切换ESP8266的操作模式非常方便。我编写了两个基本的python代码,将ESP8266置于常规或编程模式。

常规模式:要将微控制器置于常规操作模式,我们只需为其供电并通过上拉连接CH_PD电阻连接到VCC,但是要将MCU从编程模式切换到正常模式,我们需要对其进行重置(请考虑重启)。为此,我们将短暂拉低连接到ESP-01上RST引脚的RPi GPIO(默认情况下,我用于重置的RPi引脚设置为HIGH)。有多简短?对我来说,这是一个投机问题。您可以尝试不同的时间间隔,但我发现200-500毫秒的效果很好。如果您有更好的主意,请在评论中写。将代码另存为 reset.py 。

#!/usr/bin/python

import RPi.GPIO as GPIO

import time

GPIO.setmode(GPIO.BOARD) # sets GPIO identification by physical pin numbers

resetPin = 3 # identify RPi physical pin connected to ESP8266 RST pin

GPIO.setup(resetPin, GPIO.OUT) # set reset pin as output

GPIO.output(resetPin, GPIO.LOW) # drop voltage on RST pin

time.sleep(.2) # wait for .2 s

GPIO.output(resetPin, GPIO.HIGH) # restore voltage on RST pin

GPIO.cleanup() # reset pins on RPI to prevent future runtime warnings

编程模式:要将MCU置于编程模式,我们需要为ESP8266供电GPIO0接地,或者在引导时将其复位并接地GPIO0(再次,确切的电压降持续时间我不太清楚,因此请不要严格按照使用的值进行操作)。将代码另存为 flash.py 或在下面下载。动作的顺序如下:

上拉RST引脚

上拉GPIO0引脚

上拉RST引脚

上拉GPIO0 pin

#!/usr/bin/python

import RPi.GPIO as GPIO

import time

GPIO.setmode(GPIO.BOARD) # sets GPIO identification by physical pin numbers

resetPin = 3 # identify RPi physical pin connected to ESP8266 RST pin

flashPin = 5 # identify RPi physical pin connected to ESP8266 GPIO0 pin

GPIO.setup(resetPin, GPIO.OUT) # set reset pin as output

GPIO.setup(flashPin, GPIO.OUT) # set flash pin as output

GPIO.output(resetPin, GPIO.LOW) # drop voltage on RST pin

time.sleep(.2) # need for this waiting is speculative

GPIO.output(flashPin, GPIO.LOW) # drop voltage on GPIO0

time.sleep(.2) # need for this waiting is speculative

GPIO.output(resetPin, GPIO.HIGH) # start booting ESP8266

time.sleep(.5) # wait for ESP8266 to boot

GPIO.ouput(flashPin.GPIO.HIGH) # restore voltage on

GPIO pinGPIO.cleanup() # reset pins on RPI to prevent future runtime warnings

在终端更改权限中:

$ sudo chmod +x flash.py

$ sudo chmod +x reset.py

从现在开始,只要您需要输入在终端上运行编程模式:

$ python /flash.py

上传代码以进入正常运行模式后运行:

$ python /reset.py

此时,您可能还需要更新ESP8266固件。有很多关于如何执行此操作的在线教程,因此我将不做详细介绍。

PART2。设置Arino IDE

如果您已经安装了Arino IDE,则可能仍要浏览本节,以确保您的IDE已为ESP8266准备就绪。

在Rapberry Pi上,您可以使用Arino IDE来对ESP8266进行编程。有两种方法可以在RPi上安装IDE:

,使用apt-get install

从存储库通过命令行从arino.cc下载并手动安装。

我强烈建议您走后一条路。仓库中的IDE版本似乎已过时,您一定要准备更多工作,才能开始对ESP8266进行编程。为避免麻烦,请转到Arino.cc下载页面并下载Linux ARM版本。接下来解压缩并安装:如果下载文件的名称类似于 arino-XYZ-linuxarm.tar.xz ,则在下载文件夹中运行:

$ tar -xvf arino-X.Y.Z-linuxarm.tar.xz

这应将文件解压缩到 arino-XYZ 文件夹。运行:

$ sudo 。/arino-X.Y.Z/install.sh

这应该安装IDE。安装完成后,启动IDE。

从Arino IDE转到 File》 Preferences 。在首选项窗口的底部查找“ 其他Board Manager URL ”。在“其他板管理器URL”字段中输入 http://arino.esp8266.com/stable/package_esp8266com_index.json ,然后单击“确定”按钮。

转到工具》董事会:XXX》董事会经理。在窗口中使用搜索或向下滚动,选择ESP8266开发板菜单,然后单击安装。等待安装完成并关闭窗口。

再次转到工具》开发板:XXX ,然后寻找ESP8266开发板。选择通用ESP8266模块。

现在,IDE已准备好对ESP8266进行编程。输入所需的代码或将其粘贴到IDE窗口中并保存。点击上传。从终端运行 flash.py ,这应该使您的电路板进入编程模式。等待几分钟,以便IDE完成编译和上传(注意:ESP-01通常带有2个LED,在代码上传时蓝色LED会闪烁)并运行 reset.py 。现在您的ESP-01板就可以执行任务了。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
招聘和招募和招收区别 人力资源中招聘与招募的区别 招聘与招募有啥区别 夏日繁星公众号可信吗 关于“红杏出墙”的古诗词描写有哪些 需要考多少分才过雅思 雅思考试多少分才可以算及格 雅思考试多少分算及格 雅思的总分多少分及格 雅思一般考多少分能合格 esp32支持tcp和now同时用吗 esp_cd112e什么设备 哪位亲知道中英人称指示语的对比研究在国内外的成果,要用英文写,跪谢! 英汉衔接手段对比 亲们,有木有谁知道一些 介绍中国酒文化之类的 英语文献啊~~~急要!~~呜呜呜,,,,万分感谢,,,, iQOO,录制视频关闭不了 iphone录屏关不掉怎么办 泡糯米小妙招 粽子糯米要泡多久 梦见别人送我圣诞礼物 梦见圣诞老人给你送礼物是什么预兆? 梦见圣诞礼物是什么意思 充电宝毫无征兆的不能充电了 原子笔墨水弄到衣服上怎么洗 win10一直无法使用内置管理员打开自带软件,360 推荐了一款插件,但装了之后电脑就崩了 win10,chrome firefox 360急速浏览器,,安装flash插件,浏览器就崩溃 梦见爸爸说让我给别人打工 梦见爸爸下地干活 梦见爸爸给别人家干活 国内985211大学名单排名榜 985211排名 串口模式修改esp32的网络设置 梦见别人拿红包 梦见自己和别人都收到红包 我的大便是黑色的怎么回事? 西安那个银行存钱利率高 23年西安哪家银行利息最高 问一下当兵体检需要多久吗? 七年级下册道德与法治教学计划 捷信分期二手手机怎么样 梦见外国人骂人是什么意思 梦见在国外骂人!周公帮忙解梦 用英语介绍一些公共标识,是作文、要6句话! 360行车记录仪etc怎么充值 360etc怎么充ŀ 华为gr3200设置静态路由表 华为交换机配置静态路由应该注意的问题 福建农信生源地贷款还款期限 为啥手机迅雷下载无法安装不支持格式 梦到在很脏的厕所摔倒预示什么 梦到在很脏的厕所摔倒