Innholdsfortegnelse:

Kontroller den automatiske skyvedøren med hjemmeassistent og ESPHome: 5 trinn (med bilder)
Kontroller den automatiske skyvedøren med hjemmeassistent og ESPHome: 5 trinn (med bilder)

Video: Kontroller den automatiske skyvedøren med hjemmeassistent og ESPHome: 5 trinn (med bilder)

Video: Kontroller den automatiske skyvedøren med hjemmeassistent og ESPHome: 5 trinn (med bilder)
Video: Home Assistant solpanel overvågningssystem 2024, Juni
Anonim
Kontroller den automatiske skyvedøren med hjemmeassistent og ESPHome
Kontroller den automatiske skyvedøren med hjemmeassistent og ESPHome

Den følgende artikkelen er noen tilbakemeldinger på min personlige erfaring med å kontrollere den automatiske skyvedøren som jeg hadde installert på huset mitt. Denne porten, merket "V2 Alfariss", ble utstyrt med noen få Phox V2 -fjernkontroller for å kontrollere den. Jeg har også en Google Nest Hello dørklokke, som dessverre ikke kan kobles til skyveportkontrollen for å åpne porten eksternt fra mobilappen. For meg var en måte å løse denne begrensningen å finne en måte å koble den automatiske skyveportkontrolleren til Internett. Med denne nye, tilkoblede porten kan jeg svare på brukstilfeller som å kontrollere skyveporten med mobiltelefonen min. Jeg oppnådde dette ved å bruke Home Assistant, ESPhome og noen få elektroniske deler.

Ideen bak denne artikkelen er ikke å gi deg noe som er klart til bruk, men heller å inspirere deg. Husk at hvis du ikke har nøyaktig samme automatiske port, ikke glem å laste ned og lese den tekniske dokumentasjonen for modellen din. Tilpass det og forbedre det. Advarsel: Vær forsiktig, og ikke glem å slå av strømmen før du åpner hovedkontrollen. Nyt!

Rekvisita

  • Verktøy:

    • Skrutrekker
    • Loddejern
    • Multi-meter
  • Deler:

    • Bringebær PI 3 (komplett sett: 2A alim + 32 GB SD -kort)
    • ESP8266 Wemos D1 mini
    • 2 relémoduler
    • 2 motstander 10k
    • PCB for prototyping
    • Ledninger

Trinn 1: Hvordan fungerer det?

Hvordan virker det?
Hvordan virker det?

Hovedutfordringen her er å koble den automatiske skyveporten til en smarttelefon. For å gjøre dette, la oss gjøre den automatiske skyveporten til en IOT -enhet. Selvfølgelig er det flere måter å oppnå dette på. I mitt tilfelle, etter noen eksperimenter, bestemte jeg meg for å gå med:

  • Bruke Home Assistant som et knutepunkt for å kontrollere portalen og motta forespørsler fra en bruker.
  • Installere ESPHome som fastvare inne i ESP8266.
  • Elektroniske deler:

    • En prototype PCB for å lodde komponenter og koble dem
    • To reléer for å simulere trykknapp for å åpne eller lukke porten
    • En gammel 5V strømforsyning for å drive ESP8266
    • To motstander for å dele spenningen fra åpen/lukk sensoren
  • En Internett -tilkobling med en ruter (trenger konfigurasjonsfunksjon for NAT -regel)
  • En DuckDNS -konto for å tillate navneoppløsningen til Home Assistant
  • En mobiltelefon for å installere Home Assistant -appen og en widget på skjermen

Flyten

Se på skjemaet for å forstå det bedre.

  1. Fra din mobiltelefon skyver du på Home Assistant -mobilapp -widgeten
  2. En forespørsel sendes til hjemmeassistentens webadresse (løst av DuckDNS og TLS ved å kryptere).
  3. Internett -ruteren ruter forespørselen til Home Assistant -programmet
  4. Hjemmeassistent sender forespørselshandlingen til ESPHome
  5. ESPHome utløser den automatiske skyveportmotoren
  6. Champagne!

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

Home Assistant kan sees på som et knutepunkt for alle IOT -tingene dine i hjemmet. Det vil være et godt sted å kontrollere alle de tilkoblede enhetene og legge til mange funksjoner. Hovedfunksjonene jeg liker best er dashbordet, API og mangfoldet av tillegg.

Installasjon

Jeg har tydeligvis ingen tilleggsverdier for å fortelle deg hvordan du konfigurerer og installerer Home Assistant. Faktisk, før dette prosjektet kjente jeg ikke denne programvaren. De viktigste artiklene er:

  • Installer Home Assistant med denne artikkelen
  • Nettverkskonfigurasjon for Home Assistant finner du her:

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

  • Installer ESPHome med dette:
  • Installer DuckDNS Add-on for Home Assistant:
  • Installer File Editor-plugin (nyttig):

