Cuprins:

Controlați poarta glisantă automată cu Home Assistant și ESPHome: 5 pași (cu imagini)
Controlați poarta glisantă automată cu Home Assistant și ESPHome: 5 pași (cu imagini)

Video: Controlați poarta glisantă automată cu Home Assistant și ESPHome: 5 pași (cu imagini)

Video: Controlați poarta glisantă automată cu Home Assistant și ESPHome: 5 pași (cu imagini)
Video: The Magic Behind WAN Networking: Exploring OSI's Layer 2 2024, Iunie
Anonim
Controlați-vă poarta glisantă automată cu Home Assistant și ESPHome
Controlați-vă poarta glisantă automată cu Home Assistant și ESPHome

Următorul articol este un feedback despre experiența mea personală controlând poarta glisantă automată pe care o instalasem pe casa mea. Această poartă, marca „V2 Alfariss”, a fost prevăzută cu câteva telecomenzi Phox V2 pentru a o controla. Am, de asemenea, o sonerie Google Nest Hello, care, din păcate, nu poate fi conectată la controlerul porții glisante pentru a deschide de la distanță poarta din aplicația mobilă. Pentru mine, o modalitate de a rezolva această limitare a fost să găsesc o modalitate de a conecta controlerul automat al porții glisante la Internet. Cu această poartă nouă, conectată, pot răspunde la cazuri de utilizare precum controlul porții glisante cu telefonul meu mobil. Am realizat acest lucru folosind Home Assistant, ESPhome și câteva componente electronice.

Ideea din spatele acestui articol nu este să vă oferim ceva gata de utilizare, ci mai degrabă să vă inspirăm. Amintiți-vă, dacă nu aveți exact aceeași poartă automată, nu uitați să descărcați și să citiți documentația tehnică pentru modelul dvs. Adaptează-l și îmbunătățește-l. Avertisment: Aveți grijă și nu uitați să opriți alimentarea electrică înainte de a deschide controlerul principal. Bucurați-vă!

Provizii

  • Instrumente:

    • Șurubelniță
    • Ciocan de lipit
    • Multimetru
  • Părți:

    • Raspberry PI 3 (set complet: 2A alim + card SD de 32 GB)
    • ESP8266 Wemos D1 mini
    • 2 module de relee
    • 2 rezistențe 10k
    • PCB pentru prototipare
    • Fire

Pasul 1: Cum funcționează?

Cum functioneazã?
Cum functioneazã?

Principala provocare aici este să conectați poarta glisantă automată la un telefon inteligent. Pentru a face acest lucru, să transformăm poarta glisantă automată într-un dispozitiv IOT. Desigur, există mai multe modalități de a realiza acest lucru. În cazul meu, după câteva experimente, am decis să merg cu:

  • Utilizarea Home Assistant ca hub pentru controlul portalului și primirea cererilor de la un utilizator.
  • Instalarea ESPHome ca firmware în interiorul ESP8266.
  • Parți electronice:

    • Un prototip PCB pentru lipirea componentelor și conectarea acestora
    • Două relee pentru a simula butonul pentru a deschide sau închide poarta
    • O sursă de alimentare de 5V veche pentru alimentarea ESP8266
    • Două rezistențe pentru a împărți tensiunea de la senzorul de deschidere / închidere
  • O conexiune la internet cu un router (necesită funcția de configurare a regulilor NAT)
  • Un cont DuckDNS pentru a permite rezolvarea numelui către Asistentul dvs. de acasă
  • Un telefon mobil pentru instalarea aplicației Home Assistant și un widget pe ecran

Fluxul

Uitați-vă la schemă pentru a înțelege mai bine.

  1. De pe telefonul mobil, apăsați pe widgetul aplicației mobile Home Assistant
  2. O cerere este trimisă la adresa dvs. Web Home Assistant (rezolvată de DuckDNS și TLS prin criptare).
  3. Ruterul dvs. de internet direcționează solicitarea către aplicația Home Assistant
  4. Home Assistant trimite acțiunea de solicitare către ESPHome
  5. ESPHome declanșează motorul automat al porții glisante
  6. Șampanie !

Pasul 2: Instalați și configurați Home Assistant pe Raspberry PI

Home Assistant poate fi văzut ca un hub pentru toate lucrurile IOT de acasă. Va fi un loc bun pentru a controla toate dispozitivele conectate și pentru a adăuga o mulțime de caracteristici. Principalele caracteristici care îmi plac cel mai mult sunt tabloul de bord, API-ul și diversitatea suplimentelor.

Instalare

În mod clar, nu am nicio valoare adăugată pentru a vă spune cum să configurați și să instalați Home Assistant. De fapt, înainte de acest proiect nu știam acest software. Articolele cheie sunt:

  • Instalați Home Assistant cu acest articol
  • Configurarea rețelei pentru Home Assistant poate fi găsită aici:

    github.com/home-assistant/operating-system…

  • Instalați ESPHome cu acest lucru:
  • Instalați suplimentul DuckDNS pentru Home Assistant:
  • Instalați pluginul File Editor (util):

