01 - 入门指南

ESP32开发入门指引

ESP32 简介

ESP32 是乐鑫科技推出的 低功耗系统级芯片,集成 WiFi 和蓝牙功能,广泛用于 IoT 开发。

主要特性

特性参数
CPUXtensa® LX6 双核 @ 240MHz
内存520KB SRAM
存储4MB Flash (可扩展)
WiFi802.11 b/g/n
蓝牙BR/EDR + BLE 4.2
工作电压2.3V ~ 3.6V

常见开发板

  • ESP32 DEVKIT V1 - 最常见,30/36引脚
  • ESP32-WROOM-32 - 模块形式
  • ESP32-S3 - 强化版,支持更大内存
  • ESP32-C3 - RISC-V 架构入门选择

环境搭建

方案一:ESP-IDF (推荐)

# Linux/macOS
git clone https://github.com/espressif/esp-idf.git
cd esp-idf
./install.sh esp32
source export.sh
 
# Windows
# 下载 ESP-IDF 安装包或使用 ESP-IDF PowerShell

方案二:Arduino IDE

  1. 下载安装 Arduino IDE
  2. 打开 文件 → 首选项 → 附加开发板管理器网址
  3. 添加:https://dl.espressif.com/dl/package_esp32_index.json
  4. 工具 → 开发板 → ESP32 → 选择对应型号
  5. 工具 → 管理库 → 安装 ESP32

方案三:PlatformIO

# 安装 PlatformIO
pip install platformio
 
# 创建项目
pio project init --board esp32dev

硬件连接

ESP32          LED
GPIO2  -----  LED(+) (串联220Ω电阻)
GND     -----  LED(-)

ESP-IDF 代码

#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "driver/gpio.h"
#include "esp_log.h"
 
#define LED_GPIO 2
 
void app_main(void)
{
    gpio_reset_pin(LED_GPIO);
    gpio_set_direction(LED_GPIO, GPIO_MODE_OUTPUT);
 
    while (1) {
        gpio_set_level(LED_GPIO, 1);
        vTaskDelay(1000 / portTICK_PERIOD_MS);
        gpio_set_level(LED_GPIO, 0);
        vTaskDelay(1000 / portTICK_PERIOD_MS);
    }
}

Arduino 代码

#define LED_PIN 2
 
void setup() {
    pinMode(LED_PIN, OUTPUT);
}
 
void loop() {
    digitalWrite(LED_PIN, HIGH);
    delay(1000);
    digitalWrite(LED_PIN, LOW);
    delay(1000);
}

烧录与调试

串口驱动

  • Windows: CH340/CP2102 驱动
  • macOS: 通常自动识别
  • Linux: 内置支持

常用工具

工具用途
esptool.py烧录固件
idf.py monitor串口监视器
ESP Device Configuration调试配置

下一步


参考资料

官方文档

开发板参考

社区资源


相关链接

反向链接

进阶学习