1. 课程导论与硬件准备

各位同学好,我是你们这趟低功耗之旅的向导。做嵌入式这些年,我见过太多产品因为功耗没控好,或者OTA升级失败导致返厂,那叫一个头疼。这门课,就是要把我踩过的坑、总结出的经验,一次性掰开揉碎讲给你听。

咱们第一节课,先把地基打牢。芯片怎么选?场景怎么分析?工具怎么配?项目长什么样?这些搞清楚了,后面写代码、调参数才不慌。

1.1 ESP32芯片选型:别拿错枪上错战场

ESP32家族现在成员不少,但咱们做低功耗产品,不能闭着眼睛选。我刚开始做项目时,就吃过亏——选了个带摄像头的模组做温湿度传感器,结果功耗根本压不下去。

下面这张表,是我个人习惯的选型参考:

芯片/模组 适用场景 低功耗特性 我的建议
ESP32-PICO-D4 小尺寸、电池供电 深度睡眠 5μA 适合温湿度节点
ESP32-WROOM-32 通用开发、原型验证 Modem-sleep 可用 学习阶段首选
ESP32-S3 需要AI加速或大内存 ULP协处理器更强 进阶项目考虑
ESP32-C3 纯低功耗、RISC-V 功耗比ESP32低30% 量产性价比之选
我的经验: 如果你刚入门,先拿ESP32-WROOM-32练手。等把低功耗模式、OTA流程跑通了,再换C3或S3做产品化。别一上来就追新,容易把自己绕进去。

1.2 低功耗应用场景分析

咱们这门课的核心项目是智能温湿度传感器节点。你想想看,这种设备通常放在仓库、温室、机房,一待就是几个月甚至一年。没人给它换电池,功耗就是命根子。

我归纳了三个典型场景:

  • 场景一:周期性上报 —— 每5分钟采集一次温湿度,通过Wi-Fi上报。大部分时间在睡觉,醒来干活。
  • 场景二:阈值触发上报 —— 温度超过40℃或湿度低于20%才报警。平时深度睡眠,只有ULP协处理器在监听。
  • 场景三:远程OTA升级 —— 设备部署后,通过无线方式更新固件。升级过程必须保证不掉线、不砖机。

这三种场景,咱们课程都会覆盖。说白了,就是教会你:什么时候睡、睡多深、怎么醒、醒了怎么快速干完活继续睡。

1.3 开发板与工具清单

工欲善其事,必先利其器。下面是我建议你准备的硬件和软件工具:

硬件清单

  • ESP32开发板 x1(推荐NodeMCU-32S或ESP32-DevKitC)
  • 温湿度传感器 x1(SHT30或DHT22,我习惯用SHT30,精度高、功耗低)
  • 0.96寸OLED显示屏 x1(SSD1306,I2C接口,调试时看数据用)
  • 面包板+杜邦线 若干
  • USB转TTL模块 x1(CP2102或CH340,备用调试)
  • 锂电池 x1(3.7V 18650或聚合物电池,带保护板)
  • 万用表 x1(测功耗必备,别省这个钱)

软件工具

  • ESP-IDF v5.0+ —— 官方框架,低功耗API最全
  • Arduino IDE —— 快速原型验证,但深度睡眠配置不如IDF灵活
  • PlatformIO —— 我个人最爱,项目管理方便,库依赖清晰
  • Python 3.8+ —— 用于OTA服务器脚本和数据分析
  • Git —— 版本控制,做OTA升级时你就知道它多重要了
避坑指南: 我曾经用劣质杜邦线做功耗测试,结果接触电阻导致测量值偏大10倍,查了三天才发现是线的问题。建议买好一点的硅胶线,或者直接焊在转接板上。

1.4 课程项目总览:智能温湿度传感器节点

咱们整个课程会围绕一个完整的项目展开。下面这张图,就是项目的整体架构:

智能温湿度传感器节点 — 系统架构图 SHT30 温湿度传感器 I2C 接口 / 功耗 2μA ESP32 主控 深度睡眠 5μA Wi-Fi / BLE / OTA 0.96寸 OLED 本地显示 / 调试 电源管理 3.7V锂电池 + LDO OTA 升级服务器 固件分发 / 版本管理 云平台 MQTT / HTTP 数据上报 核心工作流程: 1. 传感器采集温湿度 → 2. ESP32处理并显示 → 3. Wi-Fi上报云平台 → 4. 进入深度睡眠 5. 定时唤醒或OTA指令唤醒 → 6. 重复以上流程

这个项目看起来简单,但里面门道不少。我把它拆成了几个关键模块:

  1. 传感器驱动与数据采集 —— 怎么让SHT30在低功耗模式下工作,采集间隔怎么控制。
  2. 低功耗模式切换 —— 深度睡眠、Modem-sleep、Light-sleep,什么时候用哪个。
  3. Wi-Fi连接与数据上报 —— 连接要快,传输要短,发完就断。
  4. 本地显示与调试 —— OLED只在需要时点亮,平时关掉省电。
  5. OTA升级机制 —— 远程更新固件,支持断点续传和回滚。
  6. 功耗测量与优化 —— 用万用表或功耗分析仪,逐模块排查耗电大户。
课程目标: 学完这门课,你能独立设计一个电池供电的ESP32物联网节点,平均功耗控制在50μA以下,单节18650电池续航超过6个月,并且支持可靠的OTA远程升级。