利用ESP-01/01S/8266加继电器实现原生HomeKit控制
  • 2020 年 10 月 23 日
  • 88 次阅读
  • 561 字
  • 暂无评论


前言:
在油管上看到这么一个ESP好玩的项目,可以利用esp8266系列的芯片写入固件实现原生的HomeKit支持,也就是无需通过Home Assistant或者Homebridge就可以直接将esp8266配对到苹果家庭里实现各种功能。
GitHub项目地址 RavenSystem/esp-homekit-devices
准备配件
配件
最后还要公母杜邦线若干(电线代替也ok)。
刷固件
首先给 ESP-01 刷入固件,
6 月 5 日 更新:
HAA 更新了他们的安装方式,之前的三个文件变成了一个 fullhaaboot.bin。现在只需要下载这一个文件就可以了。
通过下载器让 ESP-01 连接电脑并进入烧录模式(NODEMCU)。NODEMCU烧录软体(内含教程)
配置
完成之后,ESP-01 会建立一个 SSID 为 HAA-XXXXXX 的开放 2.4GHz WiFi 热点,连接它(手机或pc皆可),等待几秒钟,就会跳转到 Home Accessory Architect 的WiFi配置页面。
WiFi配置页面
这里我们需要写一个 JSON Config 来配置 ESP-01 的功能,HAA 提供了相当丰富的物联网设备类型供我们选择,这里我们选择相对简单的的开关(Switch)来配置。

将 wiki 中提供的范例 JSON Config 稍加修改,填入:

{
  "c": { "l": 1, "b": [{ "g": 2, "t": 5 }] },
  "a": [{
    "t": 1,
    "s": 1,
    "0": { "r": [{ "g": 0, "v": 1 }] },
    "1": { "r": [{ "g": 0, "v": 0 }] },
    "b": [{ "g": 2 }]
  }]
}

这里表示了一个基本类型的开关("t": 1),通过 GPIO 0 控制继电器,因为这个继电器模块是 GPIO 0 低电平时闭合,所以在下面的 "0" 表示开关关闭的选项中 "v": 1 表示高电平,而 "1" 与之相反。LED 指示灯定义为 GPIO 1,按钮定义为 GPIO 2,"s": 1 表示通电后默认为开关打开状态。

详细的配置规则可以参阅原项目的 Wiki

并在此页面下方连接找到要用的 WiFi,注意 ESP-01 仅能连接 2.4GHz 的 WiFi。
之后点击保存并等待 7 分钟左右,完成后 LED 会亮起几秒钟。
接线
将 220V 的火线与零线接到 220V 转 5V 降压模块上。
降压模块输出 5V 电接入继电器的 VCC 与 GND。将 ESP-01 插在继电器上,因为该继电器自带一个 5V 转 3.3V,所以可以直接给 ESP-01 供电。
将继电器的常开端(NO)与通用端(COM)与负载和 220V 连接,当继电器闭合时即形成回路运行负载。

添加 HomeKit 设备
在 iOS 设备中打开「家庭」App,通过下方的设置代码,按照正常步骤添加新配件。大约等待 30 秒即可添加完成。
HomeKit
HomeKit
原著:WTX's


HomeKitESP8266物联网

—— 暂无评论 ——