首先说明,我的应用方案是:树莓派+homeassistant+mqtt+sonoff+8266,以及开关类和继电器类的外围。
我是向往智能家居的智能化,又参考网上各位前辈的经验,决定这样的组合方案。其原则是,低价格,不开发,上手就用。过程坑坑洼洼就不说了。直接重点放在8266-01,通过sonoff配置,连接到homeassistant。
刷机过程略过,大家可参考网上各位前辈推荐的方法。我是tb买了一个傻瓜usb转接口,插上8266,usb连上电脑就可以刷版,简单高效不折腾。刷机工具是flash_download_tools_v3.6.6.zip,地址是https://wiki.ai-thinker.com/esp_download,版本是sonoff-basic.bin。
原型试验的准备有,8266-01,8266-01转接板, 400孔 迷你小面包板长8.5CM 宽5.5CM,面包板电源可输出5v和3.3v,12v交流转直流电源,继电器relay(可高低电平触发),一包混装小电阻(主要应用到330、3.3k、10k),一堆杜邦线。以及后续实际使用的ESP多加继电器、干簧管传感器、红外传感器、微波雷达传感器,和温湿度传感器等。
开始说重点,刷机启动,配置wifi,联入自家网络之后,如何配置sonoff,如何使用8266的接口。
ESP8266-01有四个接口,除了GPIO0使用的时候比较特殊,四个接口都可以用于传感器(swtich)和继电器(Relay),而且不需要什么开发,也不需要特别的改线路,就是sonoff的配置。所以,大家即使购买的是ESP8266-01的多加继电器,同样可以接入homeassistant应用,也同样可以使用四个接口。并且,通过sonoff的不同设置,可以组合出各种接口方案。我配置的应用重点就是围绕着插座、开关等有电源的设施,加入传感器、继电器进行全家各场景的自动控制。
8266基本外围电路:1、ESP8266-01接口说明:
| | | | | | | | | | | (1)开机上电时必须为高电平,禁止硬件下拉; (2)内部默认已拉高 | | | | 工作模式选择:悬空:FlashBoot,工作模式; 下拉:UARTDownload,下载模式 | | | | | | | | | | | | 外部Reset信号,低电平复位,高电平工作(默认高) | | | | | | | | UART_TXD,发送 开机时禁止下拉 支持输入输出口 |
2、ESP8266-01的基本外围电路,参考https://www.instructables.com/id/How-to-use-the-ESP8266-01-pins
说明:GPIO0、GPIO2、CH_PD都需要接3.3k电阻拉高初始电平,即上拉。后续无论四个接口如何变化,这3个上拉电阻都不变化;各接口外引连接继电器、开关、传感器等,最好加一个330欧电阻,保护8266。
基本方案一:一个外接继电器,到GPIO2,这是最基本的应用,也是网上各教程的方案。
电路:外接继电器,in口通过330欧姆电阻接入到GPIO2口。
配置sonoff:连接好电路,上电;浏览器输入8266ip,自动进入配置页面。
1、配置MQTT:
2、配置module:这部分是重点,各种接口应用的变化都是通过module的不同而不同。
保存
保存,并点击“main menu”返回到sonoff主页
3、测试配置的结果:
点击第二个toggle2,开关状态会发生变化。
配置homeassistant
1、安装MQTT,及其运行监测。
参考:https://bbs.hassbian.com/thread-28-1-1.html
2、测试sonoff设置是否正确
树莓派执行:mosquitto_sub -t "#" -v -u (mqtt的用户名) -P (mqtt的密码) -h 树莓派服务器的ip
如果系统显示了sonoff设置的信息,说明sonoff配置正确。比如显示,
tele/sonoff/LWTOnline tele/test-switch/LWTOnline stat/test-switch/RESULT{"POWER2":"OFF"} stat/test-switch/POWER2 OFF stat/test-switch/RESULT{"POWER2":"ON"} stat/test-switch/POWER2ON
设备侧主题是:/test-switch/POWER2
如果没有显示,一般是sonoff的mqtt设置中user和password没有按照mqtt服务器的用户名和密码填写。mqtt服务器没有接收到sonoff发来的主题
3、配置homeassistant中的configuration.yaml
light: - platform: mqtt name: "测试开关" state_topic:"stat/test-switch/POWER2" command_topic:"cmnd/test-switch/POWER2" qos: 1 payload_on: "ON" payload_off: "OFF" retain: true
homeassistant重启,概览自动新增灯,即可
注意:8266-01启动需要几秒钟,过程中各GPIO口会自动检查开关状态。此时可能会影响继电器的吸合动作。该现象是正常的技术现象。
一次不写太多,免得大家看着太累。这只是一个基本的方案,只连接了一个端口。后面我会详细描述四个端口如何使用,尤其是一些特殊场景的使用。目前唯一的遗憾是,sonoff-basic.bin不支持类似DHT11温湿度传感器的应用。8266-01内存太小,不能安装其他版本。但是,由于其体积小,价格还可以,省电,作为家庭智慧家居的端口还是够用了 |