『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 6157|回复: 4

ESP8266-01的深度应用-3,三个继电器的应用

[复制链接]

19

主题

274

帖子

1948

积分

金牌会员

Rank: 6Rank: 6

积分
1948
金钱
1674
HASS币
50
发表于 2019-10-20 15:35:17 | 显示全部楼层 |阅读模式
本帖最后由 姚远 于 2019-10-27 21:08 编辑

ESP8266-01一共有4个对外接口,但四个接口接入接出的使用还有些特别。我不太知道内部结构是什么样子的,或是官方定义四个输出口的时候有什么特殊考虑。后续我只是根据自己的理解和实际测试的结果,给出相关的方案。
今天主要介绍我测试的三个继电器的输出控制。在实际测试的时候,GPIO1(TXD)不可定义为Relay(继电器)。
接线图和第一篇基础方案一样:
引自https://www.instructables.com/id/How-to-use-the-ESP8266-01-pins                我自己画的图,有点丑。注意,此方案中继电器我直接使用了3.3v
1.png                                                    14.png
我自己画的接线图,主要是自己看得比较清楚一些。有几点需要注意:GPIO0仍然需要低电平触发;GPIO1不可接继电器;继电器驱动我直接使用了3.3v,主要是为了节约空间和减少一个5v电压;8266加载后几秒内会有一次类似“测试”的精神错乱,GPIO2或是某个口的继电器可能会有一次吸合。
8266刷机,仍然是sonoff-basic.bin。
sonoff的mqtt配置比较重要,最关键是user和password,一定要和homeassistant的mqtt用户名和密码一致,否则8266的消息无法发布到homeassistant的mqtt上。其实,只要是一个网络中,一个homeassistant,你家的sonoff mqtt配置是一样的。
15.png
sonoff的module配置,这是几个接口应用的关键:
进入module,先选择Generic(0),保存,再次进入module配置,可以看到很多接口,按图选择各口选项,保存即可。
16.png
请注意,GPIO0, GPIO2, GPIO3就是我们要使用的三个输出继电器的接口;GPIO0要选择Relay1i(29),否则继电器状态和反馈到系统的状态相反;GPIO1选择None(0);其他口与8266-01无关。
此时回到sonoff配置主页面,可以看到三个Toggle。分别点击各个Toggle,继电器应该有相应的动作。这说明8266的sonoff已经配置好了。
看看sonoff是否正确地与homeassistant的mqtt通讯,并看看每个继电器对应的mqtt消息内容:

树莓派执行:mosquitto_sub -t "#" -v -u (mqtt的用户名) -P (mqtt的密码) -h 树莓派服务器的ip
如果系统显示了sonoff设置的信息,说明sonoff配置正确。比如显示,
tele/sonoff/LWTOnline
tele/test-switch/LWTOnline
stat/test-switch/RESULT{"OWER2":"OFF"}
stat/test-switch/POWER2 OFF
stat/test-switch/RESULT{"OWER2":"ON"}
stat/test-switch/POWER2ON

设备侧主题是:/test-switch/POWER2

在sonoff主页分别点击每个Toggle,并记录下树莓派中对应的消息,这些消息将在homeassistant的configuration.yaml中使用。

配置homeassistant的configuration.yaml
light:
  - platform: mqtt
    name: "测试开关GPIO0"
    state_topic: "stat/swtich-test/POWER1"
    command_topic: "cmnd/swtich-test/POWER1"
    qos: 1
    payload_on: "ON"
    payload_off: "OFF"
    retain: true
  - platform: mqtt
    name: "测试开关gpio3"
    state_topic: "stat/swtich-test/POWER2"
    command_topic: "cmnd/swtich-test/POWER2"
    qos: 1
    payload_on: "ON"
    payload_off: "OFF"
    retain: true
  - platform: mqtt
    name: "测试开关gpio2"
    state_topic: "stat/swtich-test/POWER3"
    command_topic: "cmnd/swtich-test/POWER3"
    qos: 1
    payload_on: "ON"
    payload_off: "OFF"
    retain: true
重启homeassistant,概览会显示出三个灯
17.png
在homeassistant概览中分别点击各个灯,进行开或关控制,此时
树莓派的mqtt监测会显示向8266侧发布的消息;同时,8266sonoff主页的开关状态会发生变化;并且,继电器也会进行动作。这样可以直观的理解,homeassistant的mqtt服务器发布指令,8266sonoff通过mqtt接受指令,8266sonoff驱动接口输出高或低电平,继电器动作,这样一整套机制。
注意:系统通过mqtt控制继电器有记忆功能。即使是8266没有上电,当其上电后会驱动继电器按照最近一次系统给出的开关指令,自动控制继电器。
上张成果图:
18.jpg
使用树莓派作为全家控制中心,还是有点大材小用。我最近准备把魔镜也放到这个树莓派上来。把镜子放在入户处,树莓派藏在镜子后面。这样家庭中心就可以让家人看得见,摸得到了
回复

使用道具 举报

6

主题

95

帖子

1199

积分

金牌会员

Rank: 6Rank: 6

积分
1199
金钱
1104
HASS币
0
发表于 2019-10-21 19:25:27 | 显示全部楼层
牛人,膜拜!!!!!!!
回复

使用道具 举报

0

主题

85

帖子

2442

积分

金牌会员

Rank: 6Rank: 6

积分
2442
金钱
2357
HASS币
0
发表于 2019-10-22 11:01:21 | 显示全部楼层
谢谢楼主,这个很实用
回复

使用道具 举报

1

主题

35

帖子

274

积分

中级会员

Rank: 3Rank: 3

积分
274
金钱
239
HASS币
0
发表于 2019-10-26 00:25:50 | 显示全部楼层
厉害了,弄些来试试
回复

使用道具 举报

0

主题

21

帖子

138

积分

注册会员

Rank: 2

积分
138
金钱
117
HASS币
0
发表于 2023-10-13 23:03:14 | 显示全部楼层
断电再上电开不开网页,怎么解决?不连接继电器上电就能打开网页
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-26 16:23 , Processed in 0.165427 second(s), 29 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表