这条路线把 ESP32 当作会断网、会重启且资源有限的设备。目标是采集与联网互不拖垮,错误能够观察和恢复,而不只是在理想网络下成功发出一条消息。

从合成输入开始

先运行 RTOS 和连接状态模型,再阅读固定 ESP-IDF 版本的组件工程。合成采样值能帮助验证队列与任务,随后才接真实传感器。每次切换芯片目标时重新检查核心、无线能力、引脚限制、ADC 和外设差异。

常规 FreeRTOS 知识在此复用,但 ESP-IDF 的 SMP、任务栈单位和临界区语义要单独核对。路线不要求先完成 STM32 或 Cortex-M 实物工程;共同原理学习后直接进入 IDF 即可。

联网练习的故障集合

至少覆盖接入点关闭、重新获得 IP、服务不可达、慢消费、应用确认丢失和设备重启。记录每阶段连接次数、重试间隔、队列峰值和丢弃,检查是否出现重复连接任务或无限缓存。

身份和时间也属于数据正确性:设备用启动会话与序号区分记录,超时依赖单调时钟,业务时间戳带同步状态。更新先验证非活动槽,再通过自检确认,不能因“镜像已下载”就立即视为升级成功。

完成标准

  • 工程能从保存的版本、目标和配置重建;构建状态与实物状态分别记录。
  • 采集不在网络回调中长时间等待,断网和慢消费都有确定的容量策略。
  • 主机模型自动检查数据守恒、退避上限、恢复与重复处理。
  • 实物迁移记录采样误差、恢复延迟、堆/栈和功耗;没有测量的数字不当作产品指标。

复习时用一次断网恢复时间线讲清各层状态,解释为什么“Wi-Fi 已连接”“消息已发送”和“业务已处理”是不同证据。

参考:ESP-IDF v5.3.2 文档、OASIS MQTT 5.0。