Dzbj_ESP32-S3_Key/操作使用说明.md
Rdzleo 75586b3744 ESP32-S3按键版电子吧唧功能完整实现
1、按键驱动重构:从GPIO中断改为iot_button组件,支持BOOT/KEY2的单击/双击/长按6种事件;
2、新增按键导航管理器(key_nav):9种上下文状态机,统一分发按键事件到对应界面业务逻辑;
3、BLE模块改造:广播默认关闭由按键触发,新增设备间图片传输(GATT Client),支持扫描配对→MTU协商→分包发送;
4、新增6个UI界面:配对(Peiwang)、更新(Update)、发送等待(ImageShar)、接收等待(ImageReception)、发送中(Sharing)、接收中(Receiving);
5、新增电池指示器组件(battery_ui):支持多界面真实电量显示,3秒渐隐效果;
6、Home界面重构:移除手势事件,改为airhub背景图+电池指示器;
7、Img界面重构:移除触摸事件,新增删除二次确认边框机制;
8、禁用ScreenSet/ScreenChar界面(保留文件),禁用触摸初始化(保留代码可恢复);
9、sleep_mgr简化:移除ScreenSet亮度UI依赖,按键唤醒由key_nav统一处理;
10、新增9张图片资源(airhub背景、配对、传输状态、电池图标等);

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-26 17:35:05 +08:00

6.6 KiB
Raw Blame History

电子吧唧按键版 操作使用说明

硬件按键说明

按键 GPIO 功能定位
BOOT GPIO0 确认键 / 浏览操作
KEY2 GPIO4 功能键 / 蓝牙操作
SW1 - 硬件电源开关(不可软件控制)

界面导航总览

                    ┌──────────────┐
          ┌─BOOT───│   Home界面   │───KEY2──┐
          │  单击   │ (airhub背景) │  单击   │
          ▼         └──────────────┘         ▼
  ┌──────────────┐       │  │       ┌──────────────┐
  │   Img界面    │       │  │       │  Peiwang界面 │
  │ (图片浏览)   │       │  │       │ (APP蓝牙配对)│
  └──────────────┘       │  │       └──────────────┘
                         │  │
              KEY2双击───┘  └───KEY2长按
                  │                 │
                  ▼                 ▼
        ┌──────────────┐  ┌──────────────┐
        │ ImageReception│  │  ImageShar   │
        │ (接收方等待)  │  │ (发送方等待) │
        └──────────────┘  └──────────────┘
                  │                 │
             配对成功           配对成功
                  │                 │
                  ▼                 ▼
        ┌──────────────┐  ┌──────────────┐
        │  Receiving   │  │   Sharing    │
        │ (接收中...)  │  │  (发送中...) │
        └──────────────┘  └──────────────┘
                  │                 │
             传输完成           传输完成
                  │                 │
                  └────► Img界面 ◄──┘
                       显示新图片

各界面按键操作详解

1. Home界面开机默认

显示 airhub 背景图,设备开机后进入此界面。

按键 操作 行为
BOOT 单击 进入 Img图片浏览 界面
KEY2 单击 开启蓝牙广播 → 进入 Peiwang配对 界面用于APP传图
KEY2 双击 进入 接收方等待配对 界面(设备间接收图片)
KEY2 长按(2秒) 先跳转到Img界面 → 进入 发送方等待配对 界面(设备间发送当前图片)

2. Img界面图片浏览

显示 SPIFFS 文件系统中存储的图片,支持翻页和删除。

按键 操作 行为
BOOT 单击 显示 下一张 图片
BOOT 双击 显示 上一张 图片
BOOT 长按(2秒) 弹出 删除确认 对话框
KEY2 单击 返回 Home 界面
KEY2 双击 进入 接收方等待配对 界面
KEY2 长按(2秒) 进入 发送方等待配对 界面(分享当前显示的图片)

3. 删除确认模式Img界面内弹窗

在 Img 界面长按 BOOT 后出现删除确认弹窗。

按键 操作 行为
BOOT 单击 确认删除 当前图片,自动显示下一张
KEY2 单击 取消删除,关闭弹窗回到正常浏览

4. Peiwang配对界面APP蓝牙传图

设备开启 BLE 广播,等待手机 APP 连接并传输图片。

按键 操作 行为
任意键 单击 关闭蓝牙广播 → 返回 Home 界面

APP 上传图片后自动跳转到 Update 界面显示进度,完成后自动进入 Img 界面显示新图片。


5. Update界面APP传图进度

APP 正在传输图片时的进度展示界面,无需按键操作。

传输完成后自动跳转到 Img 界面显示新接收的图片。


6. 屏幕休眠与唤醒

设备支持自动休眠节省电量。

状态 条件 行为
自动熄屏 10秒无操作 关闭背光,进入低功耗模式
唤醒 按任意键 点亮屏幕,本次按键仅唤醒不触发其他功能

设备间蓝牙图片传输

功能说明

两台电子吧唧设备之间可以通过蓝牙直接传输图片无需手机APP。一台作为发送方另一台作为接收方。

传输流程

接收方操作:

  1. 在 Home 或 Img 界面,双击 KEY2
  2. 屏幕显示「等待配对」界面ImageReception
  3. 设备自动开启 BLE 广播,等待发送方连接
  4. 配对成功后自动切换到「接收中」界面Receiving
  5. 传输完成后自动跳转到 Img 界面显示接收的图片

发送方操作:

  1. 在 Img 界面浏览并选定要分享的图片
  2. 长按 KEY22秒
  3. 屏幕显示「等待配对」界面ImageShar
  4. 设备自动扫描附近的接收方并连接
  5. 配对成功后自动切换到「传输中」界面Sharing
  6. 传输完成后自动跳转到 Img 界面

提示:在 Home 界面长按 KEY2 也可发送,设备会先自动跳转到 Img 界面(默认发送当前图片),再进入发送等待。

取消传输:

  • 在等待配对界面ImageShar / ImageReception按任意键 取消并返回 Home 界面

传输协议说明

  • 发送方通过 GATT Client 扫描附近广播设备
  • 接收方复用现有 GATT Server与 APP 传图共用协议
  • 图片数据分包传输,每包最大 495 字节MTU=500
  • 传输过程中设备间自动协商,无需人工干预

电池指示器

  • 屏幕右上角显示电池电量图标
  • 根据真实 ADC 检测的电池电压自动更新
  • 每 5 秒刷新一次电量显示
  • 电量颜色指示:
    • 绿色:电量 > 60%
    • 黄色:电量 20% ~ 60%
    • 红色:电量 < 20%

快速操作速查表

我想要... 操作方式
浏览图片 Home → BOOT单击 → 进入Img
下一张图片 Img界面 → BOOT单击
上一张图片 Img界面 → BOOT双击
删除图片 Img界面 → BOOT长按 → BOOT确认 / KEY2取消
返回首页 Img界面 → KEY2单击
APP传图 Home → KEY2单击 → 打开APP连接传图
发送图片给另一台设备 Img界面 → KEY2长按
接收另一台设备的图片 任意界面 → KEY2双击
取消蓝牙传输 等待配对界面 → 任意键单击