După toate aceste puncte, aveți un Asistent Home frumos care rulează pe Raspberry PI. Trebuie să îl puteți atinge prin HTTP și un IP local sau să încercați https://homeassistant.local: 8123.

Configurare

Configurați DuckDNS cu domeniul dvs. și cu simbolul. De exemplu, puteți vedea în imagini, o parte din configurația mea. Nu uitați să acceptați termeni cu „adevărat”.

lets_encrypt:

accept_terms: true certfile: fullchain.pem keyfile: privkey.pem token: 92f56bb2-2c26-4802-8d4d-xxxxxxxxxxxx domenii: - nameofyourchoice.duckdns.org secunde: 300

Decid să configurez HA cu un IP static, deoarece este mai simplu și sunteți sigur că IP-ul va fi același după o repornire și apoi regulile dvs. de redirecționare a porturilor vor continua să funcționeze: https://github.com/home-assistant/ sistem de operare …

În cazul meu, adaug o configurație în fișierul configuration.yaml deoarece DuckDNS nu gestionează https, ci doar să criptăm certificatul și actualizarea DuckDns:

http:

ssl_certificate: /ssl/fullchain.pem ssl_key: /ssl/privkey.pem base_url:

Pasul 3: placa electronică personalizată pentru a îmbunătăți poarta glisantă automată

Placa electronică personalizată pentru a îmbunătăți poarta glisantă automată
Placa electronică personalizată pentru a îmbunătăți poarta glisantă automată
Placa electronică personalizată pentru a îmbunătăți poarta glisantă automată
Placa electronică personalizată pentru a îmbunătăți poarta glisantă automată
Placa electronică personalizată pentru îmbunătățirea porții glisante automate
Placa electronică personalizată pentru îmbunătățirea porții glisante automate

Poate că a fost partea cea mai neobișnuită pentru mine, pentru că, de obicei, sunt mai multe lucruri de adaptare software decât hardwares. Am început cu un panou și un circuit foarte simplu, doar pentru a verifica dacă pot încărca un program în Wemos D1 mini și să clipesc un LED. Apoi, am schimbat firmware-ul pentru ESPhome și urmez acest articol perfect de început:

După câteva iterații pentru a găsi circuitul potrivit, l-am documentat cu Fritzing. Asigurați-vă că petreceți momente la acest pas, deoarece nu există întoarcere când totul este lipit (nu exact, dar nu ușor de revenire). Am încercat să simulez senzorul de intrare de la poarta glisantă automată, dar acest lucru a fost un eșec (explic mai târziu de ce). Personal, am constatat că Fritzing este un instrument bun pentru a documenta ceea ce conectați pe panou.

Notă: Veți găsi un bun punct de plecare aici în întrebările frecvente ESPhome dacă nu puteți conecta ESPHome la Home Assistant pentru prima inițializare. După ce firmware-ul este încărcat, veți putea încărca „over the air” (OTA).

Releu pentru a activa declanșatorul de deschidere / închidere

În specificațiile tehnice ale porții glisante automate, se specifică faptul că trebuie să închideți un circuit între „START” și „COM” pentru a declanșa o acțiune deschideți / închideți poarta (deschiderea completă). Un circuit închis între „START. P” și „COM” declanșează o acțiune deschide / închide poarta pentru pietoni. Nu am folosit „STOP”, dar acesta este același concept, ci pentru a opri poarta la deschidere sau închidere.

În ceea ce privește alegerea componentelor electronice, am decis să aleg un releu în locul unui tranzistor. Tranzistoarele sunt frumoase, dar nu oferă o garanție că circuitul este perfect aproape. Cred că pot lăsa un curent foarte mic să intre în circuit. Un alt beneficiu al releului este că, atunci când vă testați circuitul, auziți practic când contactul este aproape cu sunetul „clic”.

Obțineți starea senzorului deschis

La început, mă gândeam să folosesc niște senzori magnetici pentru a detecta stările deschise sau închise ale porții. Dar mi-am dat seama că există un conector care menționează „senzor de limită” pe controler. În mod clar, nu a fost făcut pentru a fi folosit (de către geek ca mine), am găsit cu un tester de contact că pot citi starea deschide sau închide când deschid poarta. Am făcut o mare greșeală gândindu-mă că statul era un fel de tensiune logică TTL (3.3v). În acest caz, le puteți conecta direct la Wemos Input. Dar, de fapt, când poarta este deschisă, există o tensiune de ieșire de 6,3v. Pentru a utiliza acest semnal, trebuie să împărțiți tensiunea cu acest tip de circuit https://www.learningaboutelectronics.com/Articles/H… Soluția este destul de simplă, deoarece tensiunea trebuie împărțită la două. Deci, am folosit două rezistențe de 10 Kohms între ieșirea senzorului limită și intrarea Wemos (din nou, căutați în imaginile atașate o schemă).

Alimentare ieftină 5v

Pentru a alimenta toate aceste componente, folosesc o sursă de alimentare pentru telefonul mobil. L-am deschis și am schimbat mufa în cablu mic cu șurub. De asemenea, am decis să fuzionez cele două plăci (sp și sursa de alimentare) cu lipici fierbinte (da, știu, este cam murdar, dar funcționează:-). Nu este cel mai curat lucru vreodată, dar mai ușor de manevrat și de evitat să atingeți 220v.

Asta este tot pentru partea hardware.

Pasul 4: Firmware-ul ESPHome să ruleze pe prototipul PCB

Logica din interiorul ESP8266 este injectată prin portalul Home Assistant ESPHome Add-on. Codificați logica pe care o execută ESPHome. Tipul foarte mic de aplicație trebuie să fie cod cu sintaxa ESPHome. Este foarte ușor și este distractiv, deoarece, doar cu câteva linii de YAML, ESP8266 devine rapid un lucru inteligent. Codul sursă complet este disponibil aici: https://gist.github.com/toomone/819112ea1b04937912… Permiteți să ne concentrăm asupra părții importante a codului.

Controlul releelor

După cum am spus anterior, controlerul automat al porții glisante poate declanșa o acțiune de deschidere sau închidere cu doar un impuls scurt (circuit închis) între două intrări. Pentru a face acest lucru, trebuie să configurați o secțiune de comutare cu puțină configurație. De exemplu, să ne concentrăm pe partea care activează (deschide sau închide) deschiderea parțială a porții (necesară pentru un pieton de exemplu).

intrerupator:

- platformă: gpio pin: D3 // numărul PIN în care va fi transmis semnalul pe ID-ul Wemos: releu restore_mode: ALWAYS_OFF - platformă: numele șablonului: "Gate Pedestrian Remote" pictogramă: "mdi: walk" turn_on_action: // the logică care trebuie executată de ESPHome pentru a simula un impuls - switch.turn_on: relay - delay: 500ms - switch.turn_off: relay

Codul anterior va genera un comutator și un șablon. Aceste două concepte permit ESPHome să ofere un mecanism îmbunătățit fără codificare reală. Vă invit să citiți documentația ESPHome pentru a aprofunda caracteristicile oferite. https://esphome.io/cookbook/relay.html și

Citirea stării senzorului de închidere deschisă

binary_sensor:

- platformă: gpio pin: număr: D1 inversat: nume adevărat: "Senzor deschis" id: open_sensor device_class: garage_door

Această parte a scriptului spune plăcii wemos să citească starea de pe senzorul deschis de pe D1. Pentru a găsi D1, trebuie doar să citiți pe Wemos PCB. Am folosit parametrul „inversat” la adevărat pentru a inversa valoarea semnalului. Nu-mi amintesc motivul clar, dar cred că a fost simplu să se afișeze închis sau deschis în conformitate cu starea portalului pe tabloul de bord HA.

Permiterea apelului API către ESPHome

Dacă doriți să puteți utiliza widget-ul Home Assistant pe telefon, trebuie să adăugați această mică bucată de cod:

# Activați Home Assistant API

api: services: - service: open_portal_pedestrian then: - switch.turn_on: relay - întârziere: 500ms - switch.turn_off: relay

În acest fel, configuratorul aplicației Home Assistant va afișa acțiunea de deschidere a portalului. Am ales doar cea pentru pietoni, deoarece aceasta este cea pe care o folosesc cel mai mult.

Pasul 5: expuneți Asistentul dvs. de acasă în lume

Expuneți Asistentul dvs. de acasă în lume
Expuneți Asistentul dvs. de acasă în lume
Expuneți Asistentul dvs. de acasă în lume
Expuneți Asistentul dvs. de acasă în lume

Deoarece doriți să puteți deschide Poarta Automată Glisantă de oriunde vă aflați pe planetă și nu doar de acasă, trebuie să vă expuneți HA lumii. Apropo, asigurați-vă că utilizați o autentificare puternică cu parolă. Pe routerul dvs. de internet trebuie să configurați o regulă pentru a direcționa tot traficul care vine de la un anumit port către un anumit IP și, de asemenea, un port. De exemplu, veți găsi configurația pe care am făcut-o pe routerul furnizorului meu (îmi pare rău, este în franceză), dar veți observa că este o configurare foarte simplă. Regula trebuie să spună ruterului dvs. să accepte toate protocolurile de pe portul xxxx pentru a trece pe Home Assistant IP cu portul 8123 (dacă nu l-ați modificat).

Asta e tot. Nu ezitați să puneți întrebări, deoarece am uitat cu siguranță să adaug detalii pe o anumită parte. Sistemul funcționează zilnic fără probleme. De asemenea, îmi place faptul că pot deschide sau închide portalul de pe telefonul meu.

Recomandat: