ESP8266 Web 配网与 MQTT 通信方案:免 AT 指令串口透传
一、项目背景与开发初衷
在物联网设备开发过程中,配网和远程通信是两个核心痛点:传统的 AT 指令配网操作复杂,且多数方案在更换 WiFi 时会丢失 MQTT 配置;串口调试和 MQTT 远程控制无法兼顾;设备配置管理缺乏可视化界面。针对这些问题,基于 ESP8266 / ESP12F 开发了一套集 Web 配网、串口调试、MQTT 远程控制于一体的智能设备管理系统,核心亮点是 Web 端支持只更改 WiFi 且保留 MQTT 配置、STM32 串口与 MQTT 调试及控制一体,直接配网、直接发送数据使用,没有复杂指令,大幅提升设备运维效率。
二、功能亮点
1. 差异化核心特性
- WiFi/MQTT 配置分离:更换 WiFi 时自动保留 MQTT 服务器、主题等配置,无需重复设置、WiFi 自动连接、断连重启。
- 多端控制体系:Web 可视化配置 + 串口命令调试 + MQTT 远程控制三重操作方式;Web 端保存 WiFi 配置,串口可与 STM32、Arduino 等单片机连接,MQTT 与云端、APP 等实现远程控制
- 安全的配置管理:支持分维度重置(仅 WiFi / 仅 MQTT / 完全重置),操作前需确认,防止误操作
- 状态可视化:Web 页面展示设备、WiFi、MQTT 连接状态,信号强度等关键信息;串口和 MQTT 通信实时打印显示信息及 help 帮助
2. 完整功能清单
| 功能模块 | 具体能力 |
|---|---|
| Web 配网 | 扫描 WiFi 列表、手动输入 SSID、MQTT 配置(开发者模式)、设备状态展示、配置重置 |
| 串口通信 | 基础命令(help/status/test 等)、存储管理(eeprom/clear 等)、STM32 数据解析 |
| MQTT 通信 | 文本 / JSON 格式指令、状态上报、遗嘱消息、定时心跳、远程配置 WiFi |
| 存储管理 | EEPROM 分字段读写、配置备份、出厂设置恢复 |
三、核心功能演示
1. Web 配网及功能介绍
界面设计较为朴素,但功能完整,可直接使用。
WiFi 连接配置:
连接'ESP8266 设备配置'WiFi,自动打开页面(部分手机需要浏览器手动输入 192.168.4.1),保存相关配置即可连接。
设备重置功能:
- 完全重置 (清除所有配置):清除 WiFi 和 MQTT 配置,恢复到出厂状态
- 仅重置 WIFI 配置:只清除 WiFi 配置,保留 MQTT 设置
- 仅重置 MQTT 配置:只清除 MQTT 配置,保留 WiFi 设置
2. 串口通信及调试(可连接 STM32 / Arduino 等单片机)
该交互界面支持串口指令快速调试:向 ESP8266 发送 help 指令即可打印完整的命令帮助手册,发送对应指令后设备会自动返回执行结果。核心优势在于:单片机无需依赖 AT 指令,只需通过串口向 ESP8266 发送标准化格式数据(如 <DATA,TEMP:25.5,HUMI:60>),即可自动上传至已配置的 MQTT 服务器,大幅简化了嵌入式设备的网络通信开发流程。
3. MQTT 通信体系
(1)MQTT 通信体系:文本 + JSON 双格式指令,适配不同场景
本系统的 MQTT 通信模块做了深度优化,既支持轻量化的文本指令,也兼容标准化的 JSON 指令,兼顾调试效率与工程化应用:
- 核心通信机制:
- 设备默认订阅主题
device/sensor_01,响应主题 ,状态上报主题 ,三主题分离设计,避免指令与状态消息混叠;
- 设备默认订阅主题

