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

 找回密码
 立即注册
查看: 2563|回复: 16

[技术探讨] 求助esp-01S接入esphome

[复制链接]

2

主题

24

帖子

222

积分

中级会员

Rank: 3Rank: 3

积分
222
金钱
198
HASS币
0
发表于 2022-7-2 10:52:50 来自手机 | 显示全部楼层 |阅读模式
esp-01s的io2脚接按钮开关一角。按钮开关另一角连接3.3V。io0脚控制继电器。esphome怎么写才能使按钮开关控制继电器开关
回复

使用道具 举报

23

主题

660

帖子

3110

积分

论坛元老

Rank: 8Rank: 8

积分
3110
金钱
2450
HASS币
10
发表于 2022-7-2 11:13:51 | 显示全部楼层
output:
  - platform: gpio
    pin: 00
    id: relay1
    # inverted: True

binary_sensor:
  - platform: gpio
    pin:
      number: 02
      #mode: INPUT_PULLUP
      #inverted: True

测试下,不行就尝试把 binary_sensor 和 output的备注分开取消备注试试
回复

使用道具 举报

2

主题

24

帖子

222

积分

中级会员

Rank: 3Rank: 3

积分
222
金钱
198
HASS币
0
 楼主| 发表于 2022-7-2 12:42:59 来自手机 | 显示全部楼层
不行。INPUT_PULLUP是把IO2角内部拉高。我按钮开关是给IO2角一个高电平。物理开关还是不行
回复

使用道具 举报

17

主题

271

帖子

2847

积分

论坛DIY达人

积分
2847
金钱
2561
HASS币
60
发表于 2022-7-2 19:20:51 来自手机 | 显示全部楼层
请把按钮另一段接地
回复

使用道具 举报

17

主题

271

帖子

2847

积分

论坛DIY达人

积分
2847
金钱
2561
HASS币
60
发表于 2022-7-2 19:28:13 来自手机 | 显示全部楼层
io2本来就上拉,你再接3.3,电平完全就没变化的,肯定不会有动作
回复

使用道具 举报

2

主题

24

帖子

222

积分

中级会员

Rank: 3Rank: 3

积分
222
金钱
198
HASS币
0
 楼主| 发表于 2022-7-2 19:29:06 来自手机 | 显示全部楼层
这开关之前刷固件按钮开关可以高电平触发
回复

使用道具 举报

2

主题

24

帖子

222

积分

中级会员

Rank: 3Rank: 3

积分
222
金钱
198
HASS币
0
 楼主| 发表于 2022-7-2 19:31:24 来自手机 | 显示全部楼层
//点动模式按钮,监听按钮状态,执行相应处理 void btnHandler1() {   static bool oButtonState = false;   int state1 =  digitalRead(LED_BUILTIN_K2); //按钮状态   int state2 =  digitalRead(LED_BUILTIN_LIGHT); //灯的状态   if(state1 == HIGH )   {     if(oButtonState ){       if(state2 == YYXBC_HIGH )       {          button1_callback(BLINKER_CMD_OFF);         Serial.println("按钮对灯已执行关闭");       }else{         button1_callback(BLINKER_CMD_ON);         Serial.println("按钮对灯已执行打开");       }       oButtonState = false;     }   }else{     oButtonState = true;   } }
回复

使用道具 举报

1

主题

80

帖子

975

积分

高级会员

Rank: 4

积分
975
金钱
895
HASS币
0
发表于 2022-7-2 19:37:32 | 显示全部楼层
本帖最后由 五千万啊 于 2022-7-2 19:47 编辑

switch:
  - platform: gpio
    name: "jidianqi-1"
    id: jidianqi1
    pin:
      number: GPIO0
      inverted: true
    restore_mode: ALWAYS_OFF

binary_sensor:

        
  - platform: gpio
    pin:
      number: GPIO2
      mode: INPUT_PULLUP
      inverted: true
    name: "kaiguan"            
    id: chekukaiguan
    filters:
      - delayed_on: 100ms
    on_state:
      then:
        - switch.toggle:
            id: jidianqi1

开关要接 io2和地,on_state:就是翘板开关(会锁定高低电平)的二进制发生变化,就切换继电器的状态。如果你用的是会回弹的按钮用on_press:
回复

使用道具 举报

1

主题

80

帖子

975

积分

高级会员

Rank: 4

积分
975
金钱
895
HASS币
0
发表于 2022-7-2 19:40:33 | 显示全部楼层
但是回有一个问题, 我的是翘板开关,极端情况,翘板开关处于开的状态,刚好断电重启了,会把io2拉低,不能启动(但是继电器是开的状态)。  另外有人接到io3(rx)上面。
回复

使用道具 举报

1

主题

80

帖子

975

积分

高级会员

Rank: 4

积分
975
金钱
895
HASS币
0
发表于 2022-7-2 19:44:46 | 显示全部楼层
另外。有没有大神知道,翘板开关开就打开继电器,翘板开关关就关闭继电器的  代码。求教,
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-28 23:55 , Processed in 0.242738 second(s), 32 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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