2026-07-09 10:49:15 +08:00
|
|
|
|
# 测试设计与验证方法 (Docs/70_testing/main.md)
|
2026-07-09 10:31:36 +08:00
|
|
|
|
|
|
|
|
|
|
本章节整理手环系统的仿真联调指令、IO 状态变化监控规范以及人工实机验证用例。
|
|
|
|
|
|
|
|
|
|
|
|
## 1. 串口仿真指令注入规范
|
|
|
|
|
|
|
|
|
|
|
|
手环程序在 `main.c` 中通过 UART1 实现了仿真指令解析,支持在开发及免焊测试阶段通过电脑串口助手直接向手环发送字符指令,仿真各种物理交互:
|
|
|
|
|
|
|
|
|
|
|
|
| 串口发送字符 | 对应仿真的物理事件与说明 | 预期系统响应 |
|
|
|
|
|
|
| :--- | :--- | :--- |
|
2026-07-09 11:32:00 +08:00
|
|
|
|
| **`u` / `U`** | 仿真短按 / 长按 **侧边 ▲ 键** | 时钟微调 / 菜单滚动 / **对码确认页:自增序号 (01->99)** |
|
|
|
|
|
|
| **`d` / `D`** | 仿真短按 / 长按 **侧边 ▼ 键** | 时钟微调 / 菜单滚动 / 长按取消报警 / **对码确认页:自减序号 (99->01)** |
|
|
|
|
|
|
| **`e` / `E`** | 仿真短按 / 长按 **侧边 ■ 确认键** | 选中并进入等待配对 / 短按取消报警 / **对码确认页:确认保存配置** |
|
|
|
|
|
|
| **`s` / `S`** | 仿真短按 / 长按 **上部 SOS 1 键** | 触发本地主动 SOS 警报 / 触发对码保存 / **对码确认页:确认保存配置** |
|
2026-07-09 10:49:15 +08:00
|
|
|
|
| **`x` / `X`** | 仿真短按 / 长按 **上部 SOS 2 键** | 同上,验证双 SOS 键并联触发等效性 |
|
2026-07-09 10:31:36 +08:00
|
|
|
|
| **`c`** | 仿真同时长按 **▲ + ▼ 键 3 秒** | 系统直接进入配对模式(P-00) |
|
|
|
|
|
|
| **`a`** | 仿真捕获到**已配对门磁**报警信号 | 系统跳转到门磁报警界面,亮红灯,振动 1 次 |
|
|
|
|
|
|
| **`p`** | 仿真捕获到**已配对 PIR 红外**信号 | 系统跳转到 PIR 报警界面,亮橙灯,振动 2 次 |
|
|
|
|
|
|
| **`1`** | 强制切换系统状态为 **NORMAL** (撤防/常态) | 屏幕时钟状态栏显示 `NORMAL` |
|
|
|
|
|
|
| **`2`** | 强制切换系统状态为 **ARMED** (布防) | 屏幕时钟状态栏显示红色闭锁 `🔒` |
|
|
|
|
|
|
| **`3`** | 强制切换系统状态为 **DISARMED** (撤防) | 屏幕时钟状态栏显示绿色开锁 `🔓` |
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## 2. LED 与马达 IO 跳变日志
|
|
|
|
|
|
|
2026-07-09 11:32:00 +08:00
|
|
|
|
主循环对外设引脚的电平状态进行了跟踪,当引脚电平发生变化时,自动通过串口向外部终端打印输出日志。这可以在没有焊接实体马达或 LED灯的情况下验证控制逻辑是否正确:
|
2026-07-09 10:49:15 +08:00
|
|
|
|
* **LED 状态日志格式**:`[STATE] LED status -> R:1 G:0 B:0` (0表示亮,1表示灭,WS2812B 幻彩 LED 控制状态)
|
2026-07-09 10:31:36 +08:00
|
|
|
|
* **马达状态日志格式**:`[STATE] MOTOR -> 1` (1表示开启振动,0表示关闭振动)
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## 3. 人工实机验证用例
|
|
|
|
|
|
|
2026-07-09 14:03:01 +08:00
|
|
|
|
### 3.1 时钟待机与电量及充电状态验证
|
|
|
|
|
|
* **测试方法**:
|
|
|
|
|
|
1. 正常上电启动,查看待机界面右上方电量。
|
|
|
|
|
|
2. 使用外部电压源微调电量采样引脚 **`P0.0`**(模拟输入)输入电压在 1.03V 到 1.31V 之间变化,检查电量百分比是否从 `0%` 线性平滑变化到 `100%`。
|
|
|
|
|
|
3. 拔插 USB 充电器,或者直接改变引脚 **`P2.7`** 的电平输入(拉高至 3.3V 或拉低到地),观察百分比数值后面是否能同步增加或移除 `+` 后缀(如在 `85%` 与 `85%+` 之间切换,且格式化与电池图标不贴连)。
|
|
|
|
|
|
* **预期结果**:时钟、日期显示正常。在 **135 像素宽** 屏幕上,电量百分比与电池图标(X=107, Y=27)对齐美观,间距大于 6 像素。在 USB 插入时电量后追加 `+` 后缀且能完整显示。
|
2026-07-09 10:31:36 +08:00
|
|
|
|
|
|
|
|
|
|
### 3.2 传感器对码与保存
|
2026-07-09 11:32:00 +08:00
|
|
|
|
* **测试方法**:同时长按 ▲+▼ 3秒进入配对,用上下键选中 `DETEC. PIR`,按下侧边 **■ 确认键** 开启等待,随后物理触发 PIR 传感器。进入对码确认页后,按 **▲ 键** 将中间括号内数字调节至 `02`(即显示 `PIR [ 02 ]`),最后按下 **■ 确认键** (或 **SOS 1**)确认保存。
|
2026-07-09 10:31:36 +08:00
|
|
|
|
* **预期结果**:
|
|
|
|
|
|
1. 进入配对时,LED 亮白色闪烁(3Hz),马达短振 1 次确认。
|
2026-07-09 14:03:01 +08:00
|
|
|
|
2. 解码匹配成功后,LCD 屏显示 `✓已保存` 以及 `PIR 02`,LED 绿色常亮 2 秒,马达强振 1 次(400ms),随后自动退回配对菜单。
|
2026-07-09 10:31:36 +08:00
|
|
|
|
|
2026-07-09 13:06:01 +08:00
|
|
|
|
### 3.3 常亮长显与射频全时监听验证
|
|
|
|
|
|
* **测试方法**:在常态待机下静置手环超过 10 秒,并在此期间使用发射装置发送已配对的传感器射频报警包,或随时短按上部的 SOS 键。
|
2026-07-09 10:31:36 +08:00
|
|
|
|
* **预期结果**:
|
2026-07-09 13:06:01 +08:00
|
|
|
|
1. 手环在静置超过 10 秒后,屏幕背光不关闭,继续常亮展示时钟待机画面。
|
|
|
|
|
|
2. 无线接收解调模块 100% 保持在监听状态,即使在长时间静置后,只要触发匹配的射频报警,手环能立即接收响应,进入报警闪烁及马达震动状态。
|
|
|
|
|
|
3. 随时短按 SOS 键能立刻跳转到主动发送界面并开启 EV1527 信号广播。
|
2026-07-09 10:49:15 +08:00
|
|
|
|
|
2026-07-09 11:03:18 +08:00
|
|
|
|
### 3.4 手环主动发射 SOS 与 Factory ID 验证
|
|
|
|
|
|
* **测试方法**:
|
|
|
|
|
|
1. 正常开机,在串口输出中查看获取到的 20 位 `Factory ID`(或在绑定界面核对 ID)。
|
|
|
|
|
|
2. 短按上部任意一个 SOS 键触发紧急求救。
|
|
|
|
|
|
3. 使用 433MHz 接收调试工具或逻辑分析仪抓取手环发射引脚或射频信号。
|
|
|
|
|
|
* **预期结果**:
|
|
|
|
|
|
1. 手环立刻切入 `SOS EMIS` 界面,红灯闪烁,马达周期性震动。
|
|
|
|
|
|
2. 接收工具抓取到以手环 `Factory ID` 为源地址的 24 位 EV1527 信号,其 4 位数据码为 `0x08`。
|
|
|
|
|
|
3. 该信号以 2 秒为周期循环向外发射,直到按下“确认键”或其它任意键退出报警状态。
|
|
|
|
|
|
|
|
|
|
|
|
|