本站承诺永不接任何虚假欺骗、联盟广告、弹窗广告、病毒广告、诱导充值等影响用户体验的广告,广告屏蔽插件会影响本站部分功能,还请不要屏蔽本站广告,感谢支持!

当前位置:首页 / 正文

2020-12-01 | 智能家居 | 59323 次阅读 | 24 条评论 | 15 次点赞 | 繁体

鉴于目前在售的智能开关都价格不菲,本文就教大家利用 ESP-01/01S 芯片配合继电器来实现原生苹果家庭支持,成本只需要 10 元!

图片alt

废话不多说,开干

准备

  • ESP-01S 模块 + 继电器(¥10.10):https://m.tb.cn/h.4fzD4IK (这是我的购买链接,不包邮,建议搭配其他东西一起买,自己买的话继电器一定要买带光耦的)
  • ESP8266 ESP-01 ESP-01S 固件烧录器(¥7.70):https://m.tb.cn/h.44kDQL1 (这个工具是烧录 ESP-01 用的,一次购买就可以一直用了)
  • 220v 转 5v 降压器(非必需):https://m.tb.cn/h.4fAxypS (这个是如果接入 220V 电的话才会用到,不接 220V 电的话就不需要买,也可以使用 5V 手机充电器代替)

ESP-01 长这样:

图片alt

继电器长这样:

图片alt

烧录器长这样:

图片alt

实现原理

通过 CH340C 烧录器给 ESP-01 模块刷入可供 HomeKit 识别的固件(Home Accessory Architect),ESP 通过继电器的开关控制线路的通断从而控制设备开关。

烧录固件

首先这里是官方的安装教程:https://github.com/RavenSystem/esp-homekit-devices/wiki/Installation

官方有多种安装教程,这里我就选用其中一种自己认为最简单的(使用 esptool.py 烧录)来给大家演示

1、esptool.py 安装

esptool.py 是乐鑫提供的开源库工具,用于乐鑫 ESP8285, ESP8266, ESP32, ESP32-S等系列芯片和 ROM Bootloader(即:一级 bootloader)通讯,从而实现:固件烧录,flash 擦除,flash 读取,读 MAC 地址,读 flash id ,elf 文件转 bin 等常用功能;

官方介绍:https://github.com/espressif/esptool/blob/master/README.md

如下 shell 命令任选其一,执行成功即可安装:

pip install esptool

python -m pip install esptool

pip3 install esptool

2、下载 HAA 的二进制文件

https://github.com/RavenSystem/haa/releases/latest/download/fullhaaboot.bin

3、将 ESP-01 插入烧录器,如下图:

图片alt

然后将设备插入电脑的 USB 口

4、找到刚刚插入的设备端口

我这里使用的是 MAC 电脑,执行以下命令查看 USB 端口:

ls /dev/cu.*

如图红色圈出的即为我的 ESP-01 设备,如果不知道哪个是,可尝试先拔出,执行命令,然后再插入,执行命令,看看哪个端口有变化

图片alt

Windows 可在设备管理器中查看,大概长这样,同样也是插拔一下,看看哪个端口是 ESP-01:

图片alt

5、使用 esptool.py 擦除 ESP-01 的 flash:

将以下命令中的端口号替换为你上一步骤找到的端口号,然后执行

esptool.py -p 端口号 erase_flash

图片alt

命令执行完后 ESP-01 会自动重启

6、开始烧录固件:

同样,将以下命令中的端口号修改为你自己的端口号,bin 文件地址修改为第 2 步骤下载的文件地址,然后执行

esptool.py -p 端口号 --baud 115200 write_flash -fs 1MB -fm dout -ff 40m 0x0 fullhaaboot.bin

注意: 如果使用旧版本的 esptool,则必须更改为 -fs 1MB-fs 8m

不出意外的话,就是下图这样的情况了,然后 ESP-01 又会重启了

图片alt

7、给 ESP-01 联网,并添加配置

打开电脑或者手机的 WIFI,找到 HAA- 开头的热点,连她

