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

方案简介

生活物联网平台提供两种智能灯的App免开发解决方案(区别如下)。如果您对界面体验要求比较高,想做一款与众不同的产品,我们推荐您使用灯的App免开发解决方案2.0。如果您已经使用了方案1.0,仍然可以继续使用。

功能点 方案2.0 方案1.0
基本功能
  • 白灯的亮度和色温调节
  • 彩灯的颜色、亮度和饱和度调节
  • 支持本地定时和云端定时
  • 白灯的亮度和色温调节
  • 彩灯的颜色、亮度和饱和度调节
  • 支持本地定时和云端定时
扩展功能
  • 智能场景:支持6种模式
  • 律动:即将支持
  • 情景模式:仅支持彩光常亮和彩光闪烁
  • 律动:已经支持
界面风格 支持个性化,如动效 标准界面,不支持个性化

搭配生活物联网平台提供的公版App,方案1.0提供以下基本功能。

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

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

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

功能定义

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

  • 现有灯(主灯功能定义)
    功能名称 标识符 数据类型 是否必选 数据定义 备注
    主灯开关 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模式和场景颜色ScenesColor功能。
    灯类型 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

      单位:百分比(%)

    场景功能接收设备颜色需要的属性
    说明 当需要使用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 字符串 - 场景功能需要的属性

下发逻辑与现有灯的逻辑保持一致,如需添加多头灯,规则类似,只需在主灯的功能定义加上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)属性,单击右侧编辑按钮,新增一个枚举项目,如下图红色框所示。灯属性配置示例
  • 添加一个场景颜色(ScenesColor)的标准功能。灯功能定义

您在开发硬件时需还注意以下两点。

  • 对于标准场景,App端控制标准场景时,只会下发WorkMode指令。设备端收到WorkMode指令后,自行上报ScenesColor。

    不同标准场景对应的ScenesColor是设备端自行决定,App不做限制。您也可以在功能定义处修改WorkMode枚举值的,修改后重启pp,如重启App后界面仍不随着变化,可以尝试卸载并重新安装App,或者解绑设备重新绑定。

  • 对于自定义场景,App端需要在自定义场景中,单击灯泡下面出现的小图标,进入第二界面编辑操作。App端会下发ColorArr、ColorSpeed属性,然后设备根据收到的属性,自行上报SceneColor,App的界面即可根据实际的颜色开始变化。

如果您希望修改情景的名称,可以在产品人机交互中的多语言管理中,修改枚举值的名称。

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

自定义情景

逻辑图示

逻辑图

定时

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

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

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

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

配置方式

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

新增功能定义

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

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

音乐律动

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

律动入口律动效果

律动风格

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

律动风格自定义色彩