找回密码
 立即注册
搜索
热搜: STM32
查看: 59|回复: 0

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

[复制链接]

28

主题

0

回帖

102

积分

注册会员

积分
102
发表于 2026-3-23 01:35:01 |北京| 显示全部楼层 |阅读模式
一、什么是 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 闪烁

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

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

  8. void loop() {
  9.   digitalWrite(LED_PIN, HIGH);
  10.   Serial.println("LED ON");
  11.   delay(1000);  // 亮 1 秒
  12.   digitalWrite(LED_PIN, LOW);
  13.   Serial.println("LED OFF");
  14.   delay(1000);  // 灭 1 秒
  15. }
复制代码


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

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

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

四、WiFi 无线连接

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

  1. #include <WiFi.h>

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

  4. void setup() {
  5.   Serial.begin(115200);
  6.   WiFi.begin(ssid, password);
  7.   Serial.print("Connecting");
  8.   while (WiFi.status() != WL_CONNECTED) {
  9.     delay(500);
  10.     Serial.print(".");
  11.   }
  12.   Serial.println();
  13.   Serial.print("Connected! IP: ");
  14.   Serial.println(WiFi.localIP());
  15. }

  16. void loop() {
  17.   // 已连接,可以在这里添加网络功能
  18. }
复制代码


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 项目,大家一起学习进步 👍
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Discuz! X

GMT+8, 2026-4-5 14:54 , Processed in 0.048745 second(s), 19 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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