# ESP32S3_Watch **Repository Path**: panda123124/esp32-s3_-watch ## Basic Information - **Project Name**: ESP32S3_Watch - **Description**: 一个基于ESP32S3的开源智能手表项目 - **Primary Language**: C++ - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-09 - **Last Updated**: 2025-08-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: ESP32, LVGL, FreeRTOS ## README # ESP32-S3 Watch 项目 这是一个为 ESP32-S3 微控制器设计的智能手表项目。项目集成了多个传感器和功能,包括陀螺仪、加速度计、Wi-Fi 连接、NTP 时间同步、天气数据获取、闹钟、电池监测等。用户界面使用 LVGL 库进行管理,并支持触控交互。 本意为再利用手边空闲的开发板,没想到最后测试发现LCD背光故障,无法正常点亮。 本项目通过编译但未经验证,具备基础的硬件驱动与OS配置,希望供后来学习者参考或在此基础上实现自己的应用。 ## 特性 - **时间同步**: 通过 NTP 从互联网获取准确的时间。 - **闹钟功能**: 设置和检查闹钟。 - **传感器支持**: 使用 QMI8658 IMU 进行加速度和陀螺仪数据采集。 - **Wi-Fi 连接**: 提供 Wi-Fi 初始化和连接功能。 - **天气信息**: 从网络获取天气信息,包括温度、湿度和天气状况(心知天气申请API)。 - **电池监测**: 检测电池百分比和电量状态。 - **触控支持**: 使用 CST816S 触控传感器支持用户交互。 - **显示管理**: 使用 TFT_eSPI 库进行显示初始化、屏幕刷新和背光控制。 ## 硬件要求 - 可直接使用现成开发板(https://www.waveshare.net/shop/ESP32-S3-Touch-LCD-1.28.htm) 或基于以下硬件 - ESP32-S3 开发板 - QMI8658 IMU 传感器 - CST816S 触控传感器 - TFT 显示屏支持 ESP32 ## 软件要求 - Arduino IDE 或支持 ESP32 的开发环境 - 心知天气API(https://www.seniverse.com/) - LVGL 库(v8.3.9)(注意:在开发过程中曾使用v9.3.0,但官网文档中设备初始化方式与8.3.x版本有较大变动,如果想使用最新的LVGL库,请参考官方文档修改底层驱动) - TFT_eSPI 库(v2.5.43) - Wi-Fi 库 - NTPClient 库 - IMU(参考QMI8658自实现) - CST816S(v1.3.0) - ArduinoJson(v7.4.2) ## 安装步骤 1. 下载并安装 [Arduino IDE](https://www.arduino.cc/en/software)。 2. 安装 [ESP32 开发板支持](https://github.com/espressif/arduino-esp32)。 3. 安装以下库: - LVGL (LittleVGL) - TFT_eSPI - WiFi - NTPClient - CST816S 驱动 - ArduinoJson 4. 将项目代码上传到 ESP32-S3 开发板。 ## 使用说明 - **时间页面**: 显示当前时间和日期。 - **天气页面**: 显示从网络获取的天气信息。 - **IMU 页面**: 显示加速度计和陀螺仪的数据。 - **闹钟页面**: 设置和管理闹钟。 - **电池页面**: 显示当前电池电量。 - **操作标签**: 提供用户操作提示。 ## 目录结构 - `src/`:项目的主要源代码目录。 - `Alarm.cpp/h`:闹钟管理代码。 - `Battery.cpp/h`:电池状态监测代码。 - `Display.cpp/h`:显示管理代码。 - `IMU.cpp/h`:IMU 数据采集和校准代码。 - `MyWifi.cpp/h`:Wi-Fi 连接管理代码。 - `NTPTime.cpp/h`:NTP 时间同步代码。 - `Pages.cpp/h`:LVGL 页面和 UI 管理代码。 - `QMI8658.cpp/h`:QMI8658 IMU 驱动。 - `Touch.cpp/h`:触控传感器 CST816S 的驱动代码。 - `Weather.cpp/h`:天气数据获取代码。 ## 许可证 MIT License - 详见 [LICENSE](LICENSE) 文件。