Innehållsförteckning:

Styr din automatiska skjutport med hemassistent och ESPHome: 5 steg (med bilder)
Styr din automatiska skjutport med hemassistent och ESPHome: 5 steg (med bilder)

Video: Styr din automatiska skjutport med hemassistent och ESPHome: 5 steg (med bilder)

Video: Styr din automatiska skjutport med hemassistent och ESPHome: 5 steg (med bilder)
Video: Умное окно - автоматизация проветривания комнаты, интеграция в Home Assistant 2024, Juni
Anonim
Styr din automatiska skjutport med hemassistent och ESPHome
Styr din automatiska skjutport med hemassistent och ESPHome

Följande artikel är lite feedback på min personliga erfarenhet av att styra den automatiska skjutporten som jag hade installerat på mitt hus. Denna grind, märkt "V2 Alfariss", var försedd med några Phox V2 -fjärrkontroller för att styra den. Jag har också en Google Nest Hello -dörrklocka, som tyvärr inte kan anslutas till skjutporten för att fjärröppna porten från mobilappen. För mig var ett sätt att lösa denna begränsning att hitta ett sätt att ansluta den automatiska skjutporten till Internet. Med den här nya, anslutna grinden kan jag svara på användningsfall som att styra skjutporten med min mobiltelefon. Jag uppnådde detta genom att använda Home Assistant, ESPhome och några elektroniska delar.

Tanken bakom den här artikeln är inte att ge dig något färdigt att använda, utan snarare att inspirera dig. Kom ihåg att om du inte har exakt samma automatiska port, glöm inte att ladda ner och läsa den tekniska dokumentationen för din modell. Anpassa det och förbättra det. Varning: Var försiktig och glöm inte att stänga av strömmen innan du öppnar huvudkontrollen. Njut av!

Tillbehör

  • Verktyg:

    • Skruvmejsel
    • Lödkolv
    • Multimätare
  • Delar:

    • Raspberry PI 3 (komplett uppsättning: 2A alim + 32 GB SD -kort)
    • ESP8266 Wemos D1 mini
    • 2 relämoduler
    • 2 motstånd 10k
    • PCB för prototyper
    • Trådar

Steg 1: Hur fungerar det?

Hur fungerar det?
Hur fungerar det?

Den största utmaningen här är att ansluta den automatiska skjutporten till en smarttelefon. För att göra detta, låt oss förvandla den automatiska skjutporten till en IOT -enhet. Naturligtvis finns det flera sätt att uppnå detta. I mitt fall, efter några experiment, bestämde jag mig för att gå med:

  • Använda Home Assistant som ett nav för att styra portalen och ta emot förfrågningar från en användare.
  • Installera ESPHome som firmware i ESP8266.
  • Elektroniska delar:

    • En prototyp PCB för att löda komponenter och ansluta dem
    • Två reläer för att simulera tryckknapp för att öppna eller stänga grinden
    • En gammal 5V strömförsörjning för att driva ESP8266
    • Två motstånd för att dela spänningen från den öppna/stänga sensorn
  • En internetanslutning med en router (behöver konfigurationsfunktion för NAT -regler)
  • Ett DuckDNS -konto för att tillåta namnupplösningen till din hemassistent
  • En mobiltelefon för att installera Home Assistant -appen och en widget på skärmen

Flödet

Titta på schemat för att bättre förstå.

  1. Från din mobiltelefon trycker du på widgeten Home Assistant för mobilappen
  2. En begäran skickas till din hemassistent -webbadress (löst av DuckDNS och TLS med låt oss kryptera).
  3. Din internetrouter dirigerar begäran till hemassistentprogrammet
  4. Home Assistant skickar begäran till ESPHome
  5. ESPHome utlöser den automatiska skjutporten
  6. Champagne!

Steg 2: Installera och konfigurera Home Assistant på Raspberry PI

Home Assistant kan ses som ett nav för alla dina hem -IOT -saker. Det kommer att vara ett bra ställe att styra alla anslutna enheter och lägga till många funktioner. De viktigaste funktionerna som jag gillar mest är instrumentpanelen, API: et och mångfalden av tillägg.

Installation

Jag har uppenbarligen inga tilläggsvärden för att berätta hur du installerar och installerar Home Assistant. Faktum är att innan det här projektet visste jag inte den här programvaran. De viktigaste artiklarna är:

  • Installera Home Assistant med den här artikeln
  • Nätverkskonfiguration för Home Assistant finns här:

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

  • Installera ESPHome med detta:
  • Installera DuckDNS-tillägget för Home Assistant:
  • Installera filredigeringsprogrammet (användbart): https://github.com/home-assistant/hassio-addons/tr..

