智能家居篇-3:ESP-01/01S 接入HomeAssistant,实现Siri控制

3294528894_o.png

前言

  ESP-01/01S应该是目前最便宜的ESP8266系列模块了。在未涨价之前,单个模块价格在3-4块之间,不知为啥现在都涨价了= =、现在价格在6-8块之间,安信可官方店里卖10块,加上一个继电器模块,总价在10-15块之间。

902213720.png
(ESP01/01S模块)

902213757.png
(ESP01/01S + 继电器 模块)

也就是说:通过研读本篇文章,你只需花3-4瓶快乐水的钱,即可让你桌面上的台灯接入HomeAssistant,实现APP or Siri 智能控制。如果换成是现成的设备呢?

902214136.png
(HomeKit认证的插座 288块,够我买半年快乐水了,打扰了...)

902214222.png
(小米米家插座,49块)

这么一看,小米是真的很良心啊!确实,价格屠夫嘛,可是米家设备闭源,不支持开放协议,虽然也可以通过米家Aqara二代网关接入,但是,二代网关多少钱?比我半年快乐水还多23333...


好了进入正题,本片文章讲的是如何使用ESP01/01S通过刷ESPHome固件接入HomeAssistant 的过程,可能会比较长,但是比较简单,跟着教程基本能100%实现。本篇文章会分两个部分,第一部分为ESPHome固件的编译与烧录;第二部分为ESPHome设备添加到HomeAssistant实现智能控制。

第一部分

第一步:准备工作

准备材料、工具、环境:

  • 准备材料:ESP01/01S(注意:这是两个不同的模块,01和01S都可以),继电器模块。可以直接买上面一套的那种,10.2 元的,还需要有一个烧录工具
  • 工具:小螺丝刀,烧录工具,杜邦线等
  • 环境:HomeAssistant ,ESPHome 环境,参考前两篇连载文章;

902221007.png
(需使用到的模块)

最右边的是一个烧录工具,它与上面我提供的链接里的不一样,但是功能是一样的。提供链接里的烧录器不需要上电GPIO-0拉高,但我图中的这种是需要拉高,才能进去烧录模式。


第二步:添加ESPHome硬件

在局域网内,打开ESPHome管理界面,浏览器输入群晖IP:6052,打开主界面。点击右上角加号,开始添加设备的操作

1、在第一栏输入设备名称,可以自定义,只能由小写字母,不能大写字母开头,可以使用下划线、拼音,不遵循驼峰命名法则,写好之后点击蓝色按钮CONITNUE

902222115.png

2、设备类型选择:Generic ESP8266即默认的就可以。点击CONITNUE

902222357.png

3、输入Wifi信息,注意:ESP8266 只支持2.4G wifi,不支持5G wifi,请不要搞错了。OTA & HA 连接密码,我这里填的是1,这里需要记住,后面要用到。

wifipsw.png

4、输入完成之后,最后一步点击SUBMIT即可完成对设备的初步设定。
902222640.png


第三步:编写配置文件代码

这是关键的一步,在这里你需要通过编写一些配置代码,实现对这个设备的控制,一些简单的控制逻辑、传感器算法也是在这里配置的。不会很难,很简单的 = =、

902224453.png

回到ESPHome配置界面,找到刚刚新建出来的switch硬件,点击②EDIT 进入编辑,代码如下:

为防止爬虫恶意采集,此处内容需要评论回复后方可阅读。


第四步:校验-编译-下载

.yaml配置文件对空格、换行敏感,请特别注意!编写好了之后,点击右下角SAVE,然后点击④VALIDATE 检查一下配置文件有没有错误,如下图,出现右上角标志,表示配置文件没有错误,能通过校验。

902230852.png

通过校验之后,点击CLOSE关闭校验窗口,回到主界面,点击switch右上角三个点,弹出来选择Compile开始编译固件,大概需要3-5分钟即可完成编译。

902232232.png
(开始编译)

902232501.png
(编译成功)

然后点击DOWNLOAD BINARY将固件下载到桌面。

2019.9.4,接着更...

上面编译完成的固件下载保存到桌面之后之后,就需要通过下载工具烧录到ESP01/01S中了。

第五步:烧录固件

烧录软件点击下面链接获取

复制地址到浏览器打开:http://www.codess-yun.top:6860/index.php?share/file&user=1&sid=mZRfKghx

提取密码:EkEe9

或者Github下载:下载工具

首先,把ESP01/01S接上烧录工具,注意方向,否则直接烧报废,还有GPIO0需要拉低才能进入擦除Flash模式,也就是:拉低GPIO0再插入电脑USB

905223706.png
(烧录成功)


第六步:接入HomeAssistant

让ESP插上继电器模块接入5v电源,注意:ESP01/01S模块的CH_PD引脚需要拉高至VCC才能正常工作!,如下图:

905232320.png
(这里是为了演示引脚接法,实际使用中请不要直接使用焊锡飞线)

稍等一会儿在路由器管理界面就能看到接入的ESP设备,地址就是上面配置文件中你设置的地址,在这里就能测试继电器模块是否能正常工作,能显示这个界面,肯定是能工作的。

905231755.png
(WEB管理界面,也可以在这里进行固件的升级)

然后打开 HomeAssistant管理界面,配置-Server Control ,重启一下服务,稍等一会儿,再刷新一下就能看到一个新设备了。

905233358.png

按照步骤添加就行了

905233504.png

下面的是你设置的连接HA密码,我设的是1;
905233530.png

然后,在主界面,点击右上角三个点,“未使用的实体” 就能发现你刚添加的继电器了,然后“配置UI” — “原始UI编辑器” 加上下面的卡片代码:


      - entities:
          - switch.test_switch_relay
        show_header_toggle: false
        theme: default
        title: 测试房间
        type: entities

(注意:这里只是一张自定义卡片,请严格遵循缩进)

卡片示意图:

905235118.png

打开HomeAssistant APP 和 Apple家庭应用:

090611262320_0IMG_0357.png

自动添加,完美~

此时呼唤一句:嘿~ Siri,打开“测试开关”试试?

到了这里,台灯的智能改造已经完成95%了,至于后面怎么接入、改造台灯部分,那就自己发挥啦,强电一定要注意安全哦。

这篇教程终于写完了,难倒是不难,可是写教程真的非常耗费时间啊啊啊....

下一篇:ESP01/01S + WS2812,RGB灯带接入HomeAssistant,打造一个超炫的氛围灯~

最后修改:2019 年 10 月 14 日 04 : 57 PM
您的支持就是我持续更新的动力!

41 条评论

  1. Jam

    Thank you!!

  2. hank

    学习

  3. hrcuan

    谢谢博主辛苦出教程。

  4. hrcuan

    谢谢分享,好好学习学习。

  5. wlc

    谢谢博主分享~我正在搞这个模块

  6. 打酱油的

    学习一下 感谢博主分享

  7. 叮当宇
    该评论仅登录用户及评论双方可见
    1. Sakwe
      @叮当宇
      该评论仅登录用户及评论双方可见
  8. 李某人

    学习中,多谢

    1. 李某人
      @李某人

      学习使我进步

  9. tomdf01

    谢谢博主分享~我正在学习搞这个模块

  10. hank

    学习学习

  11. pride

    我想看看代码

  12. jgadlk

    楼主很赞!

  13. shkgkdj

    谢谢了。

  14. sam

    11111

  15. yyyy

    多谢博主

  16. spirit

    学习一下怎么接入

  17. 123

    嘤嘤嘤

  18. 依琼

    博主你好,我刷好了 home assistant里面也弄好了 ,怎么把他弄到苹果的家庭app里,(我原来有其他的接入ha的设备,已经添加到苹果app了,现在又增加了这个设备,该怎么弄到app里啊,)

    1. Sakwe
      @依琼

      如果原来就有的话,应该可以自动发现的,不需额外添加

  19. k19

    刚刚选中8258....等着写入了

  20. k19

    8266和8285有区别吗 这个能不能往8285里烧录

    1. Sakwe
      @k19

      有区别,不能乱烧,设备类型选择那里不能选择:Generic ESP8266,得选择其他

  21. 依琼贰佰

    我说怎么看不到代码,博主能搞个易微联的单火模块吗,搞了几天搞不定啊

    1. Sakwe
      @依琼贰佰

      没用的,即使刷了也不能使用,易微联服务器会验证芯片ID,把官方固件刷到普通8266上无法通过服务器ID校验,建议放弃

  22. 王大锤

    (๑•̀ㅁ•́ฅ)感谢分享

  23. sam

    谢谢博主分享~我正在搞这个模块

  24. JunYan

    上面那个ESPHome管理界面,我看到有个upload,可不可以直接在这个界面点击这个upload直接把固件上传到esp01上?

    1. Sakwe
      @JunYan

      可以,但是仅限于设备已经连接过了的情况,第一次烧录还是需要工具的,后面更改了程序后就可以直接通过OTA 方式升级

  25. ymdz

    请问一下我加入这句
    web_server:
    port: 80
    就出问题,没这句就可以

    1. Sakwe
      @ymdz

      看看是不是空格没注意,web_server: 后有空格再回车,另起一行后两个空格,port: 空格,再80

      1. ymdz
        @Sakwe

        还是出错
        collect2: error: ld returned 1 exit status
        *** [.pioenvs/switch/firmware.elf] Error 1

        1. Sakwe
          @ymdz

          直接复制粘贴我上面写的代码也会出错么?

          1. ymdz
            @Sakwe

            是的,直接复制还是出错

            1. Sakwe
              @ymdz

              不会吧 = =、这就是我的配置代码呢,我把它传到云盘,你自己下载一下看看,共享地址: http://www.codess-yun.top:6860/index.php?share/file&user=1&sid=Zk3NHed2 提取密码:slTeo

      2. ymdz
        @Sakwe

        感谢大佬 的回复,感动,我在去试试

  26. lwq

    正好在做这方面的

  27. ymdz

    谢谢博主分享~我正在搞这个模块

  28. cyqand

    正在学习,多谢博主

  29. weiwei

    谢谢博主分享~我正在搞这个模块

发表评论

为了博客更好地生产内容,请将本站加入广告屏蔽插件的白名单,感谢您的支持。 具体方法
X