npm 包 homebridge-anavi-infrared-aircon 使用教程

阅读时长 7 分钟读完

在智能家居领域,控制空调是基本需求之一。而通过 homebridge-anavi-infrared-aircon 这个 npm 包,你可以通过家里的红外遥控器来控制空调,实现更智能的控制方式。

什么是 homebridge-anavi-infrared-aircon

homebridge-anavi-infrared-aircon 是一个基于 Homebridge 的插件,它可以让你使用普通的红外空调遥控器,来控制空调,从而实现更加智能的控制。

使用方法

前置条件

  • 安装 Homebridge
  • 一个普通的红外空调遥控器
  • Raspberry Pi 设备

安装 homebridge-anavi-infrared-aircon 插件

安装方式如下:

配置 homebridge-anavi-infrared-aircon 插件

在安装完插件后,需要在 Homebridge 的配置文件中添加相关配置信息。

配置示例:

-- -------------------- ---- -------
-
  ------------ -
    -
      ----------- --------------
      ------- ---- -------------
      ------------ --------------
      ----------- --------------------
      -------------- -
        -
          ------- ----------
          --------- -------------
          ---------- --------------
          ------------------------- ---------------
          -------------------------- -
            ------ ---
            ------ ---
            ------- -
          -
        --
        -
          ------- ------- ------
          --------- -----------------
          ---------- ------------------
          ------------------------- -------------------
          -------------------------- -
            ------ ---
            ------ ---
            ------- -
          -
        -
      -
    -
  -
-
  • platform:指定这里是 Homebridge 上的插件。
  • name:插件的名称,可以自定义。
  • piAddress:填写你的 Raspberry Pi 的 IP 地址。
  • codesDir:你的 Raspberry Pi 中存放红外遥控器码的目录。
  • accessories:指定空调的所有需要操作的遥控器码。

其中,每一个 accessory 对象的字段含义如下:

  • name:遥控器的名称,可以自定义。
  • onCode:打开空调的遥控器码的名称。
  • offCode:关闭空调的遥控器码的名称。
  • temperatureControlCode:温度控制的遥控器码的名称。
  • temperatureControlRange:温度控制的范围,包括最小值、最大值、步长。

添加红外码到 Raspberry Pi

在配置文件中,我们需要填写 codesDir 的值,这是存放红外遥控器码的目录。所以,我们需要将相应的红外码添加到 Raspberry Pi 中。

安装 lirc

首先,我们需要安装 lirc 工具,它可以让 Raspberry Pi 上的红外传感器检测到和识别红外遥控器传递的数据信号。

编辑配置文件

接下来,我们需要编辑 lirc 的配置文件。编辑 /etc/lirc/lirc_options.conf 文件,添加以下内容:

学习红外码

我们可以通过 irrecord 工具来学习红外遥控器码,具体步骤如下:

  • -d:指定 lirc 设备的路径。
  • ~/ac-codes/bedroom_on.conf:指定保存文件的路径和文件名。

之后,按照命令行的提示,使用红外遥控器发送对应的指令(比如打开空调),并等待 irrecord 接收成功的提示,这个时候就可以在 Raspberry Pi 的 /home/pi/ac-codes 目录下得到一个对应的遥控器码文件。

效验红外码

在成功学习完遥控器码后,我们可以使用以下命令来检验它们是否有效:

  • <your_remote_name>:填写你的红外遥控器名称。
  • <key_name_or_hex_code>:填写你学习的遥控器码的名称或者十六进制代码。

如果一切正常,你的空调就会收到对应的指令。

使用遥控器

在完成以上配置后,我们就可以直接使用 Siri 或者 Home app 来控制空调了。同时也可以使用 Homebridge Logs 来进行高级调试。

遇到的问题

1. 出现 Error: Cannot find module 'cross-spawn' 错误

解决方式:重新安装 node-gyp

2. 出现 Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable) 错误

解决方式:执行以下命令,释放锁。

3. 出现空调关闭后仍然保持开启状态的问题

解决方式:在代码库中修改 anavi-ir.js 文件,将 waitForConnect 函数中的 this.sendCode(msg.code.off); 改为 this.sendCode(msg.code.off, true);

总结

通过使用 homebridge-anavi-infrared-aircon 这个 npm 包,可以使用普通红外遥控器控制空调,实现更智能的控制方式。在使用过程中,有时会遇到一些问题,但往往可以通过一些小技巧来解决。希望本篇文章能够对大家有所启发,帮助大家更好地掌握该技术。

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

纠错
反馈