风筝
发表于: 2019-8-14 21:35:06 | 显示全部楼层

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


什么是ESP32?

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


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

ESP32-s0.jpg


ESP32模块功能

工作电压
2.2至3.6伏
平均电流
约为80 mA
最大电流
500 mA
输入/输出引脚
32(ESP32芯片有48个I/O引脚,但该模块只有28个引脚可以使用。)
ADC(模数转换器)
18通道12位
DAC(数模转换器)
2通道8位
UART(串行通信)
3
PWM
32
SPI接口
4
I2C接口
2
I2S接口(连接音频设备)
2
电容触摸引脚
10
存储卡接口
1
CAN接口
1
温度传感器
1

注意:在某些模块中,您可能无法访问某些ESP32芯片引脚。


ESP32模块引脚分布

ESP32-pinout.jpg

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

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

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

ESP32-s1.jpg

●    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 NodeMcu
ESP32 DEV模块
电源
3.3V
3.3V
CPU
Tensilica L106 32位
Xtensa双核32位LX6
蓝牙
符合蓝牙v4.2 BR/EDR和BLE规范
GPIO
17
32
闪存大小
最大16MB
最大16MB
ADC
10位
12位
DAC
2 * 8bit
UART
2
2

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


所需的材料

●    ESP32模块

●    Arduino IDE

ESP32-required-materials.jpg


在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位于“我的文档”中。要查找示意图的确切路径,请从“文件”菜单中检查首选项。

ESP32-sketchbook.jpg

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

ESP32-hardwarefolder.jpg

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

ESP32-directory.jpg

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

ESP32-extract.jpg


第三步:运行get.exe

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

ESP32-getexe1.jpg

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

ESP32-getexe2.jpg

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

ESP32-getexe3.jpg


使用Arduino IDE在ESP32上上传代码

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

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


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

ESP32-boardtype.jpg

  1. void setup() {
  2.   pinMode(2, OUTPUT);
  3. }

  4. void loop() {
  5.   digitalWrite(2, HIGH);   // turn the LED on (HIGH is the voltage level)
  6.   delay(1000);                       // wait for a second
  7.   digitalWrite(2, LOW);    // turn the LED off by making the voltage LOW
  8.   delay(1000);                       // wait for a second
  9. }
复制代码

故障排除

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

ESP32-error.jpg

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


ESP32-upspeed.jpg

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

3.  单击“上传”选项。

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

ESP32-upload.jpg

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

跳转到指定楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题 54 | 回复: 107



手机版|

GMT+8, 2024-3-28 21:32 , Processed in 0.197029 second(s), 9 queries , Gzip On, MemCache On. Powered by Discuz! X3.5

YiBoard一板网 © 2015-2022 地址:河北省石家庄市长安区高营大街 ( 冀ICP备18020117号 )

快速回复 返回顶部 返回列表