Etter alle disse punktene har du en fin hjemmeassistent som kjører på din Raspberry PI. Du må kunne nå den via HTTP og en lokal IP eller prøve https://homeassistant.local: 8123.

Konfigurasjon

Konfigurer DuckDNS med domenet ditt og med tokenet. For eksempel kan du se på bildene et stykke av min konfigurasjon. Ikke glem å godta_termer med "true".

lets_encrypt:

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

Jeg bestemmer meg for å konfigurere HA med en statisk IP fordi den er enklere, og du er sikker på at IP-en vil være den samme etter en omstart, og deretter vil portoverføringsreglene fortsette å fungere: https://github.com/home-assistant/ driftssystem …

I mitt tilfelle legger jeg til et stykke konfigurasjon i filen config.yaml fordi DuckDNS ikke administrerer https, bare la oss kryptere sertifikatet og DuckDns -oppdateringen:

http:

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

Trinn 3: Det tilpassede elektroniske kortet for å forbedre den automatiske skyvedøren

Det tilpassede elektroniske kortet for å forbedre den automatiske skyvedøren
Det tilpassede elektroniske kortet for å forbedre den automatiske skyvedøren
Det tilpassede elektroniske kortet for å forbedre den automatiske skyvedøren
Det tilpassede elektroniske kortet for å forbedre den automatiske skyvedøren
Det tilpassede elektroniske kortet for å forbedre den automatiske skyvedøren
Det tilpassede elektroniske kortet for å forbedre den automatiske skyvedøren

Kanskje det var den mest uvanlige delen for meg fordi jeg vanligvis er mer tilpasningsprogramvare enn maskinvare. Jeg har startet med et brødbrett og en veldig grunnleggende krets, bare for å sjekke at jeg er i stand til å laste opp et program inne i Wemos D1 mini og å blinke en LED. Deretter har jeg endret fastvaren for ESPhome og følger denne perfekte artikkelen for å komme i gang:

Etter noen iterasjoner for å finne riktig krets, har jeg dokumentert det med Fritzing. Sørg for å bruke tid på dette trinnet, da det ikke er noen vei tilbake når alt er loddet (ikke akkurat, men ikke lett tilbakeslag). Jeg har prøvd å simulere inngangssensor fra automatisk skyveport, men dette var en feil (jeg forklarer senere hvorfor). Personlig fant jeg ut at Fritzing er et godt verktøy for å dokumentere det du kabler på brødbrettet.

Merk: Du finner et godt utgangspunkt her i ESPhome FAQ hvis du ikke kan koble ESPHome til Home Assistant for den første initialiseringen. Etter at fastvaren er lastet opp, vil du kunne laste opp "over the air" (OTA).

Relé for å aktivere åpen/lukk utløser

I den tekniske spesifikasjonen for den automatiske skyveporten er det spesifisert at du må lukke en krets mellom "START" og "COM" for å utløse en handling for å åpne/lukke porten (hele åpningen). En nær krets mellom "START. P" og "COM" utløser en handling som åpner/lukker porten for fotgjenger. Jeg brukte ikke "STOPP", men dette er det samme konseptet, men å stoppe porten når du åpner eller lukker.

På valget av elektronisk komponent har jeg bestemt meg for å gå for et relé i stedet for en transistor. Transistorer er fine, men de gir ingen garanti for at kretsen er helt nær. Jeg tror at de kan la en veldig lav strøm gå i kretsen. En annen fordel med relé er at når du tester kretsen din, hører du i utgangspunktet når kontakten er nær med lyden "klikk".

Få den åpne sensortilstanden

I begynnelsen tenkte jeg på å bruke noen magnetiske sensorer for å oppdage at porten var åpen eller lukket. Men jeg har innsett at det er en plugg som nevner "grensesensor" på kontrolleren. Tydeligvis ikke laget for å bli brukt (av nörd som meg), fant jeg med en kontakttester at jeg kan lese staten åpne eller lukke når jeg åpner porten. Jeg har gjort en stor feil ved å tro at staten var en slags TTL logisk spenning (3.3v). I dette tilfellet kan du koble dem direkte til Wemos Input. Men faktisk, når porten åpnes, er det en 6,3v utgangsspenning. For å bruke dette signalet må du dele spenningen med denne typen krets https://www.learningaboutelectronics.com/Articles/H… Løsningen er ganske enkel fordi spenningen må deles på to. Så jeg har brukt to 10 Kohms -motstander mellom grensensensorutgangen og Wemos -inngangen (igjen, se et skjema på de vedlagte bildene).

