找回密码
 立即注册

微信扫码登录

搜索
查看: 13300|回复: 15

[已解决] HumidityESP01S控制继电器 稳定性咨询 通过rules规则

[复制链接]

22

主题

497

回帖

1608

积分

金牌会员

积分
1608
金钱
1089
HASS币
10
发表于 2019-1-8 16:40:10 | 显示全部楼层 |阅读模式
本帖最后由 pigcais 于 2019-6-2 14:41 编辑

刷固件接线图
GND  ---地
GPIO2 -- 空
GPIO0 -- 地
URXD -- RXD
UTXD -- TXD
CH_PD -- 3.3v
RST -- 空
VCC -- 3.3v

gpio0和gpio2和rx(gpio1),tx(gpio3),

可能需要增加一个0.1UF的电容,目前没买回来,先做个标记

2019-1-9 13:54更新
通过rules
仅有GPIO2控制GPIO的其它端口可以正常,
esp01日志显示
GPIO 0  
GPIO 1   
GPIO 3
的Switch在不断的被触发,日志如下
19771961: WD : Uptime 330 ConnectFailures 2 FreeMem 13176
19773591: SW : State 0.00
19773594: EVENT: menci3#Switch=0.00
19776516: SW : State 0.00
19776518: EVENT: menci0#Switch=0.00
19776552: SW : State 1.00
19776555: EVENT: menci1#Switch=1.00
19783591: SW : State 0.00
19783594: EVENT: menci3#Switch=0.00
19786515: SW : State 0.00
19786518: EVENT: menci0#Switch=0.00
19786552: SW : State 1.00
19786555: EVENT: menci1#Switch=1.00
19793591: SW : State 0.00
19793594: EVENT: menci3#Switch=0.00
19796516: SW : State 0.00
19796518: EVENT: menci0#Switch=0.00
19796553: SW : State 1.00
19796556: EVENT: menci1#Switch=1.00
19801961: WD : Uptime 330 ConnectFailures 2 FreeMem 9752
19803591: SW : State 0.00
19803594: EVENT: menci3#Switch=0.00


-----------------------------------------------
2019-1-9 上午更新
最终试下来  就是两个模拟端口问题
RX TX用来控制就会出现 连-断-连  这样的情况
仅用gpio0  gpio2规则就稳定了。

看来想在86盒子用双继电器 用不了esp01了



另外,简化了rules

on menci2#Switch do
  if [menci0#Switch]=1
    gpio,0,0
  else
    gpio,0,1
  endif
endon


--------------------------------------硬件:ESP01S 刷了espeasy
双路继电器

目标:
1 手机远程或内网控制两路灯的开关状态
2 机械开关控制时:当灯亮时,按下是灭;当灯灭时,按下为亮。

实际情况:
灯不稳定,在我不去控制任何开关的情况下,灯时亮时灭。

如果晚上一个人 ,感觉家里有个无形的人存在着。。。。
画面不好往下想了。。

有前辈们碰到过类似问题,能处理吗?求解决,谢谢


_________________以下为相关配置及代码_______________
总共接了四个接口
GPIO 0 -> GPIO0
GPIO 1 -> TX
GPIO 2 -> GPIO2
GPIO 3 -> RX

共设计四个继电器
测试期间,只写了GPIO0与GPIO1的代码

.yaml代码
light:
   - platform: mqtt
     name: "Light1"
     state_topic: "/ESP01S/menci1/Switch"
     command_topic: "/ESP01S/gpio/1"
     payload_on: "0"
     payload_off: "1"
     qos: 1
     retain: true  


rules代码
on menci0#Switch=0 do
  if [menci1#Switch]=1
    gpio,1,0
  else
    gpio,1,1
  endif
endon

on menci0#Switch=1 do
  if [menci1#Switch]=1
    gpio,1,0
  else
    gpio,1,1
  endif
endon


devices.jpg
GPIO设置.png



回复

使用道具 举报

22

主题

497

回帖

1608

积分

金牌会员

积分
1608
金钱
1089
HASS币
10
 楼主| 发表于 2019-1-8 17:27:33 | 显示全部楼层
neroxps 发表于 2019-1-8 17:06
感觉是 gpio口有别的用途,程序触发了 rules。

试试换别的 gpio口

好的 我再试下,谢谢大大
回复

使用道具 举报

22

主题

497

回帖

1608

积分

金牌会员

积分
1608
金钱
1089
HASS币
10
 楼主| 发表于 2019-1-9 12:27:36 | 显示全部楼层
感谢大家 帮忙

最终试下来  就是两个模拟端口问题
RX TX用来控制就会出现 连-断-连  这样的情况
仅用gpio0  gpio2规则就稳定了。

看来想在86盒子用双继电器 用不了esp01了
回复

使用道具 举报

22

主题

497

回帖

1608

积分

金牌会员

积分
1608
金钱
1089
HASS币
10
 楼主| 发表于 2019-1-9 14:25:48 | 显示全部楼层
neroxps 发表于 2019-1-8 17:06
感觉是 gpio口有别的用途,程序触发了 rules。

试试换别的 gpio口

日志中一直在执行Switch,所以状态一直在变化


系统自动触发的日志代码
20616559: SW : State 1.00
20616561: EVENT: menci1#Switch=1.00


外部触发产生的日志代码
20620317: SW : GPIO=2 State=0 Output value=0
20620324: EVENT: menci2#Switch=0.00

像下面这种怎样通过rules来识别呢?

谢谢

回复

使用道具 举报

22

主题

497

回帖

1608

积分

金牌会员

积分
1608
金钱
1089
HASS币
10
 楼主| 发表于 2019-1-9 15:18:08 | 显示全部楼层
cnbb 发表于 2019-1-9 15:17
nodemcu8266也一样,接as312人体感应器也一样在通-断-通-断,导致一直被触发。不知道何解 ...

查下日志
回复

使用道具 举报

22

主题

497

回帖

1608

积分

金牌会员

积分
1608
金钱
1089
HASS币
10
 楼主| 发表于 2019-1-10 08:38:55 | 显示全部楼层
neroxps 发表于 2019-1-9 17:08
不知道,我没用过espeasy固件


看来也需要换个固件试下
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-15 03:21 , Processed in 0.054886 second(s), 10 queries , MemCached On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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