# BotanicalBuddy 基于 ESP-IDF 的植物助手项目,当前已集成: - **Wi-Fi 配网组件(wifi-connect)**:手机连接设备热点后通过网页完成路由器配置 - **LCD 显示组件(lvgl_st7735s_use)**:基于 LVGL 驱动 ST77xx SPI 屏并显示界面 ## 功能特性 - 长按按键进入配网模式 - 支持两种配网策略:按键触发 / 常驻配网 - 设备开启 SoftAP(`ESP32-xxxxxx`)+ Captive Portal - 手机访问 `http://192.168.4.1` 完成 Wi-Fi 配置 - 支持清除已保存 Wi-Fi 参数并重新配网 - 串口中文状态日志,便于调试和现场维护 - 支持 ST77xx SPI LCD 显示(LVGL) - 支持方向/偏移参数化配置,便于后续适配不同屏幕 ## 目录结构 - `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`:组件说明与调参指南 ## 开发环境 - 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 显示注册 - 方向/偏移可配置