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

18 KiB
Raw Permalink Blame History

N7 红外学习与 NFC 外设场景设计

1. 设计边界

本方案严格基于当前自扩展链路:

外设原遥控器
  → 红外学习器学习动作信号
  → 动作与设备/槽位信息写入 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 外设能力卡

每个红外外设对应一张能力卡,记录:

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 场景卡

场景卡不重复保存所有原始红外波形,而是引用已经学习的外设能力和车端场景版本:

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 状态优先级

灯带同一时间只能处于一个红外模式,必须规定优先级:

车窗/无线充电故障提示
  > 场景中止提示
  > 座椅/遮阳帘运动反馈
  > 充电与空调状态
  > 普通氛围效果

仅在状态变化时发射红外信号,并设置最小保持时间,避免车端状态抖动导致频繁切换。

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 外设能力模型增加红外特性

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 场景增加车端反馈门控

- 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:形成产品目录

  • 发布红外外设兼容性清单和认证测试;
  • 提供官方能力卡、场景卡和可复制模板;
  • 允许用户将自己学习的红外动作绑定到官方场景角色;
  • 对香氛、净化、移动玩具和投影设备建立专项安全限制。