Files
Cognitive_Agent/docs/product/n7-ir-nfc-peripheral-scene-design.md
T

425 lines
18 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# N7 红外学习与 NFC 外设场景设计
## 1. 设计边界
本方案严格基于当前自扩展链路:
```text
外设原遥控器
→ 红外学习器学习动作信号
→ 动作与设备/槽位信息写入 NFC 能力卡
→ 车端 NFC 读卡器识别设备卡或场景卡
→ 场景结合车端实时状态和 CAN 反馈进行编排
→ 红外控制器发射已学习信号
→ 外设执行动作
```
由此产生三个设计原则:
1. 外设必须真正使用红外遥控,不能把蓝牙、2.4 GHz RF、Wi-Fi 或自制传感器设备混入当前链路;
2. 车端有权威状态反馈,可以用于条件、分支和阶段完成;红外外设通常没有状态回传,因此只能标记“红外指令已发出”,不能声称物理动作已确认;
3. 深度联动应采用“NFC 选择/触发 → 车端设备执行并等待反馈 → 满足条件后发射外设红外动作”,而不是让多个设备无条件同时开关。
## 2. 红外外设准入条件
适合进入预设和自定义场景的外设应满足:
- 遥控器确认为 36~40 kHz 常见红外载波,而不是 RF、蓝牙或 2.4 GHz;
- 每个关键能力具有固定、可重复学习的红外码,无滚动码或动态配对;
- 优先提供独立 `ON`、`OFF`、固定颜色、固定档位和固定模式指令;
- 只有单一 `POWER TOGGLE` 或循环切换模式的设备,不进入自动预设,只允许人工单次控制;
- 动作在 1~3 次重复发射下稳定,长按型动作必须验证重复周期和停止指令;
- 外设使用 5V USB 或受控 12V 低压供电,功率、温升和固定方式适合车内;
- 红外接收窗可被控制器稳定照射,设备安装后不易遮挡或移动;
- 外设失控不会夹伤、烫伤、影响驾驶或阻断车端安全能力;
- 动态灯光、投影和移动玩具只能在 P 挡、零车速场景运行。
### 2.1 学习验收
每个候选外设在进入能力目录前至少验证:
| 项目 | 要求 |
|---|---|
| 协议类型 | 红外学习器能稳定识别,不是 RF/BLE |
| 单动作复现 | 连续执行 30 次,成功率达到展项要求 |
| 幂等性 | 重复发送固定 ON/OFF/档位不会产生相反结果 |
| 响应时间 | 记录发射次数、间隔和设备响应延迟 |
| 断电恢复 | 明确断电后默认状态,不能依赖未知记忆状态 |
| 码冲突 | 同一车内其他外设不会被该动作误触发 |
| 安装 | 接收窗与发射器保持视距,颠簸后仍然可靠 |
## 3. 符合车端需求的外设清单
## 3.1 A 级:建议作为首批展示和产品外设
| 外设 | 车端真实需求 | 必须具备的红外遥控能力 | 可联动车端能力 | 适用场景 |
|---|---|---|---|---|
| 红外 RGB/流水灯带 | 原车氛围灯亮度和动态效果不足;缺少空间状态提示 | 独立开/关、固定色、亮度、呼吸、渐变、流水、速度 | 原车氛围灯、阅读灯、车窗、遮阳帘、空调、无线充电 | 光域增强、离车检查、充电提示、影院、故事 |
| 红外星空投影灯 | 驻车休息和儿童场景缺少顶部沉浸效果 | 独立开/关、固定颜色、旋转开/关、亮度、定时 | 遮阳帘、阅读灯、座椅、空调、氛围灯 | 星际故事、晚安、充电休憩 |
| 红外桌面/夹持风扇 | 后排或局部送风不足;暴晒后需要快速换气 | 独立开/关、1~3 档、摇头开/关、定时 | 车窗、空调、内外循环、座椅通风、舱内温度 | 极速凉舱、露营通风、局部舒适 |
| 红外故事机/白噪音机 | 充电等待、儿童陪伴、午休需要非屏幕声音 | 开/关、播放、暂停、音量档位、曲目/模式、睡眠模式 | 座椅、遮阳帘、阅读灯、空调 | 故事舱、晚安、冥想、阅读 |
| 红外机器人/玩偶 | 需要有角色感和肉眼可见的互动外设 | 唤醒、挥手、说话、唱歌、跳舞、停止、休眠 | 灯光、座椅姿态、座椅动态模式、空调风量 | 星际故事、生日、迎宾、充电游戏 |
| 红外补光灯 | 车内直播、视频会议、补妆和拍摄时原车灯位不合适 | 独立开/关、亮度档位、冷/暖/自然光、固定效果 | 遮阳帘、座椅、阅读灯、空调 | 移动摄影棚、视频会议、补妆 |
## 3.2 B 级:可以扩展,但需挑选具体型号
| 外设 | 价值 | 红外要求与问题 | 建议 |
|---|---|---|---|
| 红外微型投影仪 | 驻车影院、露营娱乐 | 很多型号只有电源 Toggle,启动慢,关机可能需二次确认 | 选择具备独立关机指令、自动信号源和稳定启动时间的型号 |
| 红外空气净化器 | 停车休息、宠物和空气舒适 | 需排除臭氧/强离子模式;体积和供电需适车 | 仅作为空调辅助,不能冒充车端空气质量保障 |
| 红外露营灯/尾门灯 | 尾门和帐篷区照明 | 动态模式可能通过循环键选择,状态不确定 | 只学习固定暖光、白光、亮度和明确关闭 |
| 红外 LED 字幕牌/像素屏 | 生日、应援、露营提示 | 遥控器通常只能切换预置内容,不能动态写文字 | 提前写入固定图案,把红外动作定义为“播放预设 1/2/3” |
| 红外香氛机 | 午休、迎宾和放松 | 液体倾倒、过敏、宠物和儿童限制 | 只选防倾倒、低压、雾化与灯光分离控制型号,默认不参与场景 |
## 3.3 C 级:不建议进入首批车端场景
- 只有 RF/蓝牙遥控的遥控车、无人机和大量消费级玩具;
- 依赖长按且没有独立 STOP 的移动玩具;
- 电热毯、暖风机、加热坐垫等高热设备;
- 无防护激光投影、UV 消毒灯和高亮快闪设备;
- 易倾倒加湿器、开放液体装置和烟雾机;
- 高扭矩机械支架、伸缩机构和裸露电机;
- 仅有电源 Toggle 且无法确定当前状态的设备。
## 4. NFC 卡设计
建议把 NFC 分成两类,既符合当前学习链路,也方便构建预设和自定义场景。
### 4.1 外设能力卡
每个红外外设对应一张能力卡,记录:
```yaml
kind: PeripheralCapabilityCard
device_id: ir-strip-01
device_type: ambient_light_strip
capabilities:
- name: light.power_on
ir_slot: 21
- name: light.power_off
ir_slot: 22
- name: light.blue
ir_slot: 23
- name: light.breathe
ir_slot: 24
compatibility:
power: usb_5v
parked_only_effects: [flash, chase]
```
刷外设卡用于识别设备、导入能力、单项测试或替换场景中的同类设备。
### 4.2 场景卡
场景卡不重复保存所有原始红外波形,而是引用已经学习的外设能力和车端场景版本:
```yaml
kind: SceneCard
scene_id: family-space-adventure
scene_version: 3
bindings:
ambient_booster: ir-strip-01
projector: star-projector-01
story_actor: robot-01
```
用户刷“月球、火星、返航、极速凉舱、影院”等实体场景卡,即可触发预设或自定义功能。
## 5. 场景一:光语座舱
### 5.1 产品需求
原车氛围灯不仅偏弱,车辆状态也集中显示在屏幕。外接红外灯带可以同时承担氛围增强和离散状态提示。虽然红外无法做连续参数控制,但固定颜色、呼吸、流水和快慢模式足够形成状态语言。
### 5.2 车端状态驱动灯带
| 车端状态 | 红外灯带动作 | 原车设备配合 |
|---|---|---|
| 正常氛围模式 | 固定主题色或低速渐变 | 原车氛围灯同色低亮 |
| 座椅正在调整 | 蓝色流水 | 座椅到位后切换固定蓝色 |
| 动态摇篮运行 | 蓝色呼吸或慢速渐变 | 停止后恢复当前主题 |
| 空调高风量制冷 | 蓝色快速渐变 | 风量降低后切换慢速渐变 |
| 任一车窗未关好 | 红色慢闪 | 全部车窗反馈关闭后绿灯一次 |
| 遮阳帘移动 | 暖白呼吸 | 到位后恢复主题色 |
| 手机正在无线充电 | 蓝色呼吸 | 满电切换绿色,故障切换红色闪烁 |
| 场景正常结束 | 绿色呼吸一次后恢复/关闭 | 依据场景恢复原车灯光 |
### 5.3 状态优先级
灯带同一时间只能处于一个红外模式,必须规定优先级:
```text
车窗/无线充电故障提示
> 场景中止提示
> 座椅/遮阳帘运动反馈
> 充电与空调状态
> 普通氛围效果
```
仅在状态变化时发射红外信号,并设置最小保持时间,避免车端状态抖动导致频繁切换。
### 5.4 自定义示例
> 我的副驾座椅调整时灯带用蓝色流水,到位后变成湖蓝;如果有车窗没关好,始终优先红色慢闪。
## 6. 场景二:烈日快速凉舱
### 6.1 产品需求
车辆暴晒后,仅靠空调内循环降温较慢;外接红外风扇可以辅助排出热空气并改善副驾或后排局部送风。车端舱温、车窗和空调反馈决定外设风扇的运行阶段。
### 6.2 状态驱动流程
1. 用户刷“极速凉舱”场景卡或选择预设;
2. 系统确认 P 挡、零车速和舱内温度高于设定阈值;
3. 车窗打开到预设通风开度;只有实际车窗反馈匹配后,才向红外风扇发送“高档 + 摇头”;
4. 灯带显示橙色快速渐变,表示热空气排出阶段;
5. 达到通风时长或舱温开始下降后,车窗关闭;
6. 必须等待四窗全部关闭反馈,才切换空调低温、内循环、高风量、副驾座椅通风;
7. 红外风扇切换中档,灯带切换蓝色渐变;
8. 舱温达到目标范围后,外接风扇降到低档或关闭,车端空调恢复舒适档,灯带变为稳定湖蓝;
9. 任何车窗关闭失败都不会进入内循环完成状态,界面和灯带保持故障提示。
外接风扇没有物理反馈,因此执行报告写“风扇高档红外指令已发出”,舱温变化只能作为整体效果证据,不能证明风扇自身状态。
## 7. 场景三:驻车沉浸影院
### 7.1 外设
- 红外微型投影仪或星空投影灯;
- 红外灯带;
- 可选红外音响/白噪音设备;
- 可选红外风扇。
### 7.2 联动流程
1. 刷“影院外设套装卡”或“驻车影院”场景卡;
2. 校验 P 挡和零车速;
3. 关闭四窗、关闭遮阳帘、关闭阅读灯,副驾进入影院姿态,空调进入低噪声档;
4. 场景等待四窗、遮阳帘和座椅的真实反馈;
5. 只有遮光和座椅条件满足后,才发送投影仪/星空灯 ON、灯带深蓝和外部音响播放;
6. 座椅被人工调整时,影院继续,但场景释放座椅,不在结束时覆盖用户的新姿态;
7. 挡位离开 P 或用户取消时,优先发送外设明确 OFF,再停止动态灯效并恢复仍由场景持有的车端资源;
8. 如果投影设备只有 Power Toggle,不允许加入该预设。
这比“同时打开投影和调座椅”多了一层必要关系:车辆先完成遮光、姿态和安全条件,外设才进入工作状态。
## 8. 场景四:NFC 星际故事卡
### 8.1 产品需求
充电和停车等待时,通过实体 NFC 卡选择故事章节,减少儿童持续观看屏幕。红外玩偶、投影灯和灯带提供外部角色与舞台,车端座椅、空调和遮阳帘成为剧情的一部分。
### 8.2 外设与场景卡
- 红外星空投影灯;
- 红外故事机器人/玩偶;
- 红外灯带;
- 可选红外风扇;
- “启程、月球、火星、返航”四张 NFC 场景卡。
### 8.3 章节联动
#### 启程卡
1. 检查 P 挡和零车速;
2. 遮阳帘关闭、阅读灯关闭、副驾进入休闲姿态;
3. 遮阳帘反馈到位后,星空投影灯开启;
4. 座椅反馈到位后,玩偶执行“挥手 + 发射台词”;
5. 灯带进入蓝色流水,空调风量短时提高形成“启动气流”。
#### 月球卡
- 原车氛围灯切换冷蓝;
- 灯带切换白蓝呼吸;
- 空调转为低风量;
- 原车灯光反馈匹配后,玩偶讲述月球章节;
- 投影灯切换白色星空和慢速旋转。
#### 火星卡
- 原车氛围灯和灯带切换红色;
- 副驾短时进入轻柔动态摇篮;
- 动态模式反馈开始后,风扇高档模拟沙尘气流,玩偶执行火星表演;
- 动态模式结束后,风扇降档,灯带从红闪切换稳定红色。
#### 返航卡
- 红外玩偶 STOP、投影 OFF、风扇 OFF、灯带暖白;
- 车端座椅、空调、遮阳帘和原车灯光按资源所有权恢复;
- 所有可确认车端状态恢复后,灯带发送绿色呼吸一次再关闭。
### 8.4 自定义方式
用户可以学习自己玩偶的动作,并修改实体章节卡:
> 火星卡里不要让原来的机器人表演,改成我的恐龙叫三次;返航时先关投影,再恢复座椅。
这充分利用“红外信号写入 NFC、刷卡选择能力”的现有链路,同时形成实体、无屏和可自定义的车端产品体验。
## 9. 场景五:离车确认光带
### 9.1 产品需求
离车前用户需要确认车窗、遮阳帘和无线充电位,但这些状态分散在屏幕中。灯带可以作为最终确认出口。
### 9.2 联动流程
1. 刷“离车”场景卡或在车机选择离车预设;
2. 任一车窗未完全关闭:灯带红色慢闪,车机标出具体车窗;
3. 遮阳帘未达到离车目标:灯带暖白呼吸,车机继续关闭并等待反馈;
4. 左右无线充电区域仍有设备或出现故障:灯带黄色闪烁,提醒取走手机;
5. 所有可确认项目满足后:灯带绿色呼吸一次,原车氛围灯与灯带关闭;
6. 外设灯带只负责提示,不替代车端状态判断。
这是灯带比“第三方氛围灯”更进一步的长期产品功能。
## 10. 场景六:移动摄影棚
### 10.1 外设
- 红外补光灯;
- 红外背景灯带;
- 可选红外微型风扇。
### 10.2 NFC 风格卡
- 暖肤人像;
- 冷白会议;
- 蓝紫短视频;
- 证件照。
### 10.3 联动流程
1. 刷风格卡,确认 P 挡和零车速;
2. 遮阳帘调整到该风格的目标位置,座椅进入镜头姿态;
3. 阅读灯关闭,空调降低风量和噪声;
4. 等待遮阳帘、座椅和空调状态反馈;
5. 向补光灯发送固定色温与亮度,背景灯带发送主题色;
6. 用户调整座椅后,场景释放座椅控制,不自动拉回;
7. 用户刷“摄影结束”卡,补光灯和背景灯明确 OFF,车端状态恢复。
## 11. 场景七:露营布营与收营
### 11.1 外设
- 红外露营灯/尾门灯;
- 红外风扇;
- 红外投影仪;
- 红外灯带。
### 11.2 两张关键场景卡
**布营卡**:车端先完成驻车、车窗通风开度、座椅和灯光设置;收到车端反馈后,再开启露营灯、风扇和投影。
**收营卡**:先向所有红外外设发送明确 OFF,再关闭车窗和遮阳帘、恢复座椅和空调;车端反馈全部完成后灯带绿色提示。
收营场景的实际价值高于单纯派对效果,因为它把容易遗漏的多设备关闭动作集中处理。红外外设没有状态反馈,因此界面显示“已发送关闭指令”,仍建议用户目视确认。
## 12. 推荐技术展配置
### 12.1 四件主外设
1. 红外 RGB/流水灯带:兼顾氛围增强和状态提示;
2. 红外桌面风扇:体现舱温、车窗、空调和外设的状态驱动协同;
3. 红外星空投影灯:提供强视觉效果;
4. 红外机器人/故事玩偶:提供角色和动作反馈。
可选第五件是红外补光灯,用于展示成人创作者场景。
### 12.2 六张展示卡
- 灯带能力卡;
- 风扇能力卡;
- 启程场景卡;
- 月球场景卡;
- 火星场景卡;
- 返航场景卡。
### 12.3 展示顺序
1. 分别学习灯带和风扇动作并写入能力卡,证明外设适配;
2. 刷“极速凉舱”,展示车窗反馈驱动风扇档位与灯带状态;
3. 刷“启程/月球/火星”实体卡,展示车端状态决定投影、玩偶和风扇的动作时机;
4. 刷“返航”,展示外设明确关闭、车端恢复与结果分级;
5. 修改火星卡中的玩偶绑定或动作顺序,保存为自定义场景卡。
## 13. 对现有工程的增量
### 13.1 外设能力模型增加红外特性
```yaml
transport: infrared
ir_slot: 21
idempotent: true
command_semantics: power_off
repeat: 2
interval_ms: 250
parked_only: false
physical_feedback: unavailable
```
只有 `idempotent=true` 的关键开关和固定档位能力才能进入自动预设。
### 13.2 场景增加车端反馈门控
```yaml
- id: close_shade
capability: vehicle.sunshade.set
parameters: {covered_percent: 100}
wait_for:
state: vehicle.sunshade.covered_percent
equals: 100
timeout_ms: 8000
- id: start_projector
depends_on: [close_shade]
capability: peripheral.projector.power_on
confirmation: ir_sent_only
failure_policy: continue
```
### 13.3 红外外设影子状态
车机为每个外设保存“最后一次已发送的确定指令”,仅用于避免重复操作和生成恢复计划。影子状态不能作为物理状态证据。设备重新上电、NFC 重新识别或红外链路异常后,影子状态必须失效。
### 13.4 多设备红外管理
- 记录每个外设协议、地址、重复次数和发射间隔;
- 做码冲突测试;
- 同一时刻的多个红外动作在控制器侧顺序发射;
- 控制器和设备接收窗必须保持固定视距;
- 对移动玩具保留独立 STOP,并在取消时优先发送。
### 13.5 结果分级
- `车端反馈已确认`:CAN0/CAN1 状态匹配;
- `红外网关已确认`:控制器确认接收了发射请求;
- `红外指令已发出`:无法证明外设物理状态;
- `场景已降级`:缺少外设能力,跳过可选外设节点;
- `场景已拒绝`:缺少必要的独立 OFF/STOP 或安全条件不满足。
## 14. 实施顺序
### P0:使用现有红外/NFC能力
- 按准入条件采购并筛选灯带、风扇、投影灯和玩偶;
- 学习并验证固定 ON/OFF、颜色、档位、模式和 STOP;
- 制作能力卡与“启程、月球、火星、返航”场景卡;
- 实现极速凉舱、驻车影院和星际故事三个预设;
- 自定义场景先支持替换外设、调整顺序和修改车端参数。
### P1:补齐状态驱动
- Android 场景执行器增加 `wait_for`、车端条件分支和超时降级;
- 光语座舱监听车窗、座椅、空调、遮阳帘和无线充电状态变化;
- 红外外设增加幂等性、重复参数、影子状态和恢复规则;
- 浏览器只负责编辑和观察,场景下发到车机本地执行。
### P2:形成产品目录
- 发布红外外设兼容性清单和认证测试;
- 提供官方能力卡、场景卡和可复制模板;
- 允许用户将自己学习的红外动作绑定到官方场景角色;
- 对香氛、净化、移动玩具和投影设备建立专项安全限制。