使用ESP8266刷入支持Homekit的电灯开关

前言

闲言少叙,使用ESP8266制作一个接入Homekit的电灯开关,以实现手机上远程开关

正文

准备

硬件部分

  1. ESP8266开发板
  2. ESP8266继电器模块
  3. 触摸传感器模块(若不需要实体开关,可以省略此插件)
  4. 220V转5V变压器
  5. CH340C烧录器(ESP8266大板不需要)
  6. 若干根电线

软件部分

  1. Arduino
  2. 继电器固件
  3. ESP-01S烧录器驱动

开始

烧录固件

我使用的ESP-01S,需要通过烧录器连接电脑,进行烧录。

如果你使用的是ESP8266大板则不需要烧录器

  1. 打开Arduino,配置开发板设置(大板/小板开发板设置不同)ESP-01/ESP-01S按上图配置ESP-01/ESP-01S按上图配置ESP8266大版按照上图配置ESP8266大版按照上图配置
  2. 解压并打开继电器固件中的HomeKit_led文件
  3. 根据实际情况修改HomeKit_led中的WIFI信息
  4. 点击左上方指向右箭头进行上传
  5. 等待上传完成

测试固件

此举在于测试固件有没有烧录成功

  1. 打开Arduino>工具>串口监视器
  2. 点击烧录器上的按钮,对ESP8266进行重启
  3. 查看串口监视器上显示的信息
  4. 打开iPhone上的家庭,并添加配件
  5. 点击家庭中灯的开关按钮,查看串口监视器中的信息是否显示正常

连接电路

市电火线连接到继电器的COM端,电灯火线连接到继电器的NC端(连接前请使用弱电测试,以免造成意外!!!)

5V电源VCC(正极)连接到继电器的VCC端,GND(负极)连接到继电器的GND

触摸传感器VCC端连接到ESP开发板3.3V端,GND连接到开发板GND端,IO连接到开发板IO2

如图所示

如图所示

测试模块

与测试固件类似,只需要去家庭中测试电灯可不可以正常开启关闭

注意事项

  1. 如果你发现没有在家庭APP中找到设备,你可以尝试查看固件配置的WIFI名称和密码有没有错误;固件之前有没有刷其他固件,如果刷了请清除(查看文章ESP8266如何刷空白固件
  2. 如果你发现家庭APP里面的电灯开关控制颠倒了,你可以将固件simple_led_accessory.c文件中HIGHLOW的位置互换;或者将电灯火线连接到模块的NO

后语

代码是别人开源的,如有不理解之处烦请自行百度;