npm 包 node-red-contrib-tplink-smarthome 使用教程

阅读时长 8 分钟读完

在物联网时代,智能家居越来越受到人们的关注,而智能插座是智能家居的基础之一。在做智能插座开发时,往往需要通过使用 TPLink 原生的通信协议,但是这就需要开发者学习与掌握大量的通信协议知识。而 npm 包 node-red-contrib-tplink-smarthome 可以帮我们绕开这些繁琐的工作,让我们能够更快地开发出功能强大的智能插座。

本文将对该 npm 包进行详细的介绍和使用教程,并结合示例代码,帮助大家更好地了解和使用该 npm 包。

node-red-contrib-tplink-smarthome 简介

node-red-contrib-tplink-smarthome 是一个 Node-RED 插件,它利用了 TP-Link 设备的通信协议,可以通过 IP 地址和密码直接与设备通信,而无需了解这些协议的细节。它的优点有:

  • 简单易用:无需深入了解通信协议即可使用;
  • 稳定可靠:基于官方 API 开发,支持各种 TP-Link 设备;
  • 功能丰富:支持远程开关、状态查询、计时操作、定时器等多种操作。

如果你想快速开发一个自己的智能插座应用,那么 node-red-contrib-tplink-smarthome 是一个值得尝试的 npm 包。

安装 node-red-contrib-tplink-smarthome

安装 node-red-contrib-tplink-smarthome 有两种方式:通过 npm 安装或通过 Node-RED UI 安装。下面我们将详细介绍这两种方式的具体操作。

通过 npm 安装

在全局安装 Node-RED 后,可以使用 sudo npm install -g node-red-contrib-tplink-smarthome 命令来安装该 npm 包。安装完成后,在工作目录下新建一个 package.json 文件,并添加以下内容:

重新安装依赖包,即可开始使用 node-red-contrib-tplink-smarthome。

通过 Node-RED UI 安装

在 Node-RED UI 工作界面上,选择 "菜单" > "管理面板" > "安装",找到 node-red-contrib-tplink-smarthome 并进行安装即可。

使用 node-red-contrib-tplink-smarthome

安装完成后,需要在 Node-RED 工作界面上添加 tplink-config 和 tplink-device 节点。以此为基础,就可以实现直接对设备进行控制。

设置 tplink-config

tplink-config 是设置 TP-Link 设备信息的节点。在界面上,直接添加节点,然后在设置中填入 IP 地址和密码。

使用 tplink-device 节点

tplink-device 是我们控制 TP-Link 设备的主要节点。下面我们结合示例代码一起学习这个节点的使用。

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

该流程的功能是查询设备信息。我们可以把 payload 设为空,使 inject 节点一开始不发送任何数据。

当程序运行时,首先添加 tplink-config 节点,并填写 IP 地址和密码。然后添加 tplink-device 节点,并设置 device 对象为刚才添加的 tplink-config 节点。在该节点中选择 action 为 getInfo,表示获取设备信息。

运行程序后,可以从 debug 节点中查看输出结果,如下:

我们可以将该示例代码进行修改,修改 action 为 setPowerState,这样就可以实现远程开关插座了。

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

这样,我们就完成了远程控制插座的功能。在该示例代码中,我们采用 Node-RED 的注入节点来触发程序,你也可以修改为其他方式来触发。同时,你也可以通过定时器的方式来实现自动化控制,实现更加智能的控制逻辑。

总结

以上就是对 node-red-contrib-tplink-smarthome 的详细介绍和使用教程。通过本文,你可以了解到该 npm 包的使用方法和其丰富的功能,希望对你开发智能家居项目有所帮助。

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

纠错
反馈