ESP32 Dashboard — AI 仪表盘 v1.0

TFT 显示屏作为 AI 助手物理仪表盘:RoboEyes 动画眼睛实时反映 AI 工作状态,并展示余额、天气与系统信息。本页为设备使用说明书。

硬件

组件位置功能
屏幕正面,240×240 TFT (ST7789)所有视觉输出
B1 (GPIO26)顶部按键上 / 上一项
B2 (GPIO12)底部按键确认 / 返回菜单
B3 (GPIO14)侧边按键下 / 下一项
LED (GPIO2)板载状态指示 (PWM),仅 EYES / DASHBOARD 页点亮

按键为上拉,按下接地(读 0)。

开机流程

  1. 黑屏 → WiFi连接中...
  2. WiFi 连接(尝试:cmcc-211 → ttttssss → Hexnology)
  3. 时间同步... → NTP 校时 (ntp.aliyun.com)
  4. MQTT连接中... → 连接并订阅
  5. 加载天气... → 等待天气数据(最长 10s)
  6. 准备就绪! → 眼睛苏醒动画(约 3s)
  7. 进入主循环(眼睛约 35fps)

整个开机过程 LED 快速闪烁(80ms),就绪后熄灭。

页面

EYES(默认页)

控制:B2 → 菜单

MENU(4 项菜单)

#动作
1数据面板余额 & 花费
2天气实时天气 + 7 天预报
3系统WiFi、MQTT、时间、系统信息
4退出返回 EYES

B1 / B3 移动光标,B2 确认。

DASHBOARD(每 30 秒刷新)

B1 → P1,B3 → P2,B2 → 菜单

WEATHER(双城市天气)

B1 / B3 → 切换城市,B2 → 菜单

SYSTEM(每 5 秒刷新)

内容
WiFiSSID 名称 + RSSI 信号强度
MQTT连接状态 + 数据年龄(正常 Ns / 等待中 / 无WiFi)
日期YYYY-MM-DD
时间HH:MM:SS
倒计时距 17:00 剩余时间
系统CPU 使用率 % + RAM 使用率 %

B2 → 菜单

状态码(AI 工作状态)

含义EYES 表情LED(EYES / DASHBOARD)
1等待 WAIT疲惫快闪(150ms)
2工作 CODING默认呼吸灯(2s 周期)
3错误 ERROR愤怒常亮
4空闲 IDLE开心熄灭

LED 行为

页面LED说明
EYES✅ PWM按状态模式
DASHBOARD✅ PWM按状态模式
MENU / WEATHER / SYSTEM❌ 熄灭

连接信息

参数
服务域名esp.fushisanlang.cn
服务器fushisanlang.cn (39.106.158.75)
MQTT 端口1883
HTTP 端口30002
NTP 服务器ntp.aliyun.com
时区UTC+8(北京时间)
WiFi SSIDcmcc-211 → ttttssss → Hexnology(按序尝试)
WiFi 重连断线后每 15 秒自动重试

数据来源

Topic频率内容
esp/balance (MQTT)1s 推送状态码 + 10 窗口 余额/花费 数组
esp/weather (MQTT)实时 1h / 预报每日 08:00两城市实时天气 + 7 天预报

两个 topic 均使用 MQTT retained 消息 —— ESP32 开机订阅后立即收到最新数据。

HTTP API

GET/esp/balance聚合数据:{"status":1-4, "windows":[[余额,花费]×10]}
POST/esp/status设置 AI 状态:{"status":1-4}
GET/esp/weather天气缓存(调试用)
GET/esp/ping连通性测试

已知限制