Files
SmartPetFeeder_STM32/README.md

24 lines
1.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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` 中完成初始化、连接、订阅及消息处理循环。
---