Skip to content

Repository files navigation

esp32-pc-monitor

微雪 ESP32-S3-Touch-AMOLED-1.75C 圆屏桌面伴侣的固件。设备经 USB 串口(USB-Serial-JTAG)接收 PC 客户端推送的监控数据,在 1.75" 466×466 圆形 AMOLED 上显示。

配套 Windows 客户端:PC-monitor-plugin(.NET 8 WinForms,另一个仓库)。

功能

  • 待机页:大时钟(SNTP 校时)、天气(Open-Meteo,图标 + 温度)、电池弧 + 充电图标、重力感应倾斜动效、页面指示点
  • GAME 页:FPS、帧生成时间、CPU/GPU 温度·频率·功耗·电压、内存占用
  • WEB 页:浏览器累计使用时长(电脑开机周期内累计、持久化)
  • MUSIC 页:媒体信息 + 播放/暂停/上一曲/下一曲(按键回传 PC 执行)
  • 电源管理:
    • 深睡眠省电:息屏 + 电池供电 10s 后入睡(<1mA),点屏/按 BOOT 唤醒
    • 低电量保护:电量 ≤15% 且未充电时自动关机(AXP2101)
    • 插 USB 时永不深睡(链路保持 + 充电)
  • 联网:WiFi 凭据、天气地区(城市)均由 PC 客户端串口下发,存 NVS,重启保留

硬件

器件 说明
MCU ESP32-S3R8(16MB QSPI Flash XM25QH128D + 8MB Octal PSRAM)
屏幕 1.75" 466×466 QSPI AMOLED(CO5300),CST9217 触摸
电源 AXP2101(电池充电/电量计/多轨输出)
传感器 QMI8658 IMU(倾斜动效)
音频 ES8311 + ES7210

构建

需要 ESP-IDF v6.x(组件要求 idf >= 5.5):

idf.py set-target esp32s3
idf.py build
idf.py -p COMx flash monitor
  • LVGL 9.4 / CO5300 / CST9217 / QMI8658 等组件由 main/idf_component.yml 自动下载(版本锁定在 dependencies.lock)
  • components/XPowersLib 为内置组件(AXP2101 驱动,随仓库提交)
  • 关键配置(Octal PSRAM、16MB QIO Flash、USB-Serial-JTAG 控制台、TLS/WiFi 缓冲走 PSRAM)见 sdkconfig.defaults
  • 烧录使用 Type-C 直连(USB-Serial-JTAG),无需外部串口

串口协议

115200 波特率,JSON 行协议(一行一条,\n 结尾)。

PC → 设备:

消息 说明
{"t":"g","fps":..,"ft":..,"cpu":..,...} 游戏数据(温度/频率/功耗/电压/内存)
{"t":"m","title":..,"artist":..,"pl":0/1,...} 音乐状态
{"t":"w","up":s,...} 浏览器累计使用时长
{"t":"wifi","ssid":..,"pass":..} 下发 WiFi 凭据(存 NVS)
{"t":"wx","lat":..,"lon":..} 下发天气地区(存 NVS,立即重取)
{"t":"getwifi"} 查询联网状态/天气地区/设备时间

设备 → PC:

消息 说明
{"t":"ctrl","a":"play/pause/prev/next"} 媒体控制(设备按键触发)
{"t":"wx","ok":true} 天气地区下发确认

目录结构

main/               固件源码
  app_main.c        入口 + 深睡/低电关机策略
  wifi_app.c        WiFi STA + SNTP + Open-Meteo 天气
  pc_link.c         串口 JSON 协议
  ui_*.c            LVGL 界面(待机/游戏/网页/音乐)
  bsp_*.c           板级驱动(屏幕/电源/IMU)
  fonts/            LVGL 字体(时钟/天气图标等)
components/XPowersLib  AXP2101 驱动(内置)
tools/              串口调试脚本(Python)
docs/               原理图

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages