f8564dbcc5d0ff35f5b777e394b2077260074043
SmartPetFeeder_STM32
WiFi 与 MQTT 通信模块说明
本工程中的 dx_wf_24.c 实现了基于 ESP8266/ESP32 AT 指令集的 WiFi 与 MQTT 通信功能,主要特性包括:
- 串口 DMA 接收与发送:使用 STM32 的 UART + DMA 实现高效数据收发,支持 IDLE 中断检测帧尾。
- WiFi 连接管理:通过 AT 指令自动连接指定 SSID 和密码的 WiFi 网络。
- MQTT 客户端功能:
- 自动生成唯一 ClientID(基于系统 Tick 与 STM32 UID);
- 支持设置用户名、密码;
- 连接指定 MQTT 服务器(支持自定义 Host 和 Port);
- 双主题订阅:
petfeeder/control(控制指令)和petfeeder/config(配置更新); - 支持 RAW 数据发布(
AT+MQTTPUBRAW),适用于 JSON 等结构化数据; - 自动处理 MQTT 断线重连事件(通过
+MQTTDISCONNECTED监测)。
- 消息解析:解析
+MQTTSUBRECV格式的订阅消息,提取主题与负载内容。 - 状态上报:
- 设备上线时自动发布
{"status":"online"}到petfeeder/status主题(retain=1); - 支持传感器数据上报至
petfeeder/sensor主题。
- 设备上线时自动发布
注意:当前实现为单任务模型,在
wifi_task_mqtt中完成初始化、连接、订阅及消息处理循环。
Description
Languages
C
96.9%
Assembly
1.9%
JavaScript
0.9%
C++
0.2%