Billig 5v strømforsyning

For å drive alle disse komponentene bruker jeg en gammel mobiltelefonstrømforsyning. Jeg åpnet den og byttet plugg til liten pluggkabel med skrue. Jeg bestemte meg også for å slå sammen de to kretskortene (esp og strømforsyning) med varmt lim (ja jeg vet, dette er litt skittent, men det fungerer:-). Ikke det reneste noensinne, men lettere å håndtere og unngå å berøre 220v.

Det er alt for maskinvaredelen.

Trinn 4: ESPHome -fastvare for å kjøre på PCB -prototypen

Logikken inne i ESP8266 injiseres via Home Assistant-portalen ESPHome Add-on. Du koder logikken som ESPHome utfører. Den veldig lille typen applikasjon må være kode med ESPHome -syntaks. Det er veldig enkelt og det er morsomt fordi, med bare noen få YAML -linjer, blir ESP8266 raskt en smart ting. Hele kildekoden er tilgjengelig her: https://gist.github.com/toomone/819112ea1b04937912… La oss fokusere på den viktige delen av koden.

Kontroll av reléene

Som jeg sa tidligere, kan den automatiske skyveportkontrolleren utløse en åpen eller lukket handling med bare en kort impuls (lukk krets) mellom to innganger. For å gjøre det må du konfigurere en switch -seksjon med liten konfigurasjon. La oss for eksempel fokusere på delen som aktiverer (åpner eller lukker) den delvise åpningen av porten (for eksempel nødvendig for en fotgjenger).

bytte om:

- plattform: gpio -pin: D3 // PIN -nummeret der signalet skal sendes ut på Wemos -ID: relégjenopprettingsmodus: ALTIDIG_OFF - plattform: malnavn: "Gate fotgjengerfjernkontroll" -ikon: "mdi: walk" turn_on_action: // the logikk som skal utføres av ESPHome for å simulere en puls - switch.turn_on: relay - delay: 500ms - switch.turn_off: relay

Den forrige koden vil generere en bryter og en mal. Disse to konseptene lar ESPHome tilby en forbedret mekanisme uten ekte koding. Jeg inviterer deg til å lese ESPHome -dokumentasjon for å utdype funksjonene som tilbys. https://esphome.io/cookbook/relay.html og

Leser åpen lukk sensortilstand

binær_sensor:

- plattform: gpio -pin: nummer: D1 invertert: sant navn: "Åpen sensor" -id: open_sensor device_class: garage_door

Denne delen av manuset forteller wemos -kortet om å lese tilstanden på den åpne sensoren på D1. For å finne D1, er det bare å lese på Wemos PCB. Jeg har brukt parameteren "invertert" til true for å invertere signalverdien. Jeg husker ikke den klare årsaken, men jeg tror at det var enkelt å vise nært eller åpent i henhold til portalstatusen på HA -dashbordet.

Tillater API -anrop til ESPHome

Hvis du vil kunne bruke Home Assistant -widgeten på telefonen, må du legge til denne lille koden:

# Aktiver Home Assistant API

api: tjenester: - tjeneste: open_portal_pedestrian da: - switch.turn_on: relé - forsinkelse: 500ms - switch.turn_off: relé

På denne måten vil Home Assistant -appkonfiguratoren vise handlingen for å åpne portalen. Jeg har valgt bare den for fotgjenger fordi denne er den jeg bruker mest.

Trinn 5: Utsett hjemmeassistenten for verden

Utsett din hjemmeassistent for verden
Utsett din hjemmeassistent for verden
Utsett din hjemmeassistent for verden
Utsett din hjemmeassistent for verden

Fordi du vil være i stand til å åpne den automatiske skyvedøren din uansett hvor du er på planeten og ikke bare hjemmefra, du må avsløre HA for verden. Sørg forresten for å bruke en sterk passordgodkjenning. På Internett -ruteren må du konfigurere en regel for å dirigere all trafikk som kommer fra en bestemt port til en bestemt IP og også en port. For eksempel finner du konfigurasjonen jeg har gjort på leverandørruteren min (beklager, den er på fransk), men du vil legge merke til at den er veldig enkel konfigurasjon. Regelen må fortelle ruteren din å godta all protokoll på port xxxx for å gå på Home Assistant IP med port 8123 (hvis du ikke endret den).

Det er alt. Ikke nøl med å stille spørsmål, for jeg har absolutt glemt å legge til detaljer om en bestemt del. Systemet fungerer hver dag uten problemer. Jeg liker også det faktum at jeg kan ha staten åpen eller lukket for portalen fra telefonen min.

Anbefalt: