双核 Xtensa LX6 处理器,内置 Wi-Fi + BLE——
从 Hello World 到完整 IoT 产品的系统性指南
ESP32 是乐鑫科技(Espressif)于 2016 年推出的 Wi-Fi + 蓝牙 SoC(片上系统),售价仅约 2 美元,却集成了双核 240MHz 处理器、520KB SRAM、4MB Flash、Wi-Fi 802.11 b/g/n 和蓝牙 4.2/BLE。这使它成为全球销量最大的 IoT 微控制器之一,每年出货量超过 5 亿颗。
ESP32 支持三种主流开发框架:ESP-IDF(官方 C/C++ 框架,功能最完整)、Arduino(生态最广,入门最快)和 PlatformIO(现代化 IDE 插件,两者皆支持)。本教程以 ESP-IDF v5 为主,兼顾 Arduino 风格代码,适合嵌入式初学者和有经验的开发者。
物联网(IoT)的核心是:将物理世界的传感器数据通过无线网络送到云端,再经过处理后反向控制执行器。ESP32 正是这条链路中"边缘感知与控制"节点的最佳选择。
一颗芯片,承载完整 IoT 应用所需的一切
STA/AP/APSTA 三模式,内置 TCP/IP 协议栈 lwIP,支持 HTTP/HTTPS/MQTT/WebSocket。
BLE 4.2 + 经典蓝牙,支持 GATT/GAP/HFP/A2DP,可做传感器 Beacon 或音频设备。
两个独立 Xtensa LX6 核心,可将 Wi-Fi 协议栈与业务逻辑分离,互不干扰。
34 个 GPIO、18 路 ADC、2 路 DAC、4 个 SPI、2 个 I2C、2 个 I2S、3 个 UART。
深度睡眠仅 10μA,支持 RTC 定时器、外部 GPIO、触摸传感器多种唤醒源。
硬件 AES/SHA/RSA/ECC 加速、安全启动(Secure Boot)、Flash 加密。
从零开始,系统掌握 ESP32 物联网开发全栈技能
ESP32 vs ESP8266 对比、双核 Xtensa LX6 架构、内存布局、开发框架选择(Arduino / ESP-IDF / PlatformIO),搭建环境,第一个 Hello World 与 LED 闪烁。
ESP32 GPIO 矩阵任意复用、输入输出配置、内部上下拉、触摸传感器、ADC1/ADC2 限制与校准、ledc PWM 输出、呼吸灯效果实现。
STA/AP/APSTA 三种模式、连接流程与事件驱动模型、mDNS 局域网发现、HTTP 客户端、HTTPS 证书验证、OTA 空中升级原理。
发布/订阅模型、Broker 部署、Topic 层级设计、QoS 0/1/2 区别、Retain 与 LWT、esp-mqtt 组件使用、接入阿里云/腾讯云 IoT、JSON 序列化。
BLE vs 经典蓝牙、GATT 协议栈、ATT/GAP 层次、广播包格式、Server/Client 角色、心率计 HRS Profile 模拟、NimBLE vs Bluedroid 对比。
ESP-IDF 中的 FreeRTOS、任务创建与优先级、Core 0/Core 1 亲和性绑定、队列/信号量/互斥锁/事件组、看门狗、heap_caps 内存检测。
I2C/SPI 驱动框架、DHT22 温湿度(单总线)、BMP280 气压/温度(I2C)、MPU6050 六轴 IMU、OLED 显示(SSD1306)、霍尔传感器与红外对管。
NVS 非易失性键值存储、Preferences API、SPIFFS 文件系统、LittleFS(推荐替代)、SD 卡 SPI 模式、CSV/JSON 文件读写、掉电保存策略。
ESP32 五种电源模式、深度睡眠唤醒源(RTC 定时器/GPIO/触摸/ULP)、ULP 协处理器基础、电流实测分析、太阳能供电设计思路。
完整项目:BME280 + MQ135 + E-ink 显示 + MQTT 上报 + Web Dashboard(ESP32 做 HTTP 服务器)、FreeRTOS 多任务、NVS 配置存储、深度睡眠省电、OTA 自动升级。