Skip to content

可寻址LED ​

简介 ​

可寻址LED(Addressable LED)是一类内置控制芯片的LED,每颗LED均可独立控制颜色和亮度。常见型号包括WS2812、SK6812、WS2811等。LED可以单独使用,例如ESP32-S3-DevKitC-1开发板集成的WS2812 LED,也可以多颗级联构成LED灯带或矩阵。

接口:单线串行接口

可寻址LED只需要一个GPIO即可控制整条灯带,Node-MQ支持单线最多144颗LED。

指令 ​

模块名称:
led_strip

config ​

config指令使用模块配置的 标准模板。

参数说明 ​

  • device [array] (!) 设备配置对象数组。

    • name [string] (?) 用户定义的设备名。最大长度15个字符。当模块只有单一设备时可以省略。
    • remove [bool] (?) 为true时,释放并移除设备。模块有多个设备时,通过 name 指定。默认false。
    • io_num [int] (!) 单线串行接口使用的GPIO序号。
    • led_count [int] (?) 单线连接的LED数量。默认值1,最大允许值144。
    • led_model [string] (?) LED型号,默认值ws2812。可选值:
      • ws2812
      • sk6812
      • ws2811
      • ws2816
    • color_format [string] (?) LED的颜色格式,默认值grb。可选值:
      • grb
      • grbw
      • rgb
      • rgbw

    ESP32-S3-DevKitC-1开发板集成的LED型号为ws2812,颜色格式为grb,并连接到GPIO48引脚(部分版本连接GPIO38)。

样例 ​

json
{
  "module": "led_strip",
  "action": "config",
  "device": [
    {
      "io_num": 48
    }
  ]
}

适用于ESP32-S3-DevKitC-1开发板的配置。开发板只有一个LED设备,省略 name 参数。

display ​

display控制LED的显示颜色。该指令无应答。

参数说明 ​

  • device [string] (?) 要操作的设备名。当模块只有单一设备时可以省略。
  • index [int] (?) 要更新颜色数据的LED起始索引(0-based)。默认值0。
  • rgb [array] (?) RGB格式的色值数组。数组元素为RGB 3值数组,RGB值范围均为0~255。
  • hsv [array] (?) HSV格式的色值数组。数组元素为HSV 3值数组,HSV值范围:
    • H - 0~360 色相角度值。
    • S - 0~255 0对应0%饱和度;255对应100%饱和度。
    • V - 0~255 0对应0%明度;255对应100%明度。
  • rgbw [array] (?) RGBW格式的色值数组。数组元素为RGBW 4值数组,RGBW值范围均为0~255。
  • 色值数据 rgb(红绿蓝)、hsv(色相/饱和度/明度)、rgbw(红绿蓝白)为3选1参数,只需要提供其中一项。
  • rgb 数据如:[[255, 0, 0], [0, 255, 0], [0, 0, 255], ...],只有单一元素时可简写为 [255, 0 ,0]。hsv、rgbw 的情况类似。

样例 ​

json
{
  "module": "led_strip",
  "action": "display",
  "rgb": [255, 0, 0]
}

设置单一LED为红色。省略 name 参数。

clear ​

clear关闭所有LED。该指令无应答。

参数说明 ​

  • device [string] (?) 要操作的设备名。当模块只有单一设备时可以省略。

样例 ​

json
{
  "module": "led_strip",
  "action": "clear"
}

省略 name 参数。