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>
6.6 KiB
6.6 KiB
电子吧唧按键版 操作使用说明
硬件按键说明
| 按键 | 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。一台作为发送方,另一台作为接收方。
传输流程
接收方操作:
- 在 Home 或 Img 界面,双击 KEY2
- 屏幕显示「等待配对」界面(ImageReception)
- 设备自动开启 BLE 广播,等待发送方连接
- 配对成功后自动切换到「接收中」界面(Receiving)
- 传输完成后自动跳转到 Img 界面显示接收的图片
发送方操作:
- 在 Img 界面浏览并选定要分享的图片
- 长按 KEY2(2秒)
- 屏幕显示「等待配对」界面(ImageShar)
- 设备自动扫描附近的接收方并连接
- 配对成功后自动切换到「传输中」界面(Sharing)
- 传输完成后自动跳转到 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双击 |
| 取消蓝牙传输 | 等待配对界面 → 任意键单击 |