wangbeihong d184d96052 feat: 添加HX711称重传感器支持并清理旧文档
- 新增HX711称重传感器驱动(bsp_hx711.c/h)
- 添加HX711相关文档和README
- 更新MP3驱动和FreeRTOS配置
- 修改CMakeLists.txt构建配置
- 删除旧的DX-WF24 WiFi模块开发文档和示例代码
- 整理Development_Docs目录结构
2026-02-25 14:06:47 +08:00
2026-02-10 20:27:03 +08:00
```
2026-02-23 16:59:34 +08:00

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 中完成初始化、连接、订阅及消息处理循环。

SNTP 网络时间同步功能

本工程还实现了 SNTP (Simple Network Time Protocol) 网络时间同步功能,主要特性包括:

  • 自动时间同步:在 MQTT 连接成功后自动获取网络时间并同步到本地。
  • 中国时区支持默认配置为中国时区UTC+8使用 cn.ntp.org.cn 作为 NTP 服务器。
  • 时间获取与存储:提供 API 接口获取当前网络时间,并存储在内部结构体中。
  • 时间有效性检查:提供函数检查获取的时间是否有效。

主要函数接口:

  • WIFI_Enable_SNTP():启用 SNTP 功能并配置 NTP 服务器
  • WIFI_Get_SNTP_Time():获取当前网络时间
  • WIFI_Get_Current_Time():获取存储的当前时间(返回结构体副本)
  • WIFI_Is_Time_Valid():检查时间是否有效

MP3 音频播放功能

本工程集成了 MP3 音频播放功能,用于提供各种系统状态和事件的语音提示。相关的音频索引定义在 Core/Bsp/BSP_Device/bsp_mp3/mp3_play_index.h 文件中。

音频提示分类:

系统状态与初始化

  • SYS_POWER_ON (1): 系统上电完成,智能宠物喂食系统启动完成,进入待机模式
  • WIFI_CONNECT_OK (2): WiFi连接成功云平台数据同步已开启
  • WIFI_CONNECT_FAIL (3): WiFi连接失败请检查网络配置

喂食模块

  • FEED_AUTO_START (4): 自动喂食启动,步进电机开始出粮
  • FEED_IN_PROGRESS (5): 正在出粮,称重模块实时监测中
  • FEED_COMPLETE (6): 喂食完成,当前食物重量已达设定值
  • FEED_MANUAL_TRIGGER (7): 手动喂食指令已接收,开始出粮
  • FOOD_LOW_ALARM (8): 食物余量不足警告,请及时添加

喂水模块

  • WATER_REFILL_START (9): 水位低于阈值,水泵启动,开始自动补水
  • WATER_REFILL_DONE (10): 补水完成,水位已达设定上限
  • WATER_LOW_ALARM (11): 水位过低警告,请检查水源或水泵
  • WATER_PIR_REFILL (12): 检测到宠物靠近且水位偏低,启动自动补水

模式切换

  • MODE_AUTO (13): 已切换至自动运行模式
  • MODE_MANUAL (14): 已切换至手动控制模式

参数设置

  • PARAM_SAVE_OK (15): 参数设置已保存,系统配置已更新
  • PARAM_TIME_SET (16): 自动喂食时间已更新
  • PARAM_WEIGHT_SET (17): 喂食重量阈值已更新

远程控制与异常

  • REMOTE_CMD_RECEIVED (18): 接收到微信小程序远程控制指令
  • DATA_UPLOAD_FAIL (19): 数据上传失败,请检查网络连接
  • SYS_ERROR_ALARM (20): 系统检测到异常,请检查硬件模块

使用说明:

系统通过调用相应的音频索引值来播放对应的提示音,为用户提供直观的听觉反馈,增强用户体验。

Description
智能宠物喂养系统
Readme 477 MiB
Languages
C 96.9%
Assembly 1.9%
JavaScript 0.9%
C++ 0.2%