Indholdsfortegnelse:

Styr din automatiske glideport med hjemmeassistent og ESPHome: 5 trin (med billeder)
Styr din automatiske glideport med hjemmeassistent og ESPHome: 5 trin (med billeder)

Video: Styr din automatiske glideport med hjemmeassistent og ESPHome: 5 trin (med billeder)

Video: Styr din automatiske glideport med hjemmeassistent og ESPHome: 5 trin (med billeder)
Video: How to set up Voice Assistants / What's New in Home Assistant May 2023.5? Voice, Voice, and Voice! 2024, Juni
Anonim
Styr din automatiske skydeport med Home Assistant og ESPHome
Styr din automatiske skydeport med Home Assistant og ESPHome

Den følgende artikel er lidt feedback på min personlige erfaring med at kontrollere den automatiske skydelåge, som jeg havde installeret på mit hus. Denne port, mærket "V2 Alfariss", var forsynet med et par Phox V2 -fjernbetjeninger for at styre den. Jeg har også en Google Nest Hello dørklokke, som desværre ikke kan sættes i skydeportens controller for eksternt at åbne porten fra mobilappen. For mig var en måde at løse denne begrænsning på at finde en måde at forbinde den automatiske skydeportkontroller til Internettet. Med denne nye, tilsluttede port kan jeg besvare brugssager som at styre skydelågen med min mobiltelefon. Jeg opnåede dette ved at bruge Home Assistant, ESPhome og et par elektroniske dele.

Ideen bag denne artikel er ikke at give dig noget, der er klar til brug, men derimod at inspirere dig. Husk, at hvis du ikke har nøjagtig den samme automatiske port, skal du ikke glemme at downloade og læse den tekniske dokumentation for din model. Tilpas det og forbedre det. Advarsel: Vær forsigtig, og glem ikke at slukke for strømmen, før hovedkontrollen åbnes. God fornøjelse!

Forbrugsvarer

  • Værktøjer:

    • Skruetrækker
    • Loddekolbe
    • Multi-meter
  • Dele:

    • Hindbær PI 3 (fuldt sæt: 2A alim + 32GB sd -kort)
    • ESP8266 Wemos D1 mini
    • 2 relæmoduler
    • 2 modstande 10k
    • PCB til prototyper
    • Ledninger

Trin 1: Hvordan fungerer det?

Hvordan virker det?
Hvordan virker det?

Hovedudfordringen her er at forbinde den automatiske skydelåge til en smartphone. For at gøre dette, lad os gøre den automatiske skydeport til en IOT -enhed. Selvfølgelig er der flere måder at opnå dette på. I mit tilfælde besluttede jeg efter nogle forsøg at gå med:

  • Brug af Home Assistant som et hub til styring af portalen og modtagelse af anmodninger fra en bruger.
  • Installation af ESPHome som firmware inde i ESP8266.
  • Elektroniske dele:

    • En prototype PCB til lodning af komponenter og tilslutning af dem
    • To relæer til simulering af trykknap for at åbne eller lukke porten
    • En gammel 5V strømforsyning til ESP8266
    • To modstande til at opdele spændingen fra den åbne/lukke sensor
  • En internetforbindelse med en router (har brug for konfiguration af NAT -regel)
  • En DuckDNS -konto, der tillader navneopløsning til din Home Assistant
  • En mobiltelefon til at installere Home Assistant App og en widget på skærmen

Strømmen

Se på skemaet for bedre at forstå.

  1. Fra din mobiltelefon skubber du på Home Assistant -mobilapp -widgeten
  2. Der sendes en anmodning til din Home Assistant -webadresse (løst af DuckDNS og TLS ved at kryptere).
  3. Din internetrouter dirigerer anmodningen til Home Assistant -applikationen
  4. Home Assistant sender anmodningen til ESPHome
  5. ESPHome udløser den automatiske skydeportmotor
  6. Champagne!

Trin 2: Installer og konfigurer Home Assistant på Raspberry PI

Home Assistant kan ses som et knudepunkt for alle dine IOT -ting i hjemmet. Det vil være et godt sted at styre alle de tilsluttede enheder og tilføje en masse funktioner. De vigtigste funktioner, jeg bedst kan lide, er instrumentbrættet, API'en og mangfoldigheden af tilføjelsesprogrammer.

Installation

Jeg har tydeligvis ingen tilføjede værdier til at fortælle dig, hvordan du konfigurerer og installerer Home Assistant. Faktisk kendte jeg ikke dette software før dette projekt. De centrale artikler er:

  • Installer Home Assistant med denne artikel
  • Netværkskonfiguration til Home Assistant kan findes her:

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

  • Installer ESPHome med dette:
  • Installer DuckDNS-tilføjelse til Home Assistant:
  • Installer File Editor-plugin (nyttigt):

Efter alle disse punkter har du en dejlig hjemmeassistent, der kører på din Raspberry PI. Du skal kunne nå det via HTTP og en lokal IP eller prøve https://homeassistant.local: 8123.

Konfiguration

Konfigurer DuckDNS med dit domæne og med token. For eksempel kan du se på billederne et stykke af min konfiguration. Glem ikke at acceptere_betingelser med "sandt".

lets_encrypt:

accept_terms: true certfile: fullchain.pem keyfile: privkey.pem token: 92f56bb2-2c26-4802-8d4d-xxxxxxxxxxxx domæner:-nameofyourchoice.duckdns.org sekunder: 300

Jeg beslutter mig for at konfigurere HA med en statisk IP, fordi det er enklere, og du er sikker på, at IP'en vil være den samme efter en genstart, og derefter vil dine portvideresendelsesregler fortsætte med at fungere: https://github.com/home-assistant/ driftssystem …

I mit tilfælde tilføjer jeg et stykke konfiguration inde i filen config.yaml, fordi DuckDNS ikke administrerer https, bare lad os kryptere certifikat og DuckDns -opdateringen:

http:

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

Trin 3: Det brugerdefinerede elektroniske kort til forbedring af den automatiske skydeport

Det brugerdefinerede elektroniske kort til at forbedre den automatiske skydeport
Det brugerdefinerede elektroniske kort til at forbedre den automatiske skydeport
Det brugerdefinerede elektroniske kort til at forbedre den automatiske glideport
Det brugerdefinerede elektroniske kort til at forbedre den automatiske glideport
Det brugerdefinerede elektroniske kort til at forbedre den automatiske skydeport
Det brugerdefinerede elektroniske kort til at forbedre den automatiske skydeport

Måske var det den mest usædvanlige del for mig, fordi jeg normalt er mere tilpasning af software end hardwares. Jeg er startet med et brødbræt og et meget grundlæggende kredsløb, bare for at kontrollere, at jeg er i stand til at uploade et program inde i Wemos D1 mini og for at blinke en LED. Derefter har jeg ændret firmwaren til ESPhome og følger denne perfekte startartikel:

Efter nogle iterationer for at finde det rigtige kredsløb, har jeg dokumenteret det med Fritzing. Sørg for at bruge tid på dette trin, da der ikke er nogen vej tilbage, når alt er loddet (ikke ligefrem, men ikke let tilbagesendelse). Jeg har forsøgt at simulere indgangssensor fra automatisk skydeport, men dette var en fejl (jeg forklarer senere hvorfor). Personligt fandt jeg ud af, at Fritzing er et godt værktøj til at dokumentere, hvad du kører på brødbrættet.

Bemærk: Du finder et godt udgangspunkt her i ESPhome FAQ, hvis du ikke kan slutte dit ESPHome til Home Assistant for den første initialisering. Når firmwaren er uploadet, vil du kunne uploade "over the air" (OTA).

Relæ for at aktivere åben/luk udløser

I den tekniske specifikation for automatisk skydeport er det angivet, at du skal lukke et kredsløb mellem "START" og "COM" for at udløse en handling for at åbne/lukke porten (den fulde åbning). Et tæt kredsløb mellem "START. P" og "COM" udløser en handling, der åbner/lukker porten for fodgængere. Jeg brugte ikke "STOP", men dette er det samme koncept, men at stoppe porten, når den åbnes eller lukkes.

På det elektroniske komponentvalg har jeg besluttet at gå til et relæ i stedet for en transistor. Transistorer er pæne, men de giver ikke en garanti for, at kredsløbet er helt tæt. Jeg tror, at de kan lade en meget lav strøm gå i kredsløbet. En anden fordel ved relæ er, at når du tester dit kredsløb, hører du dybest set, når kontakten er tæt med lyden "klik".

Få den åbne sensortilstand

I begyndelsen tænkte jeg på at bruge nogle magnetiske sensorer til at registrere portens åbne eller lukke tilstande. Men jeg har indset, at der er et stik, der nævner "grænsesensor" på controlleren. Tydeligvis ikke skabt til at blive brugt (af nørder som mig), fandt jeg med en kontakttester, at jeg kan aflæse staten åbne eller lukke, når jeg åbner porten. Jeg har begået en stor fejl ved at tro, at staten var en slags TTL -logisk spænding (3.3v). I dette tilfælde kan du direkte tilslutte dem til Wemos Input. Men faktisk, når porten åbnes, er der en 6,3v udgangsspænding. For at bruge dette signal skal du opdele spændingen med denne form for kredsløb https://www.learningaboutelectronics.com/Articles/H… Løsningen er stort set ligetil, fordi spændingen skal divideres med to. Så jeg har brugt to 10 Kohms -modstande mellem grænsesensorudgangen og Wemos -indgangen (se igen et skema på de vedhæftede billeder).

