7n25gSnP 发表于 2026-3-23 01:35:01

ESP32 入门教程:从零开始学习物联网开发

一、什么是 ESP32?

ESP32 是由乐鑫科技(Espressif)开发的一款低成本、低功耗的微控制器芯片,被广泛用于物联网(IoT)开发。它拥有强大的硬件规格和丰富的软件生态,是目前最受欢迎的开发板之一。

核心特性:
✦ 双核 Xtensa LX6 处理器,主频 240MHz
✦ 520KB SRAM,支持外部 SPI Flash
✦ 内置 WiFi 802.11 b/g/n(2.4GHz)
✦ 内置蓝牙 4.2 + BLE(低功耗蓝牙)
✦ 34 个可编程 GPIO 引脚
✦ 12 位 ADC、DAC、PWM、I2C、SPI、UART
✦ 支持深度睡眠模式,功耗低至 10μA
✦ 支持电容触摸传感器、霍尔传感器

价格方面,一块 ESP32 开发板仅需 15~30 元,被称为"物联网领域的瑞士军刀"。

─────────────────────────

二、开发环境搭建

步骤一:下载安装 Arduino IDE
官网地址:arduino.cc/en/software
选择对应系统版本下载安装。Linux 用户可以直接:
sudo apt install arduino

步骤二:添加 ESP32 开发板支持
打开 Arduino IDE → 文件 → 首选项
在"附加开发板管理器URL"中填入:
https://espressif.github.io/arduino-esp32/package_esp32_index.json

步骤三:安装 ESP32 开发板
工具 → 开发板 → 开发板管理器
搜索 "esp32",选择最新版本安装(约 200MB)

步骤四:连接硬件
用 USB 数据线连接 ESP32 开发板到电脑
工具 → 开发板 → 选择 "ESP32 Dev Module"
工具 → 端口 → 选择对应的 COM/TTY 端口
点击上传按钮即可!

💡 提示:首次上传代码时,可能需要长按 BOOT 按钮才能进入下载模式。

─────────────────────────

三、第一个程序:LED 闪烁

// ESP32 LED 闪烁示例
#define LED_PIN 2

void setup() {
pinMode(LED_PIN, OUTPUT);
Serial.begin(115200);
Serial.println("ESP32 Ready!");
}

void loop() {
digitalWrite(LED_PIN, HIGH);
Serial.println("LED ON");
delay(1000);// 亮 1 秒
digitalWrite(LED_PIN, LOW);
Serial.println("LED OFF");
delay(1000);// 灭 1 秒
}

代码解析:
• setup() —— 初始化函数,程序启动时只执行一次
• loop() —— 主循环函数,反复执行
• pinMode(pin, OUTPUT) —— 设置引脚为输出模式
• digitalWrite(pin, HIGH/LOW) —— 控制引脚输出高/低电平
• delay(ms) —— 延时,单位毫秒
• Serial.begin(115200) —— 初始化串口通信,波特率 115200

上传代码后,开发板上的 LED 灯会每秒闪烁一次。打开串口监视器(波特率设为 115200)可以看到输出信息。

─────────────────────────

四、WiFi 无线连接

ESP32 最强大的功能之一就是内置 WiFi。下面是一个基础的 WiFi 连接示例:

#include <WiFi.h>

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

void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
Serial.print("Connecting");
while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
}
Serial.println();
Serial.print("Connected! IP: ");
Serial.println(WiFi.localIP());
}

void loop() {
// 已连接,可以在这里添加网络功能
}

WiFi 连接成功后,你可以实现:
• 创建 Web 服务器 —— 手机/电脑通过浏览器控制硬件
• MQTT 通信 —— 对接 Home Assistant、阿里云 IoT 等平台
• OTA 远程更新 —— 通过 WiFi 无线刷写新固件
• NTP 时间同步 —— 获取网络时间
• HTTP 请求 —— 调用天气预报、ChatGPT 等在线 API

─────────────────────────

五、你可以用 ESP32 做什么?

1. 智能家居控制
   WiFi + 继电器模块,用手机 App 控制灯光、空调、窗帘、插座等家电。

2. 环境监测站
   DHT11/DHT22 温湿度传感器 + BMP280 气压计 + PMS5003 PM2.5 传感器 + OLED 显示屏。

3. 摄像头监控
   使用 ESP32-CAM 模块,实现实时视频流推送、人脸识别、移动检测报警。

4. 蓝牙音箱 / 遥控器
   利用 BLE 功能,配合手机 App 做无线音乐播放或红外遥控学习。

5. 自平衡小车
   MPU6050 六轴陀螺仪加速度计 + PID 算法实现两轮自平衡。

6. LoRa 远程通信
   外接 LoRa 模块(如 SX1278),实现公里级远距离低功耗通信。

─────────────────────────

六、学习资源推荐

• 官方文档:docs.espressif.com
• Arduino ESP32 核心:github.com/espressif/arduino-esp32
• ESP-IDF(官方开发框架):github.com/espressif/esp-idf
• 项目灵感:hackster.io / instructables.com

─────────────────────────

以上就是 ESP32 入门教程的全部内容。从环境搭建到实际项目,希望对刚接触物联网开发的朋友有所帮助。

如果你有任何问题,欢迎在本帖下方回复交流!也可以分享你的 ESP32 项目,大家一起学习进步 👍
页: [1]
查看完整版本: ESP32 入门教程:从零开始学习物联网开发