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>
183 lines
6.6 KiB
Markdown
183 lines
6.6 KiB
Markdown
# 电子吧唧按键版 操作使用说明
|
||
|
||
## 硬件按键说明
|
||
|
||
| 按键 | 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. **长按 KEY2(2秒)**
|
||
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双击 |
|
||
| 取消蓝牙传输 | 等待配对界面 → 任意键单击 |
|