Billig 5v strømforsyning

For at drive alle disse komponenter bruger jeg en gammel mobiltelefon strømforsyning. Jeg åbnede den og skiftede stik til lille stik kabel med skrue. Jeg besluttede også at flette de to pcb (esp og strømforsyning) med varm lim (ja jeg ved, det er lidt beskidt, men det virker:-). Ikke det reneste nogensinde, men lettere at håndtere og undgå at røre ved 220v.

Det er alt for hardware -delen.

Trin 4: ESPHome -firmware til at køre på PCB -prototypen

Logikken inde i ESP8266 injiceres via Home Assistant-portalen ESPHome Add-on. Du koder logikken, som ESPHome udfører. Den meget lille slags applikation skal være kode med ESPHome -syntaks. Det er virkelig let, og det er sjovt, fordi bare med få linjer YAML bliver din ESP8266 hurtigt en smart ting. Den fulde kildekode er tilgængelig her: https://gist.github.com/toomone/819112ea1b04937912… Lad os fokusere på den vigtige del af koden.

Styring af relæerne

Som jeg tidligere sagde, kan den automatiske skydeportkontroller udløse en åben eller lukket handling med kun en kort impuls (tæt kredsløb) mellem to indgange. For at gøre det skal du konfigurere en switch -sektion med lidt konfiguration. Lad os for eksempel fokusere på den del, der aktiverer (åbner eller lukker) den delvise åbning af porten (f.eks. Nødvendig for en fodgænger).

kontakt:

- platform: gpio pin: D3 // PIN -nummeret, hvor signalet vil blive udsendt på Wemos -id: relæ -gendannelses -tilstand: ALTIDIG_OFF - platform: skabelonnavn: "Gate Pedestrian Remote" -ikon: "mdi: walk" turn_on_action: // the logik, der skal udføres af ESPHome for at simulere en puls - switch.turn_on: relay - delay: 500ms - switch.turn_off: relay

Den tidligere kode genererer en switch og en skabelon. Disse to koncepter giver ESPHome mulighed for at tilbyde en forbedret mekanisme uden ægte kodning. Jeg inviterer dig til at læse ESPHome -dokumentation for at uddybe de tilbudte funktioner. https://esphome.io/cookbook/relay.html og

Læser åben luk sensortilstand

binær_sensor:

- platform: gpio pin: nummer: D1 omvendt: sandt navn: "Åben sensor" id: open_sensor device_class: garage_door

Denne del af scriptet fortæller wemos -kortet om at læse tilstanden på den åbne sensor på D1. For at finde D1 skal du bare læse på dit Wemos -printkort. Jeg har brugt parameteren "omvendt" til sand for at invertere signalværdien. Jeg kan ikke huske den klare årsag, men jeg tror, at det var enkelt at vise tæt eller åbne i overensstemmelse med portalstatus på HA -instrumentbrættet.

Tillader API -opkald til ESPHome

Hvis du vil kunne bruge Home Assistant -widgeten på din telefon, skal du tilføje dette lille stykke kode:

# Aktiver Home Assistant API

api: services: - service: open_portal_pedestrian derefter: - switch.turn_on: relay - delay: 500ms - switch.turn_off: relay

På denne måde vil Home Assistant -appkonfiguratoren liste handlingen for at åbne portalen. Jeg har kun valgt den til fodgængere, fordi det er den, jeg bruger mest.

Trin 5: Udsæt din hjemmeassistent for verden

Udsæt din hjemmeassistent for verden
Udsæt din hjemmeassistent for verden
Udsæt din hjemmeassistent for verden
Udsæt din hjemmeassistent for verden

Fordi du vil være i stand til at åbne din automatiske skydeport, uanset hvor du er på planeten og ikke kun hjemmefra, skal du udsætte din HA for verden. Sørg forresten for at bruge en stærk adgangskodegodkendelse. På din internetrouter skal du konfigurere en regel til at dirigere al trafik fra en bestemt port til en bestemt IP og også en port. For eksempel finder du den konfiguration, jeg har foretaget på min udbyderrouter (beklager, det er på fransk), men du vil bemærke, at det er virkelig enkel konfiguration. Reglen skal fortælle din router at acceptere al protokol på port xxxx for at gå til Home Assistant IP med port 8123 (hvis du ikke ændrede den).

Det er alt. Tøv ikke med at stille spørgsmål, for jeg har helt sikkert glemt at tilføje detaljer om en bestemt del. Systemet fungerer hver dag uden problemer. Jeg kan også godt lide, at jeg kan have porten åben eller lukning af portalen fra min telefon.

Anbefalede: