为家庭安全打造 DIY 门状态传感器

门状态感应器是家庭安全系统中至关重要但常被忽视的组成部分。它们是一种微型装置,能够侦测门窗的开启或关闭状态,并将这些信息传递给智能家居控制中心。

通过将门感应器与树莓派上的家庭助理系统结合,您可以实时监测门状态的变动,并在智能手机上接收通知,或是在Alexa Echo智能音箱上发出警报。

接下来,我们将详细介绍如何构建并配置一个基于Wi-Fi的智能门状态感应器,以提升您的家庭安全防护级别。

所需元件

为了制作一个基于Wi-Fi的智能门状态感应器,您需要准备以下元件:

ESP8266 (D1 Mini) 微控制器 或 ESP32 微控制器
磁性开关(簧片开关)
USB 电缆 (用于供电)
连接线

微控制器的准备

首先,我们需要利用ESPHome插件为D1 mini (ESP8266) 编译固件。请按照以下步骤在家庭助理服务器中安装ESPHome插件,并使用它来编译和下载固件:

  1. 启动家庭助理,导航至“设置”>“附加组件”。
  2. 点击右下角的附加组件商店按钮。
  3. 搜索“ESPHome”,点击ESPHome插件(第一个),然后点击“安装”。
  4. 安装完成后,点击“启动”按钮来启动该附加组件。 务必启用“启动时启动”和“看门狗”选项。
  5. 点击“打开Web UI”,然后点击“+新设备”。 出现提示时,点击“继续”。
  6. 输入设备名称,例如“door-sensor”,然后点击“下一步”。
  7. 选择ESP8266,然后将加密密钥复制到安全的地方。 如果您使用的是ESP32板,请务必选择它。
  8. 然后点击“跳过”。您将在ESPHome Web UI仪表板中看到门感应器实体。
  9. 点击“编辑”并“创建”,然后将以下代码粘贴到captive_portal文本下方的YAML编辑器窗口中。
    binary_sensor:
      - platform: gpio
        name: "车库门已打开"
        pin:
          number: GPIO4
          inverted: true
          mode: INPUT_PULLUP
  10. 此外,请务必使用您的Wi-Fi SSID和密码修改Wi-Fi凭据。查找:
    wifi:
      ssid: !secret wifi_ssid
      password: !secret wifi_password
  11. 将上述代码替换为以下行,并更新您的Wi-Fi SSID和密码。
    wifi:
      ssid: "您的WiFiSSID"
      password: "您的WiFi密码"
  12. 您的代码应如下图所示。
  13. 点击“保存”,然后点击“安装”。
  14. 选择“插入此计算机”。 等待固件编译完成。 这可能需要10-15分钟。
  15. 固件准备就绪后,点击“下载项目”按钮。一个名为door-status.bin的固件文件将下载到您的系统中。

将固件写入微控制器

要将固件写入微控制器,请按照以下步骤操作:

  1. 在通过浏览器安装ESPHome的弹出窗口中,点击“打开ESPHome Web链接”或下载ESPHome刷机工具。 它适用于Windows、macOS和Linux。 为此,我们使用ESPHome Web安装程序。
  2. 将ESP8266 (D1 Mini) 或 ESP32 模块连接到系统,然后点击“连接”。
  3. 选择COM端口并点击“连接”。
  4. 点击“安装”,然后点击“选择文件”以从系统中选择下载的固件。
  5. 点击“安装”以将固件写入微控制器。 这可能需要一分钟左右的时间完成写入。

将磁性开关连接到微控制器

写入固件后,您可以按照以下步骤将磁性开关连接到微控制器:

  1. 将簧片或磁性开关的一端连接到微控制器上的接地 (GND) 引脚。
  2. 将磁性或簧片开关的另一端连接到数字GPIO4引脚,即微控制器上的D2。

将门感应器集成到家庭助理

现在,您可以按照以下步骤将此DIY智能Wi-Fi门感应器集成并添加到您的家庭助理中:

  1. 在家庭助理中,进入“设置”>“设备和服务”。
  2. 您的门感应器将被自动发现并在此处列出。 如果没有,请进入ESPHome Web UI并点击“日志”。
  3. 您应该在日志中看到IP地址。 记下它,然后导航至“设置”>“设备和服务”。
  4. 点击“添加集成”,搜索并选择ESPHome。
  5. 点击“设置ESPHome的另一个实例”。
  6. 输入IP地址并点击“提交”。 如果询问,请粘贴加密密钥。您可以在ESPHome Web UI的YAML代码中找到它。
  7. 选择一个房间并点击“完成”。
  8. 现在,点击ESPHome实体并选择门状态实体。
  9. 编辑详细信息,例如名称和图标,然后在“显示”下拉列表中选择“门”。
  10. 然后点击“更新”。

在门上安装门磁

确定磁性开关的最佳安装位置。将有线部分安装在门上,而将磁铁部分安装在门框、门框或是门楣上。您也可以根据实际需求进行反向安装,因为您需要使用USB电源为感应器供电。

或者,您也可以使用电池为其供电,但为此您需要启用深度睡眠模式,这需要使用额外的组件。

测试与最终确定

您需要测试门状态感应器。为此,打开设备,开关门,观察家庭助理仪表板上状态是否同步更新。

如果开关工作正常,您可以创建一个自动化程序,以便在门打开或关闭时在智能手机上接收通知。

利用DIY门感应器增强您的家庭安全

为家庭助理构建门状态感应器是您智能家居设置的极佳补充。 通过这个DIY项目,您可以实时了解门的开启或关闭状态,从而提升家庭的安全性。此外,它还是构建更高级自动化的基础,例如在门打开或关闭时触发灯光或HVAC系统。

您还可以设置自动化,以便在门状态发生变化时,通过智能手机上的家庭助理应用程序接收通知。