ESP32 是一款由乐鑫(Espressif Systems)开发的功能强大、价格低廉的 Wi-Fi 和蓝牙双模芯片,非常适合物联网(IoT)、智能家居、无线传感等应用。以下是关于 ESP32 模块的使用方法的详细讲解


🔧 一、ESP32 模块概述

特性 参数
CPU 双核 Xtensa® 32-bit LX6 (最高 240MHz)
存储 RAM(520KB),外部 Flash(通常 4MB)
无线功能 Wi-Fi(802.11 b/g/n)和 Bluetooth(经典 + BLE)
GPIO 通用引脚约 30~36 个,可用于 PWM、ADC、DAC、I2C、SPI、UART 等
电压 工作电压 3.3V(大多数开发板带 USB 转串口)

常见开发板:ESP32 DevKit、ESP-WROOM-32、ESP32-S3 等。


🧰 二、准备工作

1. 所需硬件

  • ESP32 开发板(如 ESP32 DevKit V1)

  • USB 数据线

  • 电脑(Windows/macOS/Linux)

2. 安装软件

你可以使用多种开发环境,但最常用的是以下两种:


🖥️ 三、使用 Arduino IDE 开发 ESP32

✅ 步骤 1:安装 Arduino IDE

  • 官方网址:https://www.arduino.cc/en/software

  • 下载并安装适用于你的操作系统的版本。


✅ 步骤 2:配置 ESP32 开发板支持

  1. 打开 Arduino IDE → 首选项 → 添加开发板管理器 URL:

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

 

     2. 然后打开:工具 → 开发板 → 开发板管理器

     3. 搜索 “esp32”,点击安装由 Espressif 提供的 esp32 开发包。


✅ 步骤 3:连接开发板

  1. 用 USB 数据线连接 ESP32 到电脑

  2. 选择端口(工具 → 端口)

  3. 开发板选择为:ESP32 Dev Module 或你对应型号


✅ 步骤 4:上传一个示例程序

打开 Arduino IDE 示例:

void setup() {
  Serial.begin(115200);
}

void loop() {
  Serial.println("Hello ESP32!");
  delay(1000);
}

上传后打开串口监视器(波特率 115200),即可看到输出。


🧪 四、常见功能应用示例

1. 控制 GPIO 引脚(LED)

void setup() {
  pinMode(2, OUTPUT); // 内置LED
}

void loop() {
  digitalWrite(2, HIGH);
  delay(500);
  digitalWrite(2, LOW);
  delay(500);
}

2. 连接 Wi-Fi

#include <WiFi.h>

const char* ssid = "你的WiFi名称";
const char* password = "你的密码";

void setup() {
  Serial.begin(115200);
  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.println("连接中...");
  }

  Serial.println("已连接,IP地址:");
  Serial.println(WiFi.localIP());
}

void loop() {}

3. 建立简单的 Web Server

#include <WiFi.h>

const char* ssid = "你的WiFi名称";
const char* password = "你的密码";

WiFiServer server(80);

void setup() {
  Serial.begin(115200);
  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }

  server.begin();
  Serial.println("服务器已启动");
  Serial.println(WiFi.localIP());
}

void loop() {
  WiFiClient client = server.available();
  if (client) {
    client.println("HTTP/1.1 200 OK");
    client.println("Content-Type: text/html");
    client.println();
    client.println("<h1>Hello from ESP32 Web Server</h1>");
    delay(100);
    client.stop();
  }
}

🧠 五、进阶功能(简要说明)

功能 说明
ADC 模拟输入(0~3.3V)
DAC 模拟输出(可生成波形)
I2C/SPI/UART 可连接传感器/屏幕/外部芯片
PWM 用于控制马达、LED 调光等
蓝牙 支持 BLE 和经典蓝牙
FreeRTOS 内置实时操作系统,可实现多线程任务


🧩 六、ESP32 vs ESP8266(简要比较)

特性 ESP8266 ESP32
CPU 核心 单核 双核
蓝牙 不支持 支持 BLE/BT
GPIO 数量 少(约 17 个) 多(约 30+ 个)
性能 较低 高得多


📚 七、学习资源推荐

Logo

鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。

更多推荐