为了满足用户对于App界面不同的体验需求,生活物联网平台对灯的界面风格以及场景功能进行了重新设计,提供了一套新的免开发的App标准界面,如果您对界面体验要求比较高,想做一款与众不同的产品,我们推荐您使用App免开发解决方案2.0。

方案概述

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

  • 白灯的亮度和色温调节
  • 彩灯的颜色、亮度和饱和度调节
  • 智能场景,支持白光常亮、白光闪烁、白光渐变、彩光常亮、彩光闪烁、彩光渐变6种场景模式
  • 定时,支持云端定时或本地定时

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

  • 一路灯lt1
  • 两路灯lt2
  • 三路灯lt3
  • 四路灯lt4
  • 五路灯lt5

在控制台开发产品

  1. 登录生活物联网控制台
  2. 创建一个产品,并定义产品功能。
    建议您添加以下灯的标准功能,操作请参见创建产品并定义功能
    功能名称 标识符 数据类型 是否必选 功能描述
    开关 powerstate 布尔型 灯开关
    HSV调色 HSVColor 复合型 3路灯、4路灯、5路灯必要属性,JSON对象
    • 色调:Hue
      • 数据类型:整数型
      • 取值范围:0~360
      • 步长:1
      • 单位:度(°)
    • 饱和度:Saturation
      • 数据类型:整数型
      • 取值范围:0~100
      • 步长:1
      • 单位:百分比(%)
    • 明度:Value
      • 数据类型:整数型
      • 取值范围:0~100
      • 步长:1
      • 单位:百分比(%)
    明暗度 brightness 整数型 1路灯、2路灯、4路灯、5路灯必要属性
    • 取值范围:0~100
    • 单位:百分比(%)
    • 步长:1
    色温_开尔文 colorTemperatureInKelvin 整数型 2路灯、5路灯必要属性
    • 取值范围:2000~7000
    • 单位:开尔文(K)
    • 步长:1
    本地定时 LocalTimer 数组型 元素类型:JSON数组
    灯模式 LightMode 枚举型 取值:0 - mono(白光);1 - color (彩光)
    说明 支持两种模式的灯需要此属性,添加完页面会出现白光、彩光两种模式
    灯类型 LightType 枚举型 当定义了灯类型以后,设备上电需要自己上报当前灯的类型,如没有上报则以TSL为准
    • 0:C
    • 1:CW
    • 2:RGB
    • 3:RGBC
    • 4:RGBCW
    灯场景(新增) LightScene 复合型 JSON对象
    • 灯模式:LightMode

      数据类型:枚举型

      • 0 - mono(白光)
      • 1 - color (彩光)
    • 变色速度:ColorSpeed
      • 数据类型:整数型
      • 取值范围:0~100
      • 步长:1
      • 单位:百分比(%)
    • 场景模式:SceneMode

      数据类型:枚举型

      • 0:常亮
      • 1:闪烁
      • 2:渐变
    • 灯颜色:ColorArr
      • 数据类型:字符型
      • 数据长度:2048
    • 明暗度:Brightness
      • 数据类型:字符型
      • 数据长度:2048
    • 运行状态:Enable

      数据类型:布尔型

      • 0:已停止
      • 1:运行中
    • 场景标识:SceneId
      • 数据类型:字符型
      • 数据长度:100
    • 场景参数:SceneItems
      • 数据类型:字符型
      • 数据长度:2048
    心跳(新增) Heartbeat 布尔型
    • 0:停止
    • 1:正常
    说明 当使用LightType属性时,一定要配置以上的功能定义,否则可能会造成面板画面显示不正常。
  3. 添加测试设备,参见添加设备
  4. 配置App的功能参数项,参见配置App
    该解决方案默认使用本地定时功能,您还需要在人机交互页面设置定时的功能属性。jt3

开发界面

由于灯的界面较复杂,请您根据以下灯的界面与设备功能之间的逻辑来开发设备。

  • 白灯模式

    1路灯、2路灯、4路灯、5路灯支持此模式。

    • 当功能定义里定义了ColorTemperture,或者通过LightType设置了2路灯、5路灯时,白灯模式支持冷暖调节。
    • 白灯模式的亮度Brightness,设置为1~100。
    • 单击白光按钮时,依次下发当前灯光的模式LightMode=0,以及云端备份的Brightness和ColorTemputure(支持冷暖的灯会下发)。
  • 彩灯模式

    3路灯、4路灯、5路灯支持此模式。

    • 单击彩光按钮时,依次下发灯光的模式LightMode=1以及云端存的HSVColor。
    • 彩光模式的色调为H(Hue)、饱和度为S(Saturation)、亮度为V(Value),各取值范围如下。
      • Hue:0~360,与实际灯的是一一对应的
      • Saturation:0~100,与实际灯的是一一对应的
      • Value:1~100,因为实际调节灯的亮度不会变成0,所以在App上调节的范围是1~100
    • 每次调节彩光的亮度、饱和度或色调时,都会下发对应的HSVColor

开发灯场景

方案2.0的灯场景一共支持6种场景模式,分别为:白光常亮、白光闪烁、白光渐变、彩光常亮、彩光闪烁、彩光渐变。各路灯的支持情况如下。

类型 支持的灯场景
1路灯 白光常亮、白光闪烁、白光渐变
2路灯
3路灯 彩光常亮、彩光闪烁、彩光渐变
4路灯 白光常亮、白光闪烁、白光渐变、彩光常亮、彩光闪烁、彩光渐变
5路灯

请您根据以下操作开发灯的场景。

  1. 登录生活物联网控制台
  2. 预设场景。
    1. 进入产品的人机交互页面。
    2. 打开公版App开关,单击选择产品面板处的未设置
      jt9
    3. 选择X路灯(根据预置的lightType来选择几路灯),并单击编辑
      jt7
    4. 配置灯界面。

      选择灯场景,并单击打开浮层

      jt5
      • 配置冷暖模式jt6
      • 配置白光、彩光模式jt7
      说明 速度调节为从0%(间隔6s)至100%(间隔1s),速度的步长为50ms。

      以彩光场景为例: 可以修改场景名称,6种场景模式,以及场景参数等。不同模式以及1~5路灯所支持的配置不完全相同,支持参数如下。

      灯模式 支持的参数情况
      白光常亮 支持明暗度调节,如功能定义包含ColorTemperature则支持冷暖调节
      白光闪烁 支持速度调节,如功能定义包含ColorTemperature则支持冷暖调节,明亮度Brightness为0和100闪烁
      白光渐变 支持速度调节,如功能定义包含ColorTemperature则支持冷暖调节,明亮度Brightness为0~100渐变,渐变步长为1
      彩光常亮 仅支持选择一种颜色
      彩光闪烁 支持速度调节,最多可选8种颜色,颜色顺序切换
      彩光渐变 支持速度调节,最多可选8种颜色,颜色顺序渐变,渐变规则为HSVColor中的Value从0~100渐变,再进入下一个颜色
      说明 当您开发同时支持多路灯产品时,如果您在开发产品时还不确定具体支持几路灯,我们允许您添加在功能定义中支持的所有场景。如功能定义中,同时添加了BrightnessColorTemperatureHSVColorLightMode,满足5路灯的属性,则可以添加6种场景模式的任意一种。但是最终App用户使用灯时不一定是5路灯,根据设备上报lightType动态决定是几路灯,最终App侧会根据lightType过滤掉设备不支持的场景。

      例如,同时预设了白光-闪烁和彩光-闪烁的场景。

      • App用户在使用时,如果设备上报lightType=1即为2路灯,不支持彩光模式,则用户仅能看到白光-闪烁的场景
      • App用户在使用时,如果设备上报lightType=2即为3路灯,不支持白光模式,则用户仅能看到彩光-闪烁的场景
  3. 实现灯场景。
    新的灯场景的实现依赖LightSceneHeartbeatStatus属性(属性介绍参见功能定义页面)。
    1. 用户选择场景时,云端下发数据。
      • 白光场景
        {
          "LightScene": {
            "LightMode": 0,
            "ColorSpeed": 100,
            "SceneMode": 1,
            "ColorArr": "[]",
            "Brightness": "{"min":0,"max":100}",
            "Enable": 1,
            "SceneItems": "{"ColorTemperature":4445,"Brightness":100}",
            "SceneId": "B_5"
          }
        }
      • 彩光场景
        {
          "LightScene": {
            "LightMode": 1,
            "ColorSpeed": 100,
            "SceneMode": 1,
            "ColorArr": "[]",
            "Brightness": "{}",
            "Enable": 1,
            "SceneItems": "{}",
            "SceneId": "B_5"
          }
        }
        其中ColorArr值为JSON字符串,内容如下,注意有些平台双引号需要转义{"Hue":6,"Saturation":99,"Value":98},{"Hue":121,"Saturation":96,"Value":97},{"Hue":286,"Saturation":63,"Value":85}
    2. 设备收到LightScene后,根据LightScene中的参数LightModeSceneMode来判断当前是哪一种场景模式,执行不同的逻辑。

      六种模式对应的设备执行逻辑如下。

      灯模式 设备端执行逻辑
      白光常亮
      • 上报LightScene,常规属性设置动作,属性上报
      • 调整LightMode=0,获取SceneItems中的Brightness、ColorTemperature
      • 上报 LightMode、Brightness、ColorTemperature(1路灯和4路灯无ColorTemperature)
      白光闪烁
      • 上报LightScene,常规属性设置动作,属性上报
      • 调整LightMode=0,ColorTemperature为SceneItems中的值
      • 上报 LightMode、ColorTemperature
      • 根据ColorSpeed定时改变Brightness为0与100(闪烁),并上报Brightness
      白光渐变
      • 上报LightScene,常规属性设置动作,属性上报
      • 调整LightMode=0,ColorTemperature为SceneItems中的值
      • 上报LightMode、ColorTemperature
      • 根据ColorSpeed 定时改变Brightness为0~100(渐变),步长为1,并上报Brightness
      彩光常亮
      • 上报LightScene,常规属性设置动作,属性上报
      • 调整LightMode=1,HSVColor为ColorArr中的第一个颜色值
      • 上报LightMode、HSVColor
      彩光闪烁
      • 上报LightScene,常规属性设置动作,属性上报
      • 调整LightMode=1
      • 上报LightMode
      • 根据ColorSpeed定时改变HSVColor并上报;每次从ColorArr中顺序取下一个颜色值,且循环取值
      彩光渐变
      • 上报LightScene,常规属性设置动作,属性上报
      • 调整LightMode=1
      • 上报LightMode
      • 根据ColorSpeed 定时改变HSVColor 并上报;每次从ColorArr中顺序取下一个颜色值,取出颜色值后对HSVColor的Value值进行0至100渐变。Value达到100后,取下一个颜色值,Value继续从0至100取值
  4. 调试灯场景。
    公版App最多支持10个场景,您最多预设5个场景,剩余的为App用户自定义场景。请您根据业务逻辑来调试预设的场景,并根据以下操作调试App用户自定义的场景(以5路灯为例)。
    1. 登录公版App。
    2. 单击智能,并选择场景页签。
      此时会弹出浮层,看到支持场景的列表,分为两部分:预设场景和用户自定义场景。预设场景用户不可编辑。
    3. 单击右上角的加号(+)来新增场景。
      App用户可以新增常亮、闪烁、渐变等场景,以及最多添加8种颜色。此时设置的参数与生活物联网平台的控制台可设置的参数相同,区别在于自定义用户场景无法切换白光模式与彩光模式。 而是根据1~5路灯适配(1~2路灯仅能设置白光场景;3~5路灯仅设置彩光场景)。App用户可以通过设置白色的场景来实现白光场景的效果。jt9

开发音乐律动场景

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

请您根据以下操作开发音乐律动的场景。

  1. 登录生活物联网控制台
  2. 创建产品并定义产品功能。
    您需要新增一个名为Rhythm的服务,详细操作请参见创建产品并定义功能定义功能
  3. 预设场景。
    1. 进入人机交互页面。
      jt9
    2. 选择X路灯(根据预置的lightType来选择几路灯),并单击编辑
      jt7
      说明 音乐律动功能仅支持3~5路灯彩灯模式。
    3. 单击律动页面 > 律动场景组件, 并打开浮层。
      灯界面

      在浮层中您可以看到官方推荐的几种律动场景,即我们在不同音乐模式下反复验证效果较好的场景,建议您可以直接使用。

      • 默认场景(不支持编辑和删除)
      • 暖色
      • 冷色
      • 多彩
    4. (可选)选择除默认场景外的一个场景模式,单击铅笔图标编辑律动场景。
      编辑场景
      参数名称 描述
      场景名称 场景名称支持多语言的文案
      单设备模式 支持默认(闪烁)、渐变、跳变三种模式
      多设备模式 支持推荐、脉冲、同频三种模式,多设备组控时,不同设备可以按不同颜色顺序变化
      颜色 最多支持添加8种颜色
  4. 调试音乐律动场景。
    公版App最多支持10个场景,您最多预设5个场景,剩余为App用户自定义场景。请您根据业务逻辑来调试预设的场景,并根据以下操作调试App用户自定义的场景(以5路灯为例)。
    1. 登录公版App。
    2. 单击智能,并选择场景页签。
      此时会弹出浮层,看到支持场景的列表,分为两部分:预设场景和用户自定义场景。预设场景用户不可编辑。操作场景
    3. 单击加号(+)新增场景。
      App用户可以新增默认(闪烁)、渐变、跳变模式的场景,最多添加8种颜色,和控制台可设置的参数相同。
    4. 预览效果。
      预览效果

开发定时功能

方案2.0默认使用云端定时功能。App用户设置定时任务后,由云端保存该定时任务,并在时间到达时,给设备发送执行指令。

使用云端定时,设备端不需要任何改动便可以支持。