Files
stc32g128k/Docs/docs/wristband_illustrated_flow.md

147 lines
7.4 KiB
Markdown
Raw Normal View History

# 手环端“全场景”图文并茂软件交互故事板
为了让开发与评审过程更加生动直观,本故事板将手环的**每一步软件逻辑**与**实际 OLED 屏幕128x64像素级 UI 画面**进行了一对一绑定,并列出了该步骤下的 LED 灯效、马达振动和按键逻辑。
---
## 📅 轮播:核心 OLED 界面快速预览(左滑/右滑)
````carousel
![1. 时钟待机](wristband_clock.svg)
<!-- slide -->
![2. 已布防时钟](wristband_armed.svg)
<!-- slide -->
![3. 已撤防时钟](wristband_disarmed.svg)
<!-- slide -->
![4. 进入配对模式](wristband_pair_start.svg)
<!-- slide -->
![5. 配对选择列表](wristband_pairing.svg)
<!-- slide -->
![6. 配对保存成功](wristband_saved.svg)
<!-- slide -->
![7. 对码匹配失败](wristband_pair_fail.svg)
<!-- slide -->
![8. 门磁报警触发](wristband_alarm.svg)
<!-- slide -->
![9. 紧急SOS求救](wristband_sos.svg)
````
---
## 🗺️ 第一部分:待机与安防状态切换
### 1.1 待机模式(未加入布防)
![待机模式](wristband_clock.svg)
| 交互维度 | 规格详情与软件逻辑 |
| :--- | :--- |
| **触发动作** | 系统正常上电启动,或报警/配对结束后的常态。 |
| **屏幕元素** | 1. 顶部状态栏:展示 `WATCH``85%` 电池图标。<br>2. 中央大字:`10:35` 数字时钟。<br>3. 底部小字:`THU 07-02` 星期与日期。 |
| **LED 灯效** | 熄灭(无灯)。 |
| **马达反馈** | 静止(不振动)。 |
| **下一个状态** | 监听 433MHz 射频总线,等待警报、配对按键或布撤防通知。 |
---
### 1.2 系统布防状态ARMED
![已布防](wristband_armed.svg)
| 交互维度 | 规格详情与软件逻辑 |
| :--- | :--- |
| **触发动作** | 接收到 IPC 发出的 433MHz 布防广播。 |
| **屏幕元素** | 1. 状态栏左侧:显示 **红色闭锁 `🔒` 图标**,并滚动显示 **`已布防 ZONE 1-N`** 文字。<br>2. 中央与底部:保持正常的数字时钟和日期。 |
| **LED 灯效** | **红色呼吸灯**(可配置常亮/慢闪,根据客户最终定义)。 |
| **马达反馈** | 接收到广播瞬间短振 1 次150ms。 |
---
### 1.3 系统撤防状态DISARMED
![已撤防](wristband_disarmed.svg)
| 交互维度 | 规格详情与软件逻辑 |
| :--- | :--- |
| **触发动作** | 接收到 IPC 发出的 433MHz 撤防广播。 |
| **屏幕元素** | 1. 状态栏左侧:显示 **绿色开锁 `🔓` 图标**,并显示 **`已撤防 ZONE 1-N`**。<br>2. 中央与底部:正常的数字时钟和日期。 |
| **LED 灯效** | **绿色慢闪 3 次后熄灭**。 |
| **马达反馈** | 接收到广播瞬间短振 1 次150ms。 |
---
## 🗺️ 第二部分:传感器对码配对流程(手环端 4 步)
### Step 1进入配对模式搜索信号
![配对搜索](wristband_pair_start.svg)
| 交互维度 | 规格详情与软件逻辑 |
| :--- | :--- |
| **触发动作** | 用户同时按下 **`▲`(上移键)+ `▼`(下移键)持续 3 秒**。 |
| **屏幕元素** | 1. 顶部:高亮 `PAIRING MODE`<br>2. 中央:**雷达天线波纹 `📡` 动态循环动画**。<br>3. 底部文字:滚动显示 `正在搜索 433MHz 信号... 请触发目标传感器`。 |
| **LED 灯效** | **白色快速闪烁3Hz**,标识进入对码模式。 |
| **马达反馈** | 进入瞬间短振 1 次100ms确认触发成功。 |
| **超时机制** | **30 秒超时**。若 30 秒内未收到射频信号,退出配对返回时钟待机。 |
---
### Step 2选择配对的传感器类型
![配对选择](wristband_pairing.svg)
| 交互维度 | 规格详情与软件逻辑 |
| :--- | :--- |
| **操作方式** | 连续短按 **`▲`(上移键)** 或 **`▼`(下移键)** 进行滚动。 |
| **屏幕元素** | 1. 顶部:`配对模式 P-00`(展示当前已配对数量)。<br>2. 中央:**3行滚动列表**,当前高亮项(如 `👤 人体感应 PIR`)有 **粗体外框** 且图标放大;上下两行未选中项显示暗淡。<br>3. 右侧:显示纵向滚动条指示器。 |
| **LED 灯效** | 保持 **白色闪烁**。 |
| **逻辑响应** | 用户需停留在要配对的传感器类型上如停留在“PIR”然后再去触发传感器物理开关。 |
---
### Step 3-A对码匹配成功通过校验
![配对保存](wristband_saved.svg)
| 交互维度 | 规格详情与软件逻辑 |
| :--- | :--- |
| **触发动作** | 触发外部传感器,手环捕获的 433MHz 信号**与当前高亮选中的类型一致**,用户**短按 SOS 键**进行确认保存。 |
| **屏幕元素** | 1. 中央:显示绿色 **大勾 `✓` 图标**<br>2. 中下部:【对码已保存】。<br>3. 底部:显示已捕获的硬件十六进制地址码(如 `ADDR: 0x37A86 | TYPE: PIR`)。 |
| **LED 灯效** | **绿色常亮 2 秒** 后熄灭。 |
| **马达反馈** | 强力 **长振 1 次400ms** 确认成功保存。 |
| **自动同步** | 保存后,手环会向 IPC 同步名称,当接收到 IPC 的自定义中文广播后,会将 `人体感应 PIR` 替换为自定义命名(如 `客厅红外`)。 |
---
### Step 3-B对码不匹配类型错误
![对码失败](wristband_pair_fail.svg)
| 交互维度 | 规格详情与软件逻辑 |
| :--- | :--- |
| **触发动作** | 触发外部传感器,但捕获的 433MHz 信号类型**与手环屏幕当前选中的高亮类型不匹配**(例如:手环选了门磁,用户却触发了红外)。 |
| **屏幕元素** | 1. 报警边框:红色细边框。<br>2. 中央:红色 **大叉 `❌` 圆圈图标**<br>3. 文字:【对码匹配失败】及副标题【代码类型不一致,请重试】。 |
| **LED 灯效** | **红色快闪 3 次**。 |
| **马达反馈** | 快速 **双击短振100ms + 100ms**,提示出错。 |
| **后续响应** | 停留 2 秒后自动返回 Step 2 的列表选择页面。 |
---
## 🗺️ 第三部分:报警告警模式
### 2.1 传感器报警触发(以门磁为例)
![门磁报警](wristband_alarm.svg)
| 交互维度 | 规格详情与软件逻辑 |
| :--- | :--- |
| **触发动作** | 待机状态下,接收到已配对传感器的报警射频信号。 |
| **屏幕元素** | 1. 警报边框:**红色闪烁虚线警告框**。<br>2. 中央:大尺寸传感器专用图标,本例为开门状态的 **`🚪 门` 图标**。<br>3. 底部文字:【🚪 前门门磁 触发】,第二行显示 ZONE 状态【ZONE 0 \| 红色报警】。 |
| **LED 灯效** | 根据传感器映射表,亮起对应颜色的指示灯(门磁为 **红色常亮/快闪**)。 |
| **马达反馈** | 触发门磁专属振动:**1次短振 300ms**,每 5 秒循环一次直到告警解除。 |
---
### 2.2 紧急 SOS 求救触发(最高优先级)
![紧急求救](wristband_sos.svg)
| 交互维度 | 规格详情与软件逻辑 |
| :--- | :--- |
| **触发动作** | 用户在手环上短按 SOS 键,或接收到其它手环广播的 SOS 求救信号。 |
| **屏幕元素** | 1. 警报边框:**红宽双边警告框**。<br>2. 中央:旋转警灯 **`🚨` 闪烁图标**。<br>3. 文字:【🚨 紧急求救 SOS】大字第二行【手环触发 \| 最高优先级】。 |
| **LED 灯效** | **红色极速闪烁5Hz**。 |
| **马达反馈** | **持续不间断长振**(以 1200ms 的长周期无缝循环强力振动),直到用户手动在手环上长按取消或在 IPC/APP 上点击解除。 |
| **优先级** | 凌驾于所有其它 Zone 报警之上,直接抢占屏幕。 |