npm 包 flaschenode 使用教程

阅读时长 5 分钟读完

Flaschenode 是一个基于 Node.js 的 npm 包,用于控制灯带上的 LED 灯珠,支持通过网络发送信息到 LED 灯串上,从而实现有趣的 LED 光特效。本文将详细介绍 flaschenode 的安装与使用,以及一些实用技巧。

安装 flaschenode

在使用 flaschenode 之前,你需要先安装 Node.js。安装完成后,使用 npm 命令来安装 flaschenode:

flaschenode 的基本用法

在安装完 flaschenode 后,我们可以用以下代码来测试 flaschenode 是否正常运行:

其中,http://<flaschen server ip>:<port> 是你的 flaschenode 服务器地址,在使用 flaschenode 的时候,需要将这个地址传入 Flaschenode 类的构造函数中,表示将数据传输到该地址上。

在上面的代码中,fn.fill(255, 255, 255) 表示向 LED 灯串上发送全部点亮的信息,对于一个 LED 灯串而言,其每个点对应一个 RGB 颜色,所以这里设置的是 RGB 为 255,255,255,即表示将 LED 灯串全部点亮。

在 flaschenode 上显示静态图像

除了直接使用 fill() 方法填充颜色,也可以使用图像来显示在 LED 灯串上。具体操作如下:

  1. 准备好要显示的图片,确保图片大小小于 LED 灯串的像素大小。
  2. 使用 Sharp 将图片转换为对应的 RGB 矩阵。
  3. 使用 setMatrix() 方法将矩阵传输给 LED 灯串。

代码示例:

-- -------------------- ---- -------
-- -- -----
----- ----- - -----------------
 
-- --------
------------------
  ----------- ---
  ------
  --------------- ------- -- -
    -- ----- ----- ----
 
    -- ----
    ----- ------ - ---
    --- ---- - - -- - - ------------- - -- - -- -- -
      -------------------- - --- -------- - - - --- -------- - - - ----
    -
 
    -- ----
    ----- -- - --- ----------------------------- ------ -------------
    ---------------------
  ---

其中,resize(64, 64) 表示将输入图片大小调整为 64 * 64 的大小,可以根据实际需要进行更改。raw() 表示将图片转换为 raw 格式(连续行的 RGB 像素三元组),以便生成对应的 LED 灯串矩阵。toBuffer() 方法的回调函数中,我们将每个 RGB 像素三元组 push 到一个一维数组中,最终将这个一维数组传输到 LED 灯串上进行显示。

在 flaschenode 上显示动态视频

除了能够显示静态图片,flaschenode 还可以在 LED 灯串上显示动态视频。下面介绍一下如何使用 flaschenode 显示动态视频:

  1. 使用 mp4box-js 将视频分解为帧,分别使用 Sharp 将每一帧转换为对应的 RGB 矩阵。
  2. 使用 fill() 方法将矩阵传输到 LED 灯串上,以实现动态视频的显示。

代码示例:

-- -------------------- ---- -------
-- -- ---------
----- ------ - ------------------

-- ----
----- --------- - ------------

-- ----------- -----
----- --------- - ----------------- ------ ------------

-- ------
---------------------- -------- -- -
  ----- ---------- - ---------------------

  -- -------
  ----- ------ - -------------------------------------------- -- -------------
  ----- ---------- - ------------------ -- -
    -- ------- ---- --
    ----- --------- - -------------------------
      ------
      --------------
      ------------
    ------ ----------
  ---

  -- ---------------
  --- ----- - --
  -------------- -- -
    ----- -- - --- -----------------------
    -- --------- --- ---
    --------------------------------
    ----- - ------ - -- - ------------------
  -- ---- - ---- -- --------
---

总结

本文介绍了 flaschenode 的基本用法,包括在 flaschenode 上显示静态图像和动态视频,希望对大家有所帮助。flaschenode 还有很多其他的高级用法和实用技巧,欢迎大家进一步了解和使用。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600672563660cf7123b3636a

纠错
反馈