Efter alla dessa punkter har du en trevlig hemassistent som körs på din Raspberry PI. Du måste kunna nå den via HTTP och en lokal IP eller prova https://homeassistant.local: 8123.

Konfiguration

Konfigurera DuckDNS med din domän och med token. Till exempel kan du se på bilderna, en bit av min konfiguration. Glöm inte att acceptera_terms med "true".

lets_encrypt:

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

Jag bestämmer mig för att konfigurera HA med en statisk IP eftersom det är enklare och du är säker på att IP: n kommer att vara densamma efter en omstart och sedan fortsätter dina portvidarebefordringsregler att fungera: https://github.com/home-assistant/ operativsystem …

I mitt fall lägger jag till en konfiguration i filen configuration.yaml eftersom DuckDNS inte hanterar https, bara låt oss kryptera certifikatet och DuckDns -uppdateringen:

http:

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

Steg 3: Det anpassade elektroniska kortet för att förbättra den automatiska skjutporten

Det anpassade elektroniska kortet för att förbättra den automatiska skjutporten
Det anpassade elektroniska kortet för att förbättra den automatiska skjutporten
Det anpassade elektroniska kortet för att förbättra den automatiska skjutporten
Det anpassade elektroniska kortet för att förbättra den automatiska skjutporten
Det anpassade elektroniska kortet för att förbättra den automatiska skjutporten
Det anpassade elektroniska kortet för att förbättra den automatiska skjutporten

Kanske var det den mest ovanliga delen för mig eftersom jag vanligtvis är mer tweaking programvaror än hårdvara. Jag har börjat med en brödbräda och en mycket grundläggande krets, bara för att kontrollera att jag kan ladda upp ett program inuti Wemos D1 mini och att blinka en lysdiod. Sedan har jag ändrat firmware för ESPhome och följer den här perfekta artikeln:

Efter några iterationer för att hitta rätt krets har jag dokumenterat det med Fritzing. Var noga med att spendera tid på detta steg eftersom det inte finns någon återvändo när allt är lödt (inte exakt men inte lätt återställning). Jag har försökt simulera ingångssensorn från Automatisk skjutport men det här var ett misslyckande (jag förklarar senare varför). Personligen fann jag att Fritzing är ett bra verktyg för att dokumentera vad du leder på brädbrädan.

Obs! Du hittar en bra utgångspunkt här i ESPhome FAQ om du inte kan ansluta din ESPHome till Home Assistant för den första initialiseringen. Efter att firmware har laddats upp kommer du att kunna ladda upp "via luften" (OTA).

Relä för att aktivera öppen/stäng avtryckaren

I den tekniska specifikationen för den automatiska skjutporten specificeras att du måste stänga en krets mellan "START" och "COM" för att utlösa en åtgärd för att öppna/stänga grinden (hela öppningen). En nära krets mellan "START. P" och "COM" utlöser en åtgärd som öppnar/stänger porten för fotgängare. Jag använde inte "STOPP" men detta är samma koncept men att stoppa porten när man öppnar eller stänger.

På valet av elektronisk komponent har jag bestämt mig för att gå för ett relä istället för en transistor. Transistorer är trevliga men de ger ingen garanti för att kretsen är helt nära. Jag tror att de kan släppa ut mycket låg ström i kretsen. En annan fördel med relä är att när du testar din krets hör du i princip när kontakten är nära med ljudet "klick".

Få det öppna sensorläget

I början tänkte jag på att använda några magnetiska sensorer för att upptäcka portens öppna eller stängda tillstånd. Men jag har insett att det finns en kontakt som nämner "gränssensor" på regulatorn. Tydligen inte gjord för att användas (av nördar som jag), jag hittade med en kontakttestare att jag kan läsa staten öppna eller stänga när jag öppnar grinden. Jag har gjort ett stort misstag när jag trodde att staten var en slags TTL -logisk spänning (3.3v). I det här fallet kan du ansluta dem direkt till Wemos Input. Men i själva verket, när porten öppnas, finns det en 6,3v utspänning. För att använda denna signal måste du dela spänningen med denna typ av krets https://www.learningaboutelectronics.com/Articles/H… Lösningen är ganska enkel eftersom spänningen måste delas med två. Så jag har använt två 10 Kohms -motstånd mellan gränssensorutgången och Wemos -ingången (titta igen på de bifogade bilderna för ett schema).

Billig 5V strömförsörjning

För att driva alla dessa komponenter använder jag en gammal mobiltelefonförsörjning. Jag öppnade den och bytte kontakt till liten pluggkabel med skruv. Jag bestämde mig också för att slå ihop de två kretskorten (esp och strömförsörjning) med varmt lim (ja jag vet, det här är lite smutsigt men det fungerar:-). Inte det renaste någonsin men lättare att hantera och undvika att röra 220v.

Det är allt för hårdvarudelen.

Steg 4: ESPHome -firmware för att köra på PCB -prototypen

Logiken inuti ESP8266 injiceras via Home Assistant-portalen ESPHome Add-on. Du kodar logiken som ESPHome exekverar. Den mycket lilla typen av applikationer måste vara kod med ESPHome -syntax. Det är riktigt enkelt och det är roligt, för bara med några rader YAML blir din ESP8266 snabbt en smart sak. Hela källkoden är tillgänglig här: https://gist.github.com/toomone/819112ea1b04937912… Låt oss fokusera på den viktiga delen av koden.

Styr reläerna

Som jag sa tidigare kan den automatiska skjutgrindkontrollen utlösa en öppen eller stängd åtgärd med bara en kort impuls (stäng krets) mellan två ingångar. För att göra det måste du konfigurera en switch -sektion med liten konfiguration. Låt oss till exempel fokusera på den del som aktiverar (öppnar eller stänger) portens öppning delvis (behövs till exempel för en fotgängare).

växla:

- plattform: gpio -pin: D3 // PIN -numret där signalen kommer att matas ut på Wemos -id: reläåterställningsmod: ALLTID_OFF - plattform: mallnamn: "Gate Pedestrian Remote" -ikon: "mdi: walk" turn_on_action: // the logik som ska utföras av ESPHome för att simulera en puls - switch.turn_on: relay - delay: 500ms - switch.turn_off: relay

Den tidigare koden genererar en switch och en mall. Dessa två koncept gör att ESPHome kan erbjuda en förbättrad mekanism utan riktig kodning. Jag inbjuder dig att läsa ESPHome -dokumentationen för att fördjupa de erbjudna funktionerna. https://esphome.io/cookbook/relay.html och

Läser öppen stäng sensortillstånd

binär_sensor:

- plattform: gpio -pin: nummer: D1 inverterad: sant namn: "Öppen sensor" id: open_sensor device_class: garage_door

Denna del av manuset säger till wemos -kortet att läsa läget på den öppna sensorn på D1. För att hitta D1, läser du bara på ditt Wemos -kretskort. Jag har använt parametern "inverterad" till true för att invertera signalvärdet. Jag kommer inte ihåg den klara anledningen men jag tror att det var enkelt att visa nära eller öppna i enlighet med portalstatus på HA -instrumentpanelen.

Tillåter API -anrop till ESPHome

Om du vill kunna använda widgeten Hemassistent på din telefon måste du lägga till den här lilla koden:

# Aktivera Home Assistant API

api: tjänster: - tjänst: open_portal_pedestrian då: - switch.turn_on: relä - fördröjning: 500ms - switch.turn_off: relä

På detta sätt kommer hemassistentens appkonfigurator att lista åtgärden för att öppna portalen. Jag har bara valt den för fotgängare eftersom det är den jag använder mest.

Steg 5: Exponera din hemassistent för världen

Exponera din hemassistent för världen
Exponera din hemassistent för världen
Exponera din hemassistent för världen
Exponera din hemassistent för världen

För att du vill kunna öppna din automatiska skjutport från var du än är på planeten och inte bara hemifrån, du måste utsätta din HA för världen. Förresten, var noga med att använda en stark lösenordsautentisering. På din internetrouter måste du konfigurera en regel för att dirigera all trafik som kommer från en specifik port till en specifik IP och även en port. Till exempel hittar du konfigurationen jag har gjort på min leverantörsrouter (förlåt, det är på franska) men du kommer att märka att det är riktigt enkel konfiguration. Regeln måste berätta för din router att acceptera allt protokoll på port xxxx för att gå till Home Assistant IP med port 8123 (om du inte ändrade det).

Det är allt. Tveka inte att ställa frågor för jag har verkligen glömt att lägga till detaljer om specifik del. Systemet fungerar varje dag utan problem. Jag gillar också det faktum att jag kan ha porten öppen eller stängd från min telefon.

Rekommenderad: