为智能灯的设备开发者更方便地将App和设备结合,平台为智能灯提供了一整套免开发的App标准界面。开发者仅需关注设备端的开发,无需任何云端、App开发,即可实现demo演示。

方案简介

搭配平台提供的公版App,基本功能如下。

  • 白灯的亮度和色温调节
  • 彩灯的颜色、亮度和饱和度调节
  • 情景模式(如晚安模式下,颜色昏暗),支持开发者预设的默认情景,也支持用户自定义扩展情景
  • 定时,支持云端定时或本地定时

根据设备类型不同展示不同的界面。

  • 一路灯一路灯
  • 两路灯两路灯
  • 三路灯三路灯
  • 四路灯四路灯
  • 五路灯五路灯
  • 多路灯多路灯

功能定义

需要在控制台创建产品,选择这个品类,并选择以下标准功能。

  • 现有灯(主灯功能定义)
    功能名称 标识符 数据类型 是否必选 数据定义 备注
    主灯开关 LightSwitch 布尔型
    • 0:关闭
    • 1:开启
    主灯的开关
    HSV调色 HSVColor 复合型 JSON对象
    • 色调:Hue

      数据类型:整数型

      取值范围:0 - 360

      步长:1

      单位:度 / °

    • 饱和度:Saturation

      数据类型:整数型

      取值范围:0 - 100

      步长:1

      单位:百分比 / %

    • 明度:Value

      数据类型:整数型

      取值范围:0 - 100

      步长:1

      单位:百分比 / %

    3路、4路、5路必要属性
    明暗度 Brightness 整数型
    • 取值范围:0 ~ 100
    • 单位:% / 百分比
    • 步长:1
    1路、2路、4路、5路灯必要属性
    冷暖色温 ColorTemperature 整数型
    • 取值范围:2000~ 7000
    • 单位:K / 开尔文
    • 步长:1
    2路、5路灯必要属性
    工作模式 WorkMode 枚举型
    • 0:手动
    • 1:阅读
    • 2:影院
    • 3:夜灯
    • 4:生活
    • 5:柔和
    场景功能需要的属性必须配合HSVColor使用
    变色速度 ColorSpeed 整数型
    • 取值范围:0 ~ 100
    • 单位:% / 百分比
    • 步长:1
    场景功能需要的属性
    本地定时 LocalTimer 数组型 元素类型:JSON数组 -
    灯模式 LightMode 枚举型
    • 0:mono(白光)
    • 1:color (彩光)
    • 2:scene(场景)
    支持两种模式的灯需要此属性,添加完会页面会出现 白光 彩光两种模式,如需情景模式中灯泡图案跟随设备颜色进行变化,请添加scene模式及“场景颜色”功能。
    灯类型 LightType 枚举型
    • 0:C
    • 1:CW
    • 2:RGB
    • 3:RGBC
    • 4:RGBCW
    定义了灯类型后,设备上电需要自己上报当前灯的类型,如没有上报则以TSL为准
    颜色数组 ColorArr_2 字符串 - 场景功能需要的属性
    场景颜色 ScenesColor 复合型 JSON对象
    • 色调:Hue

      数据类型:整数型

      取值范围:0 - 360

      步长:1

      单位:度 / °

    • 饱和度 :Saturation

      数据类型:整数型

      取值范围:0 - 100

      步长:1

      单位:百分比 / %

    • 明度:Value

      数据类型:整数型

      取值范围:0 - 100

      步长:1

      单位:百分比 / %

      undefined
    场景功能接收设备颜色需要的属性
    说明 当需要使用LightType属性的时候,必须配合正确的功能定义,否则会造成面板画面显示不正常。
  • 副灯功能定义
    功能名称 标识符 数据类型 是否必选 取值范围 备注
    副灯模式 LightMode_2 枚举型 双头灯及多头灯必选
    • 0:mono(白光)
    • 1:color (彩光)
    -
    副灯开关 LightSwitch_2 布尔型 双头灯及多头灯必选
    • 0:关闭
    • 1:开启
    -
    副灯类型 LightType_2 枚举型
    • 0:C
    • 1:CW
    • 2:RGB
    • 3:RGBC
    • 4:RGBCW
    当定义了灯类型以后,设备上电需要自己上报当前灯的类型,如没有上报则以TSL为准
    副灯明暗度 Brightness_2 整数型
    • 取值范围:0 ~ 100
    • 单位:% / 百分比
    • 步长:1
    -
    副灯冷暖色温 ColorTemperature_2 整数型
    • 取值范围:2700~ 6500
    • 单位:K / 开尔文
    • 步长:1
    2路、5路灯必要属性
    副灯HSV调色 HSVColor_2 复合型
    • 色调:Hue

      整数型

      取值范围:0 ~ 360

      单位:° / 度

      步长:1

    • 饱和度:Saturation

      整数型

      取值范围:0 ~ 100

      单位:% / 百分比

      步长:1

    • 明度:Value

      整数型

      取值范围:0 ~ 100

      单位:% / 百分比

      步长:1

    3路、4路、5路必要属性
    副灯工作模式 WorkMode_2 枚举型
    • 0:手动
    • 1:阅读
    • 2:影院
    • 3:夜灯
    • 4:生活
    • 5:柔和
    场景功能需要的属性必须配合HSVColor使用
    副灯变色速度 ColorSpeed_2 整数型
    • 取值范围:0 ~ 100
    • 单位:% / 百分比
    • 步长:1
    -
    副灯颜色数组 ColorArr_2 字符串 N/A 场景功能需要的属性

下发逻辑与现有灯的逻辑保持一致,如需添加多头灯,规则类似,只需在主灯的功能定义加上3(4/5/6/7)即可。

界面逻辑

由于灯的界面较复杂,以下将详细描述灯的界面和设备功能之间的逻辑,有助于设备开发。

白灯模式

  • 当功能定义里定义了ColorTemperture,或者通过LightType设置了2路/5路灯时,白灯模式支持冷暖调节。
  • 白灯模式的亮度Brightness依然是1-100,但是不存在换算关系。
  • 单击白光按钮,依次下发当前灯光的模式LightMode=0,以及云端存的BrightnessColorTemputure(支持冷暖的灯会下发)。
  • 1路,2路,4路,5路灯支持此模式。
  • 取消白灯模式下发HSVColor
  • 保留上次设置的BrightnessColorTemperature

彩灯模式

  • 彩光模式的色调、饱和度 、亮度 对应的分别是H(Hue)、S(Saturation)、V(Value)。
  • 单击彩光按钮 ,依次次下发灯光的模式LightMode=1以及云端存的HSVColor
  • 每次调节彩光的亮度,饱和度或者色调,都会下发对应的HSVColor
  • 3路,4路,5路灯支持此模式。
  • 取消下发初始值。
  • 保留上次设置的HSVColor
  • 此模式下只下发HSVColor
  • 彩光模式的色调、饱和度 、亮度 对应的分别是H(Hue)、S(Saturation)、V(Value),各值的范围如下:
    • Hue:0-360,与实际灯一一对应
    • Saturation:0-100,与实际灯一一对应
    • Value:20-100(本期更改为1-100)因为实际调节灯的亮度不会变成0,所以在app上调节的范围是1-100。

      由于App上灯的显示 Value 值过小的话会变成黑色,这里设置的对应关系如下。

      Prop中存的Value的值 对应灯的亮度
      20.8 1
      n* 0.8 +20 n
      100 100
      说明 之前设置亮度范围是为了解决灯泡亮度过暗的问题,但是有的开发者可能不太好理解此换算关系。所以这期放开了限制,灯面板会下发与界面上同样的值,具体的匹配由硬件开发者进行计算。

情景模式

灯的标准界面中,一共支持8种情景,其中优先展示标准属性“工作模式”中的6个标准情景,其他为自定义情景,即:消费者可以自己为情景设定跑马灯的颜色和速度

情景模式下,灯泡的背景颜色现在支持跟随灯的实际颜色来进行变化,若使用该功能,请到功能定义中,找到 “灯模式(LightMode)”属性,点击右侧编辑按钮,新增一个枚举项目,参数值为:2,参数描述为: scene,点击确认按钮进行保存;除此之外,还需要添加一个名为: 场景颜色(ScenesColor)的标准功能。请注意,以上两个添加项缺一不可。
如果您希望修改情景的名称,可以在产品-人机交互中的多语言管理中,修改枚举值的名称。

如果您希望提供更多的自定义情景,可以在功能定义中,手动删除几个枚举值即可,不足8个的,界面上都将以自定义情景填充。

自定义情景

逻辑图示

逻辑图

定时

可选择云端定时本地定时。如果功能定义中添加了本地定时的标准属性,页面上将默认实现本地定时功能;如果功能定义中没有添加,则默认为云端定时

  • 云端定时:用户设置定时后,由云端保存该定时任务,并在时间到达时,由云端给设备下发指令,实现定时任务。优点是设备端无需关注复杂的定时逻辑,仅需实现基本设备功能。缺点是在弱网或断网时,无法执行该定时任务。
  • 本地定时:用户设置定时后,由设备端保存该定时任务,并在时间到达时,设备自己执行该指令。优点是可以在弱网或断网情况下,设备也能执行定时任务;缺点是设备端需自行实现定时逻辑。

音乐律动(仅支持主灯为彩灯的设备律动)

音乐律动功能开启后,可在App上使用律动功能,随着手机麦克风接收的音乐节奏,变换灯的颜色和闪烁频率,需配合设备端开发,实现TSL对律动服务的接收。使用音乐律动功能时,务必要保证手机和设备处于同一个WiFi网络下。

配置方式

在控制台的产品-功能定义中,新增一个名为Rhythm的服务。

新增功能定义

标准服务添加后,在产品-人机交互中可以配置律动的相关场景。

配置律动

可以配置律动风格名称、色彩模式、图标等,其中默认的场景不支持更改。

音乐律动

App面板的彩光模式页面,会显示律动功能的入口。

律动入口律动效果

律动风格

我们提供了三种默认的律动风格,剩下5种风格由用户可根据自己的喜欢定义律动功能的单色和多色模式。

律动风格自定义色彩