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

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

[新奇玩法] ESP8266加ESP01S 继电器模块做看门狗

[复制链接]

8

主题

66

帖子

907

积分

高级会员

Rank: 4

积分
907
金钱
841
HASS币
0
发表于 2024-5-30 23:24:25 | 显示全部楼层 |阅读模式
本帖最后由 xiongmx 于 2024-5-30 23:25 编辑

淘里面的看门狗太贵了,不划算,而且大部分都是直流的,既然ESP8266加ESP01S的继电器可以直接控制220V的电路,用来做看门狗再合适不过了。
经验全是在这里学到的,对于有不稳定设备的人来说比较有用,比如说垃圾软路由,根据PING来判断设备是否死机并断电上电实现重启。不废话,上ESPHOME的代码

globals:
  - id: should_check
    type: bool
    restore_value: no
    initial_value: 'true'

substitutions:
  my_name: kan_men_gou
  cn_name: "看门狗"
  my_icon: "mdi:dog"
  my_ip: 192.168.1.152

esphome:
  name: ${my_name}
  platform: ESP8266
  board: esp01_1m
  libraries:
    - ESP8266WiFi
    - https://github.com/akaJes/AsyncPing#95ac7e4

switch:
  - platform: gpio
    name: ${cn_name}
    icon: ${my_icon}
    id: ${my_name}
    pin: GPIO0
    inverted: yes
    restore_mode: ALWAYS_ON

captive_portal:

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: !secret api_key

ota:
  password: !secret ota_password

# web_server:
#   port: 80

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: !secret Fallback_ssid
    password: !secret Fallback_password
   
  use_address: ${my_ip}

external_components:
  - source:
      type: git
      url: https://github.com/trombik/esphome-component-ping
      ref: main

sensor:
  - platform: ping  
    ip_address: 192.168.1.88 # 目标IP地址
    num_attempts: 18 # 发送数据包数量。默认:13(最小=1, 最大=60)
    timeout: 3sec # 数据包发送间隔。
    loss:
      name: 丢包率
      id: packet_loss
    latency:
      name: 延迟
      accuracy_decimals: 3
    update_interval: 60s

interval:
  - interval: 1min
    then:
      - if:
          condition:
            and:
              - sensor.in_range:
                  id: packet_loss
                  above: 99.9
              - lambda: 'return id(should_check);'
          then:
            - switch.turn_off: ${my_name}
            - delay: 5s
            - switch.turn_on: ${my_name}
            - globals.set:
                id: should_check
                value: 'false'
            - delay: 5min
            - globals.set:
                id: should_check
                value: 'true'

回复

使用道具 举报

1

主题

103

帖子

676

积分

高级会员

Rank: 4

积分
676
金钱
573
HASS币
0
发表于 2024-5-31 09:16:19 | 显示全部楼层
这个有点意思
回复

使用道具 举报

1

主题

46

帖子

315

积分

中级会员

Rank: 3Rank: 3

积分
315
金钱
269
HASS币
0
发表于 2024-5-31 10:49:11 | 显示全部楼层
这个可以有哈,不错 对容易死机的设备还是有用的
回复

使用道具 举报

146

主题

2267

帖子

7004

积分

元老级技术达人

积分
7004
金钱
4732
HASS币
30
发表于 2024-5-31 11:54:25 | 显示全部楼层
看门狗你是用什么设备做的,esp32cam?
回复

使用道具 举报

15

主题

406

帖子

2732

积分

金牌会员

Rank: 6Rank: 6

积分
2732
金钱
2326
HASS币
0
发表于 2024-5-31 13:46:12 | 显示全部楼层
bugensui 发表于 2024-5-31 11:54
看门狗你是用什么设备做的,esp32cam?

他用ESP01S繼電器  那沒意外的話也是用ESP01S
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-25 00:45 , Processed in 0.049596 second(s), 26 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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