Защита от протечек

Мои поделки
TechMike
Site Admin
Сообщения: 227
Зарегистрирован: Вт окт 06, 2009 3:37 pm
Контактная информация:

Re: Защита от протечек

Сообщение TechMike »

Хорошее и понятное описание как пользоваться пинами esp01 и как с ними работать: http://www.forward.com.au/pfod/ESP8266/ ... magic.html
TechMike
Site Admin
Сообщения: 227
Зарегистрирован: Вт окт 06, 2009 3:37 pm
Контактная информация:

Re: Защита от протечек

Сообщение TechMike »

Прошивка eps01s переведена на ESPHome, так работает стабильнее и нативно интегрируется в HA:
PLATFORM: Espressif 8266 (3.2.0) > Espressif Generic ESP8266 ESP-01 1M
HARDWARE: ESP8266 80MHz, 80KB RAM, 1MB Flash
PACKAGES:
- framework-arduinoespressif8266 @ 3.30002.0 (3.0.2)
- tool-esptool @ 1.413.0 (4.13)
- toolchain-xtensa @ 2.100300.210717 (10.3.0)

Конфиг:

Код: Выделить всё

esphome:
  name: water-alarm-tualet

esp8266:
  board: esp01_1m

wifi:
  ssid: "ваш ssid"
  password: "ваш пароль к wifi"
  reboot_timeout: 30s

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Mike Esphome Fallback Hotspot"
    password: "9S"

web_server:
  port: 80
   
# создаем датчик, который следит за появлением нуля на пине, что означает срабатывание датчика протечки
binary_sensor:
  - platform: gpio
    id: id_water_alarm_tualet
    name: "water alarm tualet pin"
    pin:
      number: GPIO0
      inverted: true
      mode:
        input: true
        pullup: true

# создаем датчик (только как выход по отношению к GPIO) только для управлением пищалкой (бузером)      
output: 
  - platform: gpio
    id: id_active_buzzer
    pin:
      number: GPIO2
      inverted: true

# создаем "таймер" выполняющийся всегда с заданным интервалом. Используется именно он, т.к. остальные реализации это либо с помощью глобального времени синхронизируемого по ntp или блокирующий delay
interval:
  - interval: 5s
    then:
      - logger.log: "Interval 5s executing"
      - if: # если сработал датчик протечки, то пищим прерывисто
          condition: 
            binary_sensor.is_on: id_water_alarm_tualet
          then:
            - logger.log: "Biip"
            - output.turn_on: id_active_buzzer
            - delay: 500ms
            - output.turn_off: id_active_buzzer
            - delay: 500ms
            - output.turn_on: id_active_buzzer
            - delay: 500ms
            - output.turn_off: id_active_buzzer
            - delay: 500ms
            - output.turn_on: id_active_buzzer
            - delay: 500ms
            - output.turn_off: id_active_buzzer
            - logger.log: "Biiiiiiiip"
          else:
            - output.turn_off: id_active_buzzer

captive_portal:

# Enable logging
logger:
#   level: DEBUG
   
# Enable Home Assistant API
api:
  reboot_timeout: 0s
  
ota:
Компилиться в такое:
RAM: [==== ] 40.4% (used 33084 bytes from 81920 bytes)
Flash: [==== ] 40.9% (used 418633 bytes from 1023984 bytes)
Ответить