入睡唤醒

更新时间:2022-11-24 09:20:23下载pdf

本文档主要针对照明的入睡唤醒的一些常见问题,梳理出对应的问题排查指引,帮助您解决一些日常问题。

入睡唤醒背景和功能有哪些?

为什么需要入睡唤醒功能?

人体在进入睡眠状态时,大脑会分泌出大量的褪黑素,从而抑制人体交感神经的兴奋性,使血压下降,心跳速率减慢,心脏得以休息,智能照明可以调节灯光影响人体褪黑素的分泌,让人拥有一个良好的睡眠质量。

入睡支持哪些功能?

  • 支持1路~5路灯。
  • 支持最多4条任务数。
  • 支持00:00~24:00可设置,默认入睡时间:23:00。
  • 支持设置到达时间点之后渐变时间5min ~ 2h,默认30min,调节步进5min。
  • 支持周一~周日可选,默认全不选择(单次循环),选择当天表示重复循环。
  • 支持选择渐变效果。

唤醒支持哪些功能?

  • 支持1路~5路灯。
  • 支持最多4条任务数。
  • 支持00:00~24:00可设置,默认唤醒时间。
  • 支持设置到达时间点之前渐变时间5min ~ 2h,默认30min,调节步进5min。
  • 支持周一~周日可选,默认全不选择(单次循环),选择当天表示重复循环。
  • 支持唤醒成功之后,保持5min~2h之后关闭,调节步进5min,该功能默认关闭。
  • 支持选择渐变效果:

如何实现入睡唤醒功能?

入睡唤醒

入睡唤醒功能协议如何定义?

  • 入睡协议各个字段代表什么意思?

    字段 子字段 序号 长度(byte) 数据代表说明
    版本号 - 1 1 0x00:初始版本
    任务节点数 - 2 1 0x01:1个节点…….0x04:4个节点
    节点参数 任务开关 3 1 0x00:任务关闭0x01:任务打开
    - 日期设定 4 1 解析具体的字节位,某天生效,相应位置1,见星期详细说明
    - 渐变步进值 5 1 0x10:hex码,5分钟一个步进,16*5=90分钟渐变时长。范围允许值1~72
    - 起始小时 6 1 0x10:hex码,16点。范围允许值0~23。
    - 起始分钟 7 1 0x10:hex码,16分。范围允许值0~59。
    - 色调 8、9 2 0x03, 0x10:hex码。大端格式,第一个字节表示百位,第二个字节表示十位,个位。实际值表示316。范围允许值0~360。
    - 饱和度百分比 10 1 0x10:hex码,16%。范围允许值0~100。
    - 明度百分比 11 1 0x10:hex码,16%。范围允许值1~100。
    - 亮度百分比 12 1 0x10:hex码,16%。范围允许值1~100。
    - 色温百分比 13 1 0x10:hex码,16%。范围允许值0~100。
  • 唤醒协议各个字段表示什么意思?

    字段 子字段 序号 长度(byte) 数据代表说明
    版本号 - 1 1 0x00:初始版本
    任务节点数 - 2 1 0x01:1个节点…….0x04:4个节点
    节点参数 任务开关 3 1 0x00:任务关闭0x01:任务打开
    - 日期设定 4 1 解析具体的字节位,某天生效,相应位置1,见星期详细说明
    - 渐变步进值 5 1 0x10:hex码,5分钟一个步进,16*5=90分钟渐变时长。范围允许值1~72。
    - 起始小时 6 1 0x10:hex码,16点。范围允许值0~23。
    - 起始分钟 7 1 0x10:hex码,16分。范围允许值0~59
    - 色调 8、9 2 0x03, 0x10:hex码。大端格式,第一个字节表示百位,第二个字节表示十位,个位。实际值表示316。范围允许值0~360。
    - 饱和度百分比 10 1 0x10:hex码,16%。范围允许值0~100
    - 明度百分比 11 1 0x10:hex码,16%。范围允许值1~100
    - 亮度百分比 12 1 0x10:hex码,16%。范围允许值1~100
    - 色温百分比 13 1 0x10:hex码,16%。范围允许值0~100
    - 维持时间 14 1 0x10:hex码,5分钟一个步进。渐变完成后再持续该时间后关灯。范围允许值 0~24, 0 表示不关灯,24表示120分钟后关灯
  • 协议日期字段说明?

    如果全0,表示单次模式,只生效一次。否则为循环模式。
    判断相应位是否置1,位置1表示当天生效。
    例如:0x42表示任务在星期六和星期一生效(注意必须保证相应的任务开关是处于开启状态)

    保留 星期六 星期五 星期四 星期三 星期二 星期一 星期日
    bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
  • 需要哪些其他配置?

    实现入睡唤醒功能需要在PID维度下,增加入睡DP:31,唤醒DP:32。

    面板选择典雅清新系列面板。

入睡唤醒交互有哪些?

如何接收到入睡唤醒数据?

当用户操作新增入睡唤醒定时,App会使用上一章节的协议下发到SoC模组,使用涂鸦SDK开发仅需要注册相关的raw接收处理函数,即可接收到相应的数据。

入睡唤醒数据何时下发?

用户每次操作入睡唤醒任务时,操作新增删除任务,或者编辑任务中的时间、色温亮度等,都会重新下发入睡唤醒设置的数据。

接收到入睡唤醒数据应该如何响应和处理?

当接收到新的入睡唤醒数据之后,结合当前时间戳,获取目标状态,变化的周期,计算合理的步骤,然后周期的朝着目标值变化。

本地上下电重置如何处理?

如果当入睡唤醒的变化过程中,会打断当前时间段的任务,如果是循环任务,会下一个周期循环执行。

入睡变化过程中的上报和Flash存储如何处理?

  • 当接收到入睡设置数据时,需要回复。
  • 当首次进入入睡状态时,需要上报模式亮度等状态数据。
  • 当入睡动作结束,执行灭灯的操作时,需要上报最终的开关模式亮度。

唤醒变化过程中的上报和Flash存储如何处理?

  • 当接收到唤醒设置数据时,需要回复。
  • 当首次进入唤醒态时,需要上报模式亮度等状态数据。
  • 当唤醒动作结束时,需要上报最终的模式亮度。
  • 当唤醒保持时间结束是,需要上报最终的开关模式亮度。

入睡唤醒数据删除的处理场景有哪些?

  • 进入产品成品产测。
  • 本地移除。
  • App恢复出厂设置或者移除设备。

入睡唤醒功能同其他功能的互斥关系有哪些?

入睡唤醒变化过程中,用户操作App主动打断动作时会主动打断当天这个时间段内的任务,如果是周期执行的下一个循环周期会继续执行。

  • 定时会当定时时间点满足生效时,才会打断包含该时间点的时间段内的任务。
  • 自动化场景下设置倒计时,一旦设置倒计时就会打断包含该时间点的时间段内,如果是周期循环的下一个循环周期继续执行。
  • 面板上设置倒计时,如果生效的时间点在入睡唤醒的时间内会提示当前正在入睡唤醒中,无法下发倒计时。

入睡唤醒编辑节点过程中的预览效果如何实现?

  • 如果在编辑入睡唤醒任务过程中,自定义状态下会发送实时调节DP-28,固件需要进行处理进行相应的预览显示,从而实现入睡唤醒编辑任务中的预览效果。
  • 如果进入入睡唤醒编辑界面,但是没有操作任何参数,点击取消不会下发入睡唤醒的数据,此时SoC固件并不需要做任何处理。
  • 如果进入入睡唤醒编辑界面,操作编辑了亮度、色温等参数,即使点击取消也会下发送入睡唤醒的数据,此时SoC模组也会接收到入睡唤醒的数据,只需要按照数据重新处理即可。

如何理解入睡唤醒生效的上报时效?

入睡设置的时间是入睡的起始时间,最终灭的时间需要加上渐变的时间,一旦设置的时间到了,如果是单次任务的话就会上报单次已经生效。

唤醒设置的时间是唤醒的生效的时间,开始点亮的时间需要减去渐变的时间,一旦设置的时间 - 渐变的时间点到了,如果是单次任务的话就会上报单次已经生效。