然后就会自动打开如下界面,如果没有自动打开,连接热点后访问 http://192.168.4.1 也可打开如下界面:

图片alt

复制下面内容到 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}]}]}

图片alt

然后在下边点击选择你要连接的 WIFI,如果没看到你的 WIFI,可以点击 WIFI Networks 刷新,选择后在下边输入所选 WIFI 的密码

图片alt

其他的地方不用动,然后点击上边的 Save 按钮,保存配置

保存后 ESP-01 会自动配置,一般情况大约需要等待 10 分钟左右,配置成功继电器上的灯会亮起,期间保持设备通电。

要查看实时进度,可使用如下命令(端口号换成自己的):

screen 端口号 115200

注意:如果安装失败,则必须从步骤 5 再次启动所有进程。

如果看到日志输出 HAA Sysparam ready 那就是 OK 啦

图片alt

继电器安装

接下来就可以把烧录器从电脑上拔下来,并把 ESP-01 插到继电器上

ESP-01 需要 3.3V 供电,继电器会自动将 5V 降为 3.3V,所以可以连接 5V 的充电宝或手机充电器电源到继电器,接线图如下:

图片alt

添加开关进苹果家庭

通电后,如果继电器上蓝色灯长亮那就说明智能开关制作成功了,如果灯一直开关不停,那就是烧写固件有问题,需要重新烧写固件

如下图,我把继电器接到了我的充电宝上:

图片alt

没问题的就可以打开苹果家庭应用添加开关了,首先打开苹果家庭,点击右上角 + ,选择添加配件,然后选择 我没有或无法扫描代码

图片alt

然后选择 我的配件未在此处显示

图片alt

接下来选手动输入代码

图片alt

输入如下代码,点击继续,等待一会即可添加成功(此处等待时间较长)

图片alt

添加成功就可以愉快的玩耍了,点击开关看看继电器上的蓝色小灯是不是相应的开关了

接入控制电器

经过前边的步骤,你的智能开关已经顺利的接入苹果家庭了, 接下来就是怎么应用继电器了,让我们来看一下接线图(黑色是负极)

如果不需要接 220V:

图片alt

如果要接入家用 220V 交流电,需要增加一个 220v 转 5v700mA 的降压模块:

图片alt

我这边是做了一个 USB 接口,用来控制我的屏幕挂灯:

图片alt

大功告成!

标签: esp01HomeKit智能

猜你喜欢
如何在 ESP 单片机上选用合适的引脚
本文旨在介绍 ESP8266 系列单片机的引脚定义、引脚功能及如何使用它们。ESP-12E 模块拥有 17 个 GPIO 引脚。但在各个开发板上,ESP8266 芯片的 GPIO 引脚并不一定全...
一键脚本安装的 HASSIO 如何卸载呢
由于我的 HASSIO 是通过官方的一键安装脚本安装的,近期搬家,系统出了问题,想要重新安装一下,发现单纯的停止删除 docker 是不行的,因为删除了会自动再安装上,经过一顿谷歌,找到如下教程...
MAC外接屏幕亮度调节工具——BrightnessE
该软件是远景一位大佬自制自用的软件,以下是大佬分享原文 自制的外置显示器亮度调节工具——BrightnessE-远景论坛-微软极客社区 https://bbs.pcbeta.com/viewt
Mac 自带 terminal 记住账号密码连接 linux 服务器
不喜欢装太多功能重复的软件,无奈 Mac 自带的 Terminal 又不好用,其他的还能忍,主要是每次连接服务器都得手敲,麻烦,百度到下面三种方法,可以直接连接服务器,记录一下 # 方法一 自带
[python] 免费视频床源码:语雀 HLS 解决方案
从字面上的意思去理解:就是将你储存的视频放在一个可以对外播放的地方。不少人可能都会明白,视频的下载跟上传都会走你的 VPS 上的流量,但是如果用别人家的外链呢? # Free-HLS 介绍 这

已有 24 条评论

    yuking 2022-10-29 08:33回复

    第一个开关做好了,但是做第二个的时候就死活连不上了,输入02182017的码 没有反应, 扫描那个二维码说 已经添加到别的家庭了。不知道大家遇到这个问题没???难不成只能用一个??

      WangTwoThree管理2022-11-10 21:38回复

      我这里添加第二个跟添加第一个中间隔的时间有点长,好像没发现这个问题,评论区有其他朋友遇到过这个问题吗,有的话说一下怎么解决的呗

    xx 2022-07-08 18:10回复

    实物图是对的
    电源正极接COM用电器接NO
    我是Windows上用乐鑫官网工具按本文配置烧写 电路图中的接法开是关 关是开 正好相反

    x 2022-07-07 10:05回复

    请问电路图是不是画错了,图片里的才对

      WangTwoThree管理2022-07-07 10:39回复

      电路图哪一块错了,能说明一下吗,我记得图片里当时也是根据电路图接的线来着

    Jeremy 2022-04-16 04:29回复

    你好 我做到刷寫完成後連接wifi 但是卻一直無法進入192.168.4.1設置頁面 手機電腦都顯示無法連線或拒絕連線 請問如何排除

      WangTwoThree管理2022-04-16 11:15回复

      你是什么系统的手机,连上 HAA- 开头的热点了吗

        Jeremy 2022-04-18 03:56回复

        我用iphone與windows筆電 皆顯示拒絕連線 連接端有拿到ip 192.168.4.2~3 也ping的到192.168.4.1 重新刷過也是一樣 換了一個ESP也是一樣狀況 電源使用豆腐頭5V1A 接上繼電器跟ESP的第一瞬間會有開關的聲音 用arduino接出的3V 則是完全沒有反應但有亮藍光

          WangTwoThree管理2022-04-18 09:29回复

          需要先想办法连接上HAA开头的wifi才可以打开4.1页面的,烧录固件的时候有报错吗?如果是正常烧录的话建议你去官方github讨论区看看有没有相同情况的,我没有遇到过你这种情况,不太清楚怎么解决了

            WangTwoThree管理2022-04-19 09:07

            解决了就好,这个可能是固件更新了吧,当时写文章的时候还不需要加端口呢

            Jeremy 2022-04-18 19:31

            後來看了git終於找到解法了 網頁要加上指定 port http://192.168.4.1:4567 這樣就可以了 謝謝

    Leo 2022-01-03 21:08回复

    你好,我是window用戶,我按著教程做到連homekit的部分但手機一直找不到配件,想請問我該怎樣找出問題?

      WangTwoThree管理2022-01-04 11:46回复

      配置没有问题的话多等待一会,或者重启几次ESP,再不行的话重新烧录一次试试

    steph 2021-12-12 16:06回复

    uploading stub...

    A fatal error occurred: Failed to write to target RAM (result was 0107: Operation timed out)
    这个错误有朋友碰到过嘛?该怎么解决。

      热心市民 2021-12-14 09:55回复

      看一下下边这个帖子能不能解决你的问题
      无法刷新 ESP32 - ESP32 论坛
      https://www.esp32.com/viewtopic.php?t=562

    菜鸟 2021-11-03 10:14回复

    刷完固件后 没有搜索到wifi

      WangTwoThree管理2021-11-03 22:18回复

      刷固件的时候有报错吗?没有报错的话断电重启一下,看看有没有 HAA- 开头的热点

    starq 2021-08-01 23:40回复

    安卓怎么接入设备?

      WangTwoThree管理2021-08-04 13:38回复

      安卓可以借助homeassistant

    fung 2021-05-29 19:46回复

    想问如果要接入家用 220V 交流电,地线应该接在哪个位置?

      WangTwoThree管理2021-06-01 13:16回复

      地线我也不知道要怎么接,对电路也不是很熟

    奇迹 2020-12-29 16:42回复

    能不能弄4路的继电器

      WangTwoThree管理2021-02-28 14:23回复

      这里有个多路的教程,可以参考一下: https://bbs.iobroker.cn/t/topic/1786

      WangTwoThree管理2021-01-04 09:20回复

      四路的需要过段时间研究一下

(首次提交评论需审核通过才会显示,请勿重复提交)