ESP32简介
ESP32介绍
说到ESP32,首先ESP32不是一个芯片,ESP32是一个系列芯片, 是乐鑫自主研发的一系列芯片微控制器。它主要的功能就是支持WiFi和蓝牙, ESP32指的是ESP32裸芯片。但是,"ESP32"一词通常指ESP32系列芯片及开发板。

ESP32拥有以下特点:
- **双核处理器:**ESP32 拥有240MHz的双核处理器、520KB的RAM和4MB的闪存,可同时运行多个任务,提高了性能和效率。
- **Wi-Fi 和蓝牙:**ESP32 内置WiFi和蓝牙4.2模块,集成了 Wi-Fi 和蓝牙通信功能,可进行无线通信。使其非常适用于连接互联网和其他设备的应用。
- **丰富的外设:**34个GPIO口,具有丰富的输入输出引脚和各种外设,包括GPIO、UART、SPI、I2C等,适用于各种传感器和设备的连接。
- **低功耗:**ESP32 的设计考虑了低功耗,拥有多种省电模式,最低功耗仅为5μA,非常适合电池供电的应用。
- **开源:**ESP32 的开发环境和文档都是开源的,这使得开发者可以轻松地使用它来创建各种物联网和嵌入式应用。
- **安全性:**支持加密和数字签名等安全特性。
ESP32规格
ESP32 系列的产品型号包括 ESP32 S2(单核+2.4G wifi)、ESP32 S3(双核+2.4G wifi+蓝牙5)、ESP32 C2(单核+2.4G wifi+蓝牙5)、ESP32 C3(单核+2.4G wifi+蓝牙5)和传统的ESP32模块。
本篇教程以及后续教程采用的是ESP32-WROOM-32E和ESP32-WROVER-E模组,实际上ESP32系列芯片使用感受都大致相同,大家可以去乐鑫的官方网站上自行选择自己所需要的版本,此教程完全兼容其他系列芯片。
乐鑫硬件官方参考地址:https://www.espressif.com.cn/zh-hans
ESP32和ESP8266的区别
我们知道 ESP32 是 ESP8266 的继任者。那么ESP32 和 ESP8266 板之间的主要区别是什么?ESP32增加了额外的CPU核心、更快的Wi-Fi、更多的GPIO,并支持蓝牙4.2和蓝牙低功耗。此外, ESP32带有可用于将ESP32 从深度睡眠中唤醒的触敏引脚,以及 内置的霍尔效应传感器。所以,总结一下:
- ESP32 比 ESP8266 更快;
- ESP32 自带更多功能齐全的 GPIO;
- ESP32 支持 18 个通道(模拟启用引脚)的模拟测量,而 ESP8266 仅支持一个 10 位 ADC 引脚;
- ESP32支持蓝牙,ESP8266不支持;
- ESP32为双核(大部分机型),ESP8266为单核;
- ESP32 比 ESP8266 贵一点。
使用ESP-IDE进行编程
ESP32开发环境
ESP32可以使用不同的固件和编程语言进行编程。
您可以使用:
- 基于Arduino IDE开发(C/C++)
- 基于PlatformIO开发(MicroPython)
- 基于ESP-IDF(Espressif IoT Development Framework)开发(C/Rust等)
这里我们采用使用乐鑫官方的IED------Espressif-IDE进行C/C++语言的开发
安装ESP-IDE
下载ESP-IDE
首先我们到乐鑫的官方网站https://www.espressif.com.cn/zh-hans

找到SDK里面的ESP-IDE,点击进入

进入页面后往下拉,找到相关资源,ESP-IDF入门,我们点击ESP-IDF GitHub

找到中文版

往下滚动页面找到,使用ESP-IDF进行开发,点击第一个链接

选择自己ESP32的型号,这里我选择的是第一个ESP32

进入时候将其改成中文,这样我们就来到了乐鑫官方的ESP-IDF 编程指南,
然后按照下图选则目录

这里你会看到window的安装链接,点击进入

如果你出现了以下界面,那么恭喜你成功了,在这里就可以进行乐鑫官方IDE的下载了,
我们选择第二个下载ESP-IDE,下面有一些是ESP-IDF,我们选择ESP-IDE是包含ESP-IDF的
第一个是在线安装,但是一般习惯上我们习惯是离线安装,所以选择第二个就好。
我这里也是直接给出这个下载的链接https://dl.espressif.cn/dl/esp-idf/?idf=4.4,以防一些人找不到地方

安装ESP-IDE
下载完成后点击安装包,会弹出安装提示框,按照我下面的操作一路安装就可以了

确定

同意,下一步

下一步

选择安装路径,然后下一步

下一步

点击安装

等待进度条即可,如果在安装的过程中弹出什么对话框,直接选择确定就可以了。
安装完成我们桌面就会多出这么一个图标,现在庆祝我们大功告成吧,接下来我们就可以利用官方提供的IDE进行ESP32开发了。
