ESP32快速入门指南

姓名:杨骐铭    学号:21009102182


转载自知乎https://zhuanlan.zhihu.com/p/105178847


在本篇文章中,您将了解到ESP32 Wi-Fi和蓝牙模块以及如何进行设置。


什么是ESP32?

ESP8266 Wi-Fi模块是过去几年中最受欢迎和最实用的模块之一。市场上有这种模块的各种版本。


ESP32模块是ESP8266的升级版本。除了Wi-Fi模块,该模块还包含蓝牙4.0模块。双核CPU工作频率为80至240 MHz,包含两个Wi-Fi和蓝牙模块以及各种输入和输出引脚, ESP32是物联网项目的理想选择。





ESP32模块引脚分布





虽然ESP32的引脚数比常用的处理器少,但在引脚上复用多个功能时不会遇到任何问题。

警告:ESP32引脚的电压电平为3.3伏。如果要将ESP32连接到其他工作电压为5伏的设备,则应使用电平转换器转换电压电平。



电源引脚:该模块有两个电源引脚 - 5V和3.3V。您可以使用这两个引脚来向其他设备和模块供电。





GND引脚:该模块的接地有3个引脚。

启用引脚(EN):该引脚用于启用和禁用模块。引脚为高电平时启用模块,低电平禁用模块。

输入/输出引脚(GPIO):您可以使用32个GPIO引脚与LED、开关和其他输入/输出设备进行通信。

您可以在内部上拉或下拉这些引脚。

注意:GPIO6至GPIO11引脚(SCK/CLK,SDO/SD0,SDI/SD1,SHD/SD2,SWP/SD3和SCS/CMD引脚)用于模块内部闪存的SPI通信,我们不建议使用它们。

ADC:您可以使用此模块上的16个ADC引脚将模拟电压(某些传感器的输出)转换为数字电压。其中一些转换器连接到内部放大器,能够以高精度测量小电压。

DAC:ESP32模块有两个数模转换器,精度为8位。

触摸焊盘:ESP32模块上有10个引脚,对电容变化很敏感。您可以将这些引脚连接到某些焊盘(PCB上的焊盘),并将它们用作触摸开关。

SPI:该模块上有两个SPI接口,可用于连接显示屏、SD / microSD存储卡模块、外部闪存等。

I2C:SDA和SCL引脚用于I2C通信。

串行通信(UART):该模块上有两个UART串行接口。使用这些引脚,您可以在两个设备之间传输高达5Mbps的信息。 UART0还具有CTS和RTS控制。

PWM:几乎所有ESP32输入/输出引脚都可用于PWM(脉冲宽度调制)。使用这些引脚可以控制电机、LED灯和颜色等。


ESP32模块模式

ESP32芯片有5种模式:

活动模式:在这种模式下,Wi-Fi和蓝牙发射器和接收器的所有部分都是活动的。在这种情况下,电流消耗在80和260mA之间。

调制解调器睡眠模式:处理器仍处于活动状态,但Wi-Fi和蓝牙已禁用。在这种情况下,电流消耗在3到20mA之间。

轻度睡眠模式:主处理器停止工作,但RTC单元和ULP处理器单元仍处于活动状态。电流消耗约为0.8 mA。

深度睡眠模式:只有RTC单元处于活动状态。在这种情况下,Wi-Fi和蓝牙通信的数据存储在RTC的存储器中。在此模式下,电流消耗在10到150μA之间。

休眠模式:除了用于时钟的RTC定时器和连接到RTC的一些I / O引脚外,所有单元均被禁用。 RTC定时器或连接的引脚可以将芯片从此状态唤醒。在这种情况下,电流消耗约为2.5μA。

有关更多信息,请查看模块数据表。


ESP32芯片和模块数据表

ESP32模块及其芯片组的数据手册可以从以下链接下载。

https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf

https://espressif.com/sites/default/files/documentation/esp32-wroom-32_datasheet_en.pdf


ESP32 VS. ESP8266

市场上有各种类型的ESP32和ESP8266模块。在本节中,对ESP8266 NodeMcu和ESP32 DEV模块进行了比较:


ESP8266 NodeMcuESP32 DEV模块电源3.3V3.3VCPUTensilica L106 32位Xtensa双核32位LX6蓝牙无符合蓝牙v4.2 BR/EDR和BLE规范GPIO1732闪存大小最大16MB最大16MBADC10位12位DAC无2 * 8bitUART22


通常,ESP32模块比ESP8266价格更贵。因此,如果您不需要蓝牙、数字转换器、许多I/O引脚和......,您可以通过购买ESP8266模块来节省资金。


所需的材料

ESP32模块

Arduino IDE






在Arduino IDE上安装ESP32

ESP32的安装过程与ESP8266的安装几乎相同。要在Arduino IDE上安装ESP32,请执行以下步骤:

注意:您需要Arduino IDE 1.8.5或更高版本才能在其上安装ESP32。


第一步:从GitHub下载所需的文件

从GitHub帐户下载ESP32 Arduino Core。您也可以使用直接下载链接。

https://github.com/espressif/arduino-esp32/archive/master.zip

第二步:将文件移动到Arduino sketchbook位置

默认情况下,Arduino sketchbook位于“我的文档”中。要查找示意图的确切路径,请从“文件”菜单中检查首选项。





在sketchbook位置的Arduino文件夹旁边创建一个名为hardware的新文件夹。





在hardware文件夹中创建一个名为espressif的文件夹,然后在espressif文件夹中创建另一个名为esp32的文件夹。最后,您创建的路径应如下图所示:





解压缩您在上一步中下载的文件,并将其移至此地址。






第三步:运行get.exe

要在Arduino软件上安装ESP32,您需要在系统上安装Xtensa GNU编译器集合。转到esp32> tools并运行get.exe文件。





运行get.exe后,所需的文件将自动下载并传输到tools文件夹。此步骤可能需要一些时间。





安装完成后,必须将新文件添加到tools文件夹中。






使用Arduino IDE在ESP32上上传代码

在ESP32模块上传代码与其他Arduino开发板类似。您可以使用Arduino内置示例(如Blink)来测试它。

注意:如果之前未在计算机中安装CP2102驱动程序,则应从此处下载,然后安装。


要上传代码,请从“工具”菜单中选择开发板类型。然后选择连接到电路板的串口并单击上载。





void setup() {

  pinMode(2, OUTPUT);

}


void loop() {

  digitalWrite(2, HIGH);  // turn the LED on (HIGH is the voltage level)

  delay(1000);                      // wait for a second

  digitalWrite(2, LOW);    // turn the LED off by making the voltage LOW

  delay(1000);                      // wait for a second

}

故障排除

如果您遇到以下错误,请不要担心。编程ESP32时通常会出现此问题。执行以下步骤来解决问题:





1. 确保正确设置上传波特率。通常,此波特率应为115200。






2. 按住开发板上的Boot按钮。

3. 单击“上传”选项。

4. 当您看到消息“Writing at 0x00001000 … (100%)”时,将手指从“Boot”按钮上移开。




5. 上传完成后,您可以看到提示上传消息Done。


https://www.yiboard.com/thread-1218-1-1.html

www.yiboard.com/thread-1218-1-1.html

更多有关Arduino开发板的文章,请关注微信公众号“一板网电子技术论坛”。



来自专栏

Arduino开发板杂谈


天南地北客 · 35 篇内容

MicroP

你可能感兴趣的:(ESP32快速入门指南)