Sterowanie Bramą i Furtką poprzez moduł esp32 i czytnik R503

W końcu skończyłem robić bramę, pospawane, pomalowane więc nadszedł czas żeby dodać elektronikę.
Zdecydowałem, że chce przy bramie czytnik linii papilarnych, abym mógł uruchamiać różne funkcje każdym palcem, podjeżdżając pod dom, nie potrzebuję klucza, pamiętać pinu, po prostu przykładam palec i wchodzę.

W słupku furtki zamontowałem
elektrozaczep
image

dzwonek arlo,

czytnik lini papilarnych R503 z lm1117 3,3v
można zapisać 200 palców w tym czytniku

i przycisk chwilowy z podświetleniem led od strony podwórka.
dfgdrgrtr

Do słupka idzie przewód 7x1

  1. 5v dc do lm1117 3,3 do czytnika i dla czujników jakie chce jeszcze dodać. np. dopplera
  2. 5v dc gnd
  3. 12v dc elektrozamek po przekaźniku
  4. 12v dc gnd
  5. 24v ac arlo
  6. 24v ac gnd
  7. 5v dc do podświetlenia guzika led po przekaźniku

idzie również skrętka

  1. r503
  2. r503
  3. r503
  4. guzik
  5. kontaktron
      1. jeszcze wolne

Trochę sie nagimnastykowałem żeby to w słupku poprzeciągać


Ale wyszło bardzo fajnie, beż żadnych puszek itp.

Rozdzielnia z elektroniką jest w budynku, kupiłem większą niż potrzebowałem, ale w trakcie wyszło że jeszcze chce tam coś wsadzić i wyszło prawie na styk.

w skrzynce jest:

bezpiecznik 6A
transformator 24v ac
zasilacz 12v dc
zasilacz 5v dc
zasilacz 12v do kamer
3x przekaźniki po 4
nano router TP-link
Mercusys MS108 switch x8
moduł led 2 diodowy
dht11 temeratura i wilgotność w skrzynce
przełącznik rtęciowy na pokrywie

i najważniejsze ESP32 :slight_smile:

początkowo był esp8266, ale chciałem bluetooth i później podłączyć ethernet a esphome wpiera tylko esp32

Wszystko upakowałem do rozdzielni, uchwyty na szyny, wago, przekaźniki, esp, router i switch wydrukowałem.

jeszcze muszę ogarnąć ładnie przewody :stuck_out_tongue:

dodałem kontaktron do bramy i beznapięciowy przekaźnik do centrali bramy z siłownikami super jack które już wcześniej zainstalowałem.

Dodatkowo puściłem skrętkę do skrzynki pocztowej, dodałem kontaktron co by mnie powiadamiało i zamontowałem elektrozaczep
image

Dzięki temu mogę również bez kluczą ją otwierać.
Ogólnie wszystko dla tego że mam problem z noszeniem kluczy :slight_smile:

Czyli autonomicznie podstawowa funkcjonalność działa bez HA
jednym palcem otwieram furtkę, drugim bramę a trzecim skrzynkę na listy.

ESPHome wygląda tak:

esphome:
  name: brama
  platform: ESP32
  board: nodemcu-32s

logger:

wifi:
  ssid: 
  password: 

    
captive_portal:

web_server:
 port: 80
 
esp32_ble_tracker:

binary_sensor:
  - platform: gpio
    pin:
      number: GPIO15
      mode: INPUT_PULLUP
      inverted: true
    name: "Guzik furtki"
    on_press:
      then:
        - switch.turn_on: furtka
  - platform: gpio
    pin:
      number: GPIO19
      mode: INPUT_PULLUP
      inverted: true
    name: "czujnik pokrywy"
    on_press:
      then:
        - switch.turn_on: swiatloskrzynka
    on_release:
      then:
        - switch.turn_off: swiatloskrzynka
    filters:
      - delayed_on_off: 100ms

  - platform: gpio
    pin:
      number: GPIO4
      mode: INPUT_PULLUP
      inverted: true
    name: "kontaktron furtki"

  - platform: gpio
    pin:
      number: GPIO26
      mode: INPUT_PULLUP
      inverted: true
    name: "kontaktron bramy" 

  - platform: gpio
    pin:
      number: GPIO33
      mode: INPUT_PULLUP
      inverted: true
    name: "kontaktron skrzynka na listy" 

  - platform: ble_presence
    mac_address: C4:9D:60:67:B4:DB
    name: " opaska BLE Presence"

            
switch:
  - platform: gpio
    pin: GPIO13
    id: furtka
    name: "Furtka"
    inverted: true
    on_turn_on:
    - delay: 50ms
    - switch.turn_off: furtka
    
  - platform: gpio
    pin: GPIO12
    id: guzikled
    name: "Podswietlenie Guzika Furtka"
    inverted: true

  - platform: gpio
    pin: GPIO14
    id: brama
    name: "Brama"
    inverted: true
    on_turn_on:
    - delay: 50ms
    - switch.turn_off: brama

  - platform: gpio
    pin: GPIO27
    id: swiatloskrzynka
    name: "Światło skrzynka"
    inverted: true

  - platform: gpio
    pin: GPIO25
    id: skrzynkanalisty
    name: "Skrzynka na listy"
    inverted: true
    on_turn_on:
    - delay: 5s
    - switch.turn_off: skrzynkanalisty

    
mqtt:
  broker: 192.168.100.100
  
  
uart:
  tx_pin: GPIO17
  rx_pin: GPIO16
  baud_rate: 57600

fingerprint_grow:
  sensing_pin: GPIO21
  on_finger_scan_matched:
    - lambda: |-
        if (finger_id == 10) {
          id(fingerprint_username).publish_state("Bartek10");
          id(furtka).turn_on();
        } else if (finger_id == 17) {
          id(fingerprint_username).publish_state("Bartek17");
          id(brama).turn_on();
        } else if (finger_id == 18) {
          id(fingerprint_username).publish_state("Bartek18");
          id(skrzynkanalisty).turn_on();
        } else {
          id(fingerprint_username).publish_state("Unknown");

        };
    - fingerprint_grow.aura_led_control:
        state: BREATHING
        speed: 200
        color: BLUE
        count: 1
    - text_sensor.template.publish:
        id: fingerprint_state
        state: "Authorized finger"
    - delay: 3s
    - text_sensor.template.publish:
        id: fingerprint_state
        state: "Scan your finger"
  on_finger_scan_unmatched:
    - fingerprint_grow.aura_led_control:
        state: FLASHING
        speed: 25
        color: RED
        count: 2
    - text_sensor.template.publish:
        id: fingerprint_state
        state: "Unauthorized finger"
    - delay: 3s
    - text_sensor.template.publish:
        id: fingerprint_state
        state: "Scan your finger"
  on_enrollment_scan:
    - fingerprint_grow.aura_led_control:
        state: FLASHING
        speed: 25
        color: BLUE
        count: 2
    - fingerprint_grow.aura_led_control:
        state: ALWAYS_ON
        speed: 0
        color: PURPLE
        count: 0
    - text_sensor.template.publish:
        id: fingerprint_state
        state: "Finger scanned"
  on_enrollment_done:
    - fingerprint_grow.aura_led_control:
        state: BREATHING
        speed: 100
        color: BLUE
        count: 2
    - text_sensor.template.publish:
        id: fingerprint_state
        state: "Enrolled fingerprint"
  on_enrollment_failed:
    - fingerprint_grow.aura_led_control:
        state: FLASHING
        speed: 25
        color: RED
        count: 4
    - text_sensor.template.publish:
        id: fingerprint_state
        state: "Failed to enroll fingerprint"

text_sensor:
  - platform: template
    id: fingerprint_state
    name: "Garage Fingerprint State"
    
  - platform: template
    id:       fingerprint_username
    name:     "Who Scanned Last"
    
sensor:
  - platform: fingerprint_grow
    fingerprint_count:
      name: "Garage Fingerprint Count"
    last_finger_id:
      name: "Garage Fingerprint Last Finger ID"
    last_confidence:
      name: "Garage Fingerprint Last Confidence"
    status:
      name: "Garage Fingerprint Status"
    capacity:
      name: "Garage Fingerprint Capacity"
    security_level:
      name: "Garage Fingerprint Security Level"
  - platform: wifi_signal
    name: "WiFi Signal Sensor"
    update_interval: 60s      
 
  - platform: dht
    pin: GPIO5
    temperature:
      name: "skrzynka Temperature"
    humidity:
      name: "skrzynka Humidity"
    update_interval: 60s
    
  - platform: xiaomi_hhccjcy01
    mac_address: C4:7C:8D:6C:B9:6D
    temperature:
      name: "Xiaomi MiFlora Temperatura"
    moisture:
      name: "Xiaomi MiFlora Wilgoć"
    illuminance:
      name: "Xiaomi MiFlora Nasłonecznienie"
    conductivity:
      name: "Xiaomi MiFlora Żyzność"
    battery_level:
      name: "Xiaomi MiFlora Battery Level"

    
api:
  services:
  - service: enroll
    variables:
      finger_id: int
      num_scans: int
    then:
      - fingerprint_grow.enroll:
          finger_id: !lambda 'return finger_id;'
          num_scans: !lambda 'return num_scans;'
  - service: cancel_enroll
    then:
      - fingerprint_grow.cancel_enroll:
  - service: delete
    variables:
      finger_id: int
    then:
      - fingerprint_grow.delete:
          finger_id: !lambda 'return finger_id;'
  - service: delete_all
    then:
      - fingerprint_grow.delete_all:

Trochę się natrudziłem z kodem jak zrobić dla każdego palca osobno bo nie jestem programistą, w necie znalazłem tylko automatyzacje z HA, a chciałem aby podstawowa funkcjonalność była na płytce, działająca niezależnie.
Teraz dodatkowe automatyzacje np. włączenie wszystkich świateł w ogrodzie, wyłączenie wszystkiego w domu, włączenie alarmu, mogę sobie zrobić w NR / HA.

W HA wszystko jest:
ytjyjydtyu

Jeszcze coś tam muszę poprawić, podłączyć halogeny, lampy, jakieś czujniki ruchu itp.

Trochę mi to zajęło ale działa… tak jak chciałem :slight_smile:

15 polubień

Ekstra robota! Mam kilka pytań:

Dzwonek jakoś się integruje z AI?
Co to za elektromagnes do skrzynki na listy?
Masz jakąś detekcje listów?
Jak sie spisuje ten czujnik odcików palcy?

I ostatnie FENOMENALNA TABLICZKA o psie itp! Skąd taka zdobyć?

Cześć

Jest integracja - aarlo

Elektrozamek to coś takiego: https://allegro.pl/oferta/elektromagnetyczny-zamek-magnetyczny-do-drzwi-13578212479?utm_medium=afiliacja&utm_source=ctr&utm_campaign=84a5765b-bd8c-43a2-8550-df1dae15cd69#

Tak. Zwykły kontaktron i neodym na pokrywie
https://allegro.pl/oferta/kontaktron-czujnik-otwarcia-drzwi-okna-mc-38-11716292819?utm_medium=afiliacja&utm_source=ctr&utm_campaign=63148733-e554-47fa-9153-d07e48dab459#

Elegancko, cały czas działa. Jedynie dobrze gdyby był w obudowie żeby nie padało na niego, jak jest mokry to “czujnik” zbliżenia cały czas myśli że palec dotknął i wpada w pętle procesu skanowania. Trzeba wtedy chwilę dłużej przytrzymac.

Nie było takiej jak potrzebowałem więc sam zrobiłem projekt i wykonałem rozmiar 200x80 w firmie od tabliczek, jeszcze na shopee. W tej firmie zamówiłem

1 polubienie

Możesz się nim podzielić? O ile oczywiście jesteś skłonny do takiego udostęnienia (nie mam psa, ale taki format pewnie się przyda wielu innym).

Masz np. jakieś konto na githubie ze swoimi projektami?

:slight_smile: nie ma problemu
TABLICZKA PIES.pdf (31,7 KB)

Jak byś potrzebował co innego to mogę pomóc, jestem z branży graficznej :stuck_out_tongue:

3 polubienia

Nie masz może w PSD? :stuck_out_tongue:

Jak ktoś dzwoni dostajesz powiadomienie ze zdjęciem czy coś?

Jaki to model?

ten PDF jest wektorowy, możesz go zaimportowac do photoshopa, a najlepiej do illustratora

Jak ktoś dzwoni to normalnie jest jak by ktoś dzwonił na mój telefon i włącza się kamera
Tutaj pisałem o nim:

to jeszcze p[odrzuć większe zdjęcie skrzynki pocztowej :wink: albo model xD

Skrzynka? to zwykła skrzynka, na allegro dawno temu kupiłem. Jest pełno modeli, coś na pewno sobie dobierzesz