Files
BotanicalBuddy/README.md

81 lines
2.9 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.
# BotanicalBuddy
基于 ESP-IDF 的植物助手项目,当前已集成:
- **Wi-Fi 配网组件wifi-connect**:手机连接设备热点后通过网页完成路由器配置
- **LCD 显示组件lvgl_st7735s_use**:基于 LVGL 驱动 ST77xx SPI 屏并显示界面
- **I2C 传感器组件i2c_master_messager**:统一读取 BH1750 / AHT30 数据
- **IO 外设控制组件io_device_control**:控制水泵与光照开关(高电平有效)
## 功能特性
- 长按按键进入配网模式
- 支持两种配网策略:按键触发 / 常驻配网
- 设备开启 SoftAP`ESP32-xxxxxx`+ Captive Portal
- 手机访问 `http://192.168.4.1` 完成 Wi-Fi 配置
- 支持清除已保存 Wi-Fi 参数并重新配网
- 串口中文状态日志,便于调试和现场维护
- 支持 ST77xx SPI LCD 显示LVGL
- 支持方向/偏移参数化配置,便于后续适配不同屏幕
- 支持水泵GPIO1与光照GPIO0控制接口
## 目录结构
- `main/`:应用入口(`app_main`
- `components/wifi-connect/`:配网组件实现与文档
- `README.md`:组件说明
- `USER_GUIDE.md`:用户操作手册
- `QUICK_POSTER.md`:张贴版快速指引
- `BLOG.md`:博客草稿
- `components/lvgl_st7735s_use/`LCD 显示组件LVGL + ST77xx
- `README.md`:组件说明与调参指南
- `components/i2c_master_messager/`I2C 传感器管理组件
- `README.md`:传感器采集与配置说明
- `components/io_device_control/`IO 外设控制组件
- `README.md`:水泵/光照控制接口说明
## 开发环境
- Linux
- ESP-IDF `v5.5.2`(建议)
- Python 与 ESP-IDF 工具链按官方方式安装
## 快速开始
1. 配置并编译
- `idf.py set-target esp32`
- `idf.py build`
2. 烧录并查看日志
- `idf.py -p /dev/ttyUSB0 flash monitor`
3. 显示初始化
-`app_main` 中调用:`ESP_ERROR_CHECK(start_lvgl_demo());`
- 可选:`ESP_ERROR_CHECK(lvgl_st7735s_set_center_text("BotanicalBuddy"));`
4. 配网
- 按键触发模式:长按设备按键进入配网模式
- 常驻配网模式:上电自动进入配网模式
- 手机连接 `ESP32-xxxxxx`
- 打开 `http://192.168.4.1`
- 选择路由器并输入密码提交
## 调试建议
- 若出现“按键未按下却进入配网”,通常是按键引脚与 LCD/外设复用导致电平抖动。
- 可在 `WiFi Connect` 配置中调大:
- `WIFI_CONNECT_BUTTON_STARTUP_GUARD_MS`(建议 8000~10000
- `WIFI_CONNECT_BUTTON_RELEASE_ARM_MS`(建议 300~500
- 若硬件允许,优先给配网按键使用独立 GPIO避免与屏幕复位脚复用。
- 若使用常驻配网模式,可不依赖按键触发(适合按键与 LCD 复位脚复用场景)。
## 当前状态
项目已完成第一版配网闭环:
- 配网入口
- 路由连接
- 状态显示
- 清除配置
- 中文日志与文档
并完成 LCD 显示链路:
- SPI 屏初始化
- LVGL 显示注册
- 方向/偏移可配置