找回密码
 立即注册
搜索
查看: 9376|回复: 23

[技术探讨] 记录关于esp8266-01/01s控制4个继电器

[复制链接]

3

主题

26

回帖

354

积分

中级会员

积分
354
金钱
325
HASS币
0
发表于 2022-1-24 09:33:14 | 显示全部楼层 |阅读模式
本帖最后由 isIUya 于 2022-1-24 10:28 编辑

本帖子是记录贴,可以给大家参考;
本人在论坛已经白嫖好几年,从小白混到现在,感觉是时候写点东西了。
esp8266-01s(后面简称esp)控制单个继电器的教程度娘上好多,但是接4个的好像很少。

先说说思路:
1、用esphome制作bin,给esp刷入
bin
2、将esp对应的线接好
3、hass上添加esp

详细过程:
1、分析esp的引脚定义(如果你不想看原理只想要结果,直接跳过本环节):
esp的io口只有两个,不过呢,还可以用两个数据口(RX TX)当做io口使用
如果要让esp正常开机,那么上电的时候IO0(高电平)、IO2(高电平)、RX(低电平)、TX(高电平

2、esphome的代码
思路就是RX(io3)的电平要反转下,代码中各位看官要修改下wifi的名称和密码
esphome:
  name: switch
  platform: ESP8266
  board: esp01_1m

# Enable logging
logger:

# Enable Home Assistant API
api:

ota:
  password: "af7eec8e9167fd8e9960e6b4d2cb8caf"

wifi:
  ssid: "xxxx"
  password: "xxxxxxxxxxxxxxx"

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "esp-4sw"
    password: "12345678"

captive_portal:

switch:
  - platform: gpio
    name: 'sw1'
    pin: 
      number: 0
      inverted: True
  - platform: gpio
    name: 'sw2'
    pin: 
      number: 1
      inverted: True    
  - platform: gpio
    name: 'sw3'
    pin: 
      number: 2
      inverted: True 
  - platform: gpio
    name: 'sw4'
    pin: 
      number: 3
      inverted: False 

3、esp和继电器的接线
注意:继电器要选可以高低电平触发的
①继电器,第一路设置低电平触发、其他三路设置高电平触发;
②esp将RX接第一路,其他IO口随便接;
③还需要一个5v转3.3v的降压板;接线图:
Snipaste_2022-01-24_10-23-38.png
我遇到一个问题,继电器无法正常控制,但是在io2引脚串联一个1k电阻后就全部正常了,我也不懂为啥,希望大佬解答下
【我慢慢写,各位大佬有啥改进建议的可以留言







回复

使用道具 举报

0

主题

65

回帖

350

积分

中级会员

积分
350
金钱
285
HASS币
0
发表于 2023-11-15 18:41:53 | 显示全部楼层
esp8266-01/01s上电抖动弃用GPIO用RX/TX代码参考你的应该怎样改
回复

使用道具 举报

1

主题

27

回帖

462

积分

中级会员

积分
462
金钱
434
HASS币
0
发表于 2023-11-9 17:05:49 | 显示全部楼层
wshc1216 发表于 2022-1-25 03:08
4个都可以,但是要注意是拉高还是拉低,部分脚拉高或拉低会启动不了。
0脚接继电器上电的时候有几秒的触 ...

加个rc电路,延迟几毫秒
回复

使用道具 举报

1

主题

27

回帖

462

积分

中级会员

积分
462
金钱
434
HASS币
0
发表于 2023-11-9 17:03:24 | 显示全部楼层
考虑可以用iic扩展端口,或者加个8050 8550 顺着启动电平来
回复

使用道具 举报

24

主题

308

回帖

1418

积分

金牌会员

积分
1418
金钱
1086
HASS币
10
发表于 2023-9-14 16:27:54 | 显示全部楼层
16:26:51        [W]        [dht:060]       
Invalid readings! Please check your wiring (pull-up resistor, pin number) and consider manually specifying the DHT model using the model option.
我按照你的代码编译出来运行,一直有这个信息,这样会有影响吗
回复

使用道具 举报

6

主题

31

回帖

260

积分

中级会员

积分
260
金钱
223
HASS币
0
发表于 2023-3-25 10:22:31 | 显示全部楼层
chaoself 发表于 2022-1-25 16:36
找个23017,用IIC控制16个IO都没问题

23017是啥?
回复

使用道具 举报

2

主题

48

回帖

386

积分

中级会员

积分
386
金钱
336
HASS币
0
发表于 2022-4-5 18:27:03 | 显示全部楼层
本帖最后由 ebeeb 于 2022-4-5 18:33 编辑

我也是照扫用的这个,很简短哈哈哈哈
回复

使用道具 举报

3

主题

26

回帖

354

积分

中级会员

积分
354
金钱
325
HASS币
0
 楼主| 发表于 2022-1-27 23:57:20 | 显示全部楼层
d2sky 发表于 2022-1-24 10:46
简图画的很魔性,不知道你的用的什么的继电器模块,如果只是单纯的继电器,高电平触发,GPIO2不就等于被下 ...

对呀,继电器上调整触发方式
回复

使用道具 举报

3

主题

26

回帖

354

积分

中级会员

积分
354
金钱
325
HASS币
0
 楼主| 发表于 2022-1-27 23:56:15 | 显示全部楼层
wshc1216 发表于 2022-1-24 11:08
有还个问题,某些脚上电会瞬间反转,导致灯会闪一下。
以前用它接多个继电器被狠狠的坑过,现在继电器要么 ...

我倒是没有出现这个问题,我是把一个4孔的排查改了下,没有接灯具,目前使用还是挺稳定的
我用的是光耦隔离的继电器
回复

使用道具 举报

32

主题

114

回帖

1263

积分

金牌会员

积分
1263
金钱
1117
HASS币
0
发表于 2022-1-25 16:36:07 | 显示全部楼层
找个23017,用IIC控制16个IO都没问题
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian ( 晋ICP备17001384号-1 )

GMT+8, 2025-6-28 11:26 , Processed in 0.112610 second(s), 27 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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