📘 OTA & MQTT 实战课
🎯 30章 · 从入门到项目
友好
1
物联网概述
感知层·网络层
什么是物联网、四层架构、MQTT/CoAP/HTTP通信协议对比
2
MQTT协议基础
发布/订阅
主题与通配符、服务质量QoS 0/1/2 详解
3
MQTT Broker搭建
Mosquitto/EMQX
Mosquitto安装配置、EMQX简介、阿里云/华为云MQTT服务
4
MQTT客户端(Python)
paho-mqtt
库安装、连接Broker、订阅发布、回调函数处理
5
MQTT客户端(ESP32)
PubSubClient
Arduino框架、WiFi连接、MQTT数据上报
6
遗嘱与保留消息
Will/Retained
遗嘱消息机制、保留消息应用场景、实战演示
7
MQTT安全机制
TLS/SSL
用户名/密码认证、TLS加密通信、证书生成配置
8
OTA升级概述
固件升级
什么是OTA、升级流程:固件生成→上传→下发→烧录
9
OTA方案对比
Pull vs Push
后台拉取式 vs 前台推送式、全量升级 vs 差分升级
10
固件版本管理
语义化版本
版本号规范、存储策略、版本回滚机制设计
11
HTTP固件服务器
Flask搭建
简易固件服务器、文件上传接口、版本查询接口
12
ESP32 OTA基础
ArduinoOTA
ArduinoOTA库、本地WiFi OTA、Web OTA升级
13
ESP32 OTA进阶(HTTP)
HTTP下载
从HTTP服务器下载固件、分区表配置、校验烧录
14
ESP32 OTA进阶(HTTPS)
证书验证
HTTPS证书验证、安全固件下载、自签名证书处理
15
ESP32 OTA进阶(MQTT触发)
命令触发
MQTT命令触发OTA、固件URL下发、状态上报
16
OTA状态机设计
状态流转
空闲态、下载态、校验态、烧录态、重启态、异常处理
17
OTA失败处理
断点续传
超时重试、看门狗保护、紧急恢复模式
18
差分OTA升级
bsdiff/hdiff
差分算法原理、差分包生成与合并
19
多设备批量OTA
灰度发布
设备分组管理、灰度发布策略、升级进度监控
20
OTA+MQTT实战(一)
系统架构
设备注册认证、心跳与在线状态
21
OTA+MQTT实战(二)
主题规划
MQTT主题规划、命令下发格式、状态上报格式
22
OTA+MQTT实战(三)
Python后端
Flask+MQTT、固件管理API、OTA任务调度
23
OTA+MQTT实战(四)
ESP32客户端
MQTT连接管理、OTA任务执行
24
OTA+MQTT实战(五)
Web管理
设备列表、升级任务创建与监控
25
OTA+MQTT实战(六)
端到端联调
日志分析、常见问题排查
26
OTA通知(微信/邮件)
Server酱
MQTT触发Server酱、SMTP邮件通知
27
OTA通知(钉钉/飞书)
Webhook
机器人配置、自定义消息、@指定人
28
OTA通知(短信/电话)
阿里云
短信服务集成、语音电话告警、费用控制
29
OTA通知(企业微信)
群机器人
应用消息推送、Markdown消息格式
30
综合项目实战
智能家居网关
从零搭建完整OTA平台、课程总结与展望