Inhoudsopgave:
- Benodigdheden
- Stap 1: Hoe werkt het?
- Stap 2: Installeer en installeer Home Assistant op Raspberry PI
- Stap 3: Het aangepaste elektronische bord om de automatische schuifpoort te verbeteren
- Stap 4: ESPHome-firmware om op het PCB-prototype te draaien
- Stap 5: Stel uw Home Assistant bloot aan de wereld
Video: Bedien uw automatische schuifpoort met Home Assistant en ESPHome - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:14
Het volgende artikel is wat feedback over mijn persoonlijke ervaring met het besturen van de automatische schuifpoort die ik op mijn huis had geïnstalleerd. Deze poort, gemerkt "V2 Alfariss", was voorzien van enkele Phox V2 afstandsbedieningen om hem te bedienen. Ik heb ook een Google Nest Hello deurbel, die helaas niet in de schuifhekcontroller kan worden gestoken om de poort op afstand te openen vanuit de mobiele app. Voor mij was een manier om deze beperking op te lossen het vinden van een manier om de automatische schuifpoortcontroller met internet te verbinden. Met deze nieuwe, verbonden poort kan ik use cases beantwoorden, zoals het bedienen van de schuifpoort met mijn mobiele telefoon. Ik heb dit bereikt door Home Assistant, ESPhome en een paar elektronische onderdelen te gebruiken.
Het idee achter dit artikel is niet om je iets kant-en-klaar te geven, maar om je te inspireren. Denk eraan, als u niet exact dezelfde automatische poort heeft, vergeet dan niet de technische documentatie voor uw model te downloaden en te lezen. Pas het aan en verbeter het. Waarschuwing: Wees voorzichtig en vergeet niet de stroom uit te schakelen voordat u de hoofdcontroller opent. Genieten van!
Benodigdheden
-
Gereedschap:
- Schroevendraaier
- Soldeerbout
- Multimeter
-
Onderdelen:
- Raspberry PI 3 (volledige set: 2A alim + 32gb sd-kaart)
- ESP8266 Wemos D1 mini
- 2 relaismodules
- 2 weerstanden 10k
- PCB voor prototyping
- Draden
Stap 1: Hoe werkt het?
De grootste uitdaging hierbij is om de automatische schuifpoort te koppelen aan een smartphone. Laten we hiervoor van de automatische schuifpoort een IOT-apparaat maken. Natuurlijk zijn er meerdere manieren om dit te bereiken. In mijn geval besloot ik na wat experimenten te gaan met:
- Home Assistant gebruiken als hub voor het besturen van de portal en het ontvangen van verzoeken van een gebruiker.
- ESPHome installeren als de firmware in de ESP8266.
-
Elektronische onderdelen:
- Een prototype PCB om componenten te solderen en aan te sluiten
- Twee relais om de drukknop te simuleren om de poort te openen of te sluiten
- Een oude 5V voeding om de ESP8266. van stroom te voorzien
- Twee weerstanden om de spanning van de open/dicht-sensor te verdelen
- Een internetverbinding met een router (configuratiefunctie voor NAT-regels nodig)
- Een DuckDNS-account om de naamresolutie naar je Home Assistant toe te staan
- Een mobiele telefoon om de Home Assistant-app en een widget op het scherm te installeren
De stroom
Kijk naar het schema om het beter te begrijpen.
- Vanaf je mobiele telefoon druk je op de Home Assistant-widget voor de mobiele app
- Er wordt een verzoek verzonden naar uw Home Assistant-webadres (opgelost door DuckDNS en TLS door let's encrypt).
- Uw internetrouter stuurt het verzoek door naar de Home Assistant-toepassing
- Home Assistant stuurt de verzoekactie naar ESPHome
- ESPHome activeert de automatische schuifpoortmotor
- Champagne!
Stap 2: Installeer en installeer Home Assistant op Raspberry PI
Home Assistant kan worden gezien als een hub voor al je IOT-dingen voor thuis. Het is een goede plek om alle aangesloten apparaten te bedienen en veel functies toe te voegen. De belangrijkste features die ik het leukst vind zijn het dashboard, de API en de diversiteit aan add-ons.
Installatie
Ik heb duidelijk geen toegevoegde waarde om je te vertellen hoe je Home Assistant moet instellen en installeren. Voor dit project kende ik deze software zelfs niet. De belangrijkste artikelen zijn:
- Installeer Home Assistant met dit artikel
-
Netwerkconfiguratie voor Home Assistant vindt u hier:
github.com/home-assistant/operating-system…
- Installeer ESPHome hiermee:
- Installeer DuckDNS Add-on voor Home Assistant:
- Installeer de File Editor-plug-in (handig):
Na al deze punten heb je een mooie Home Assistant draaien op je Raspberry PI. U moet het kunnen bereiken via HTTP en een lokaal IP-adres of probeer
Configuratie
Configureer DuckDNS met uw domein en met het token. U kunt bijvoorbeeld op de foto's een deel van mijn configuratie zien. Vergeet niet om accept_terms te accepteren met "true".
lets_encrypt:
accept_terms: true certfile: fullchain.pem keyfile: privkey.pem token: 92f56bb2-2c26-4802-8d4d-xxxxxxxxxxxx domeinen: - nameofyourchoice.duckdns.org seconden: 300
Ik besluit HA te configureren met een statisch IP omdat het eenvoudiger is en je er zeker van bent dat het IP hetzelfde zal zijn na een herstart en dan blijven je port forwarding regels werken: https://github.com/home-assistant/ besturingssysteem…
In mijn geval voeg ik een stukje configuratie toe aan het bestand configuration.yaml omdat DuckDNS de https niet beheert, alleen het certificaat laten versleutelen en de DuckDns-update:
http:
ssl_certificaat: /ssl/fullchain.pem ssl_key: /ssl/privkey.pem base_url:
Stap 3: Het aangepaste elektronische bord om de automatische schuifpoort te verbeteren
Misschien was het voor mij het meest ongewone deel, omdat ik meestal meer software-dingen aan het tweaken ben dan hardware. Ik ben begonnen met een breadboard en een heel eenvoudig circuit, gewoon om te controleren of ik een programma in de Wemos D1 mini kan uploaden en een LED kan laten knipperen. Vervolgens heb ik de firmware voor de ESPhome gewijzigd en volg ik dit perfecte artikel om aan de slag te gaan:
Na wat iteraties om het juiste circuit te vinden, heb ik het gedocumenteerd met Fritzing. Zorg ervoor dat u tijd aan deze stap besteedt, want er is geen weg terug als alles is gesoldeerd (niet precies, maar niet gemakkelijk terug te draaien). Ik heb geprobeerd de invoersensor van Automatische schuifpoort te simuleren, maar dit was een mislukking (ik leg later uit waarom). Persoonlijk vond ik dat Fritzing een goed hulpmiddel is om te documenteren wat je op het breadboard bedraden.
Opmerking: u vindt hier een goed startpunt in ESPhome FAQ als u uw ESPHome niet kunt aansluiten op Home Assistant voor de eerste initialisatie. Nadat de firmware is geüpload, kunt u "over the air" (OTA) uploaden.
Relais om trigger voor openen/sluiten te activeren
In de technische specificatie van de automatische schuifpoort staat vermeld dat u een circuit tussen "START" en "COM" moet sluiten om een actie te activeren om de poort te openen/sluiten (de volledige opening). Een gesloten circuit tussen "START. P" en "COM" activeert een actie om de poort te openen/sluiten voor voetgangers. Ik heb de "STOP" niet gebruikt, maar dit is hetzelfde concept, maar om de poort te stoppen bij het openen of sluiten.
Wat betreft de keuze voor elektronische componenten, heb ik besloten om voor een relais te gaan in plaats van een transistor. Transistors zijn mooi, maar ze bieden geen garantie dat het circuit perfect dicht is. Ik denk dat ze een zeer lage stroom in het circuit kunnen laten gaan. Een ander voordeel van relais is dat wanneer u uw circuit test, u in principe hoort wanneer het contact dichtbij is met het geluid "klik".
Verkrijg de open sensorstatus
In het begin dacht ik erover om magnetische sensoren te gebruiken om de open- of sluitstatus van de poort te detecteren. Maar ik heb me gerealiseerd dat er een stekker is met de vermelding "limietsensor" op de controller. Het is duidelijk niet gemaakt om te worden gebruikt (door nerds zoals ik), ik ontdekte met een contacttester dat ik de staat open of dicht kan lezen wanneer ik de poort open. Ik heb een grote fout gemaakt door te denken dat de toestand een soort TTL-logische spanning was (3,3 V). In dit geval kunt u ze rechtstreeks aansluiten op Wemos Input. Maar in feite, wanneer de poort wordt geopend, is er een uitgangsspanning van 6,3 V. Om dit signaal te gebruiken, moet je de spanning delen met dit soort circuit https://www.learningaboutelectronics.com/Articles/H… De oplossing is vrij eenvoudig omdat de spanning door twee moet worden gedeeld. Dus ik heb twee 10 Kohms-weerstanden gebruikt tussen de limietsensoruitgang en de Wemos-ingang (kijk nogmaals in de bijgevoegde afbeeldingen voor een schema).
Goedkope 5v voeding
Om al deze componenten van stroom te voorzien, gebruik ik een oude voeding voor een mobiele telefoon. Ik opende het en veranderde de plug in een kleine plugkabel met schroef. Ik heb ook besloten om de twee pcb's (esp en voeding) samen te voegen met hete lijm (ja ik weet het, dit is een beetje vies maar het werkt:-). Niet het schoonste ooit, maar gemakkelijker te hanteren en vermijd het aanraken van de 220v.
Dat is alles voor het hardwaregedeelte.
Stap 4: ESPHome-firmware om op het PCB-prototype te draaien
De logica in de ESP8266 wordt geïnjecteerd via de Home Assistant-portal ESPHome Add-on. U codeert de logica die de ESPHome uitvoert. Het zeer kleine soort toepassing moet code zijn met ESPHome-syntaxis. Het is heel gemakkelijk en leuk, want met slechts een paar regels YAML wordt je ESP8266 snel een slim ding. De volledige broncode is hier beschikbaar: https://gist.github.com/toomone/819112ea1b04937912… Laten we ons concentreren op het belangrijke deel van de code.
Besturing van de relais
Zoals ik al eerder zei, kan de automatische schuifpoortcontroller een open- of sluitactie activeren met slechts een korte impuls (gesloten circuit) tussen twee ingangen. Om dat te doen, moet u een schakelgedeelte configureren met weinig configuratie. Laten we ons bijvoorbeeld concentreren op het deel dat de gedeeltelijke opening van de poort activeert (opent of sluit) (bijvoorbeeld nodig voor een voetganger).
schakelaar:
- platform: gpio-pin: D3 // de pincode waar het signaal wordt uitgevoerd op de Wemos-id: relay restore_mode: ALWAYS_OFF - platform: sjabloonnaam: pictogram "Gate Pedestrian Remote": "mdi:walk" turn_on_action: // de logica die door de ESPHome moet worden uitgevoerd om een puls te simuleren - switch.turn_on: relais - vertraging: 500ms - switch.turn_off: relais
De vorige code genereert een schakelaar en een sjabloon. Met deze twee concepten kan ESPHome een verbeterd mechanisme bieden zonder echte codering. Ik nodig u uit om de ESPHome-documentatie te lezen om de aangeboden functies te verdiepen. https://esphome.io/cookbook/relay.html en
Lezen open dicht sensor staat
binaire_sensor:
- platform: gpio-pin: nummer: D1 omgekeerd: ware naam: "Open sensor" id: open_sensor device_class: garage_door
Dit deel van het script vertelt het wemos-bord om de status van de open sensor op D1 te lezen. Om D1 te vinden, hoeft u alleen maar te lezen op uw Wemos-printplaat. Ik heb de "omgekeerde" parameter gebruikt om waar te zijn om de signaalwaarde om te keren. Ik herinner me de duidelijke reden niet meer, maar ik denk dat het eenvoudig was om sluiten of openen weer te geven in overeenstemming met de portalstatus op het HA-dashboard.
API-aanroep naar ESPHome toestaan
Als je de Home Assistant-widget op je telefoon wilt gebruiken, moet je dit kleine stukje code toevoegen:
# Schakel Home Assistant API in
api: services: - service: open_portal_pedestrian dan: - switch.turn_on: relais - vertraging: 500ms - switch.turn_off: relais
Op deze manier zal de app-configurator van de Woningassistent de actie weergeven om de portal te openen. Ik heb alleen die voor voetgangers gekozen, omdat ik deze het meest gebruik.
Stap 5: Stel uw Home Assistant bloot aan de wereld
Omdat u uw automatische schuifpoort overal ter wereld wilt kunnen openen en niet alleen vanuit uw huis, maar dat u uw HA aan de wereld moet blootstellen. Zorg er trouwens voor dat u een sterke wachtwoordverificatie gebruikt. Op uw internetrouter moet u een regel configureren om al het verkeer dat van een specifieke poort naar een specifiek IP-adres en ook een poort komt, te routeren. U vindt bijvoorbeeld de configuratie die ik heb gedaan op mijn providerrouter (sorry, het is in het Frans), maar u zult merken dat het een heel eenvoudige configuratie is. De regel moet uw router vertellen om alle protocollen op poort xxxx te accepteren om op Home Assistant IP te gaan met poort 8123 (als u deze niet hebt gewijzigd).
Dat is alles. Aarzel niet om vragen te stellen, want ik ben zeker vergeten details over een specifiek onderdeel toe te voegen. Het systeem werkt elke dag zonder problemen. Ik vind het ook leuk dat ik de status van de portal vanaf mijn telefoon kan openen of sluiten.
Aanbevolen:
Een IoT Halloween-pompoen - Bedien LED's met een Arduino MKR1000 en Blynk-app ???: 4 stappen (met afbeeldingen)
Een IoT Halloween-pompoen | Bedien LED's Met een Arduino MKR1000 en Blynk App ???: Hallo allemaal, Een paar weken geleden was het Halloween en volgens de traditie heb ik een mooie pompoen uitgesneden voor op mijn balkon. Maar toen ik mijn pompoen buiten had, realiseerde ik me dat het best vervelend was om elke avond de deur uit te moeten om de kaars aan te steken. En ik
Bedien uw computer met uw hoofd!: 6 stappen (met afbeeldingen)
Bedien je computer met je hoofd!: Hallo, ik heb een systeem gemaakt waarmee je de muis van je computer kunt besturen door gewoon je hoofd te bewegen. Als je mijn project leuk vindt, aarzel dan niet om op mij te stemmen in de Arduino Contest 2017;) Waarom heb ik dit gemaakt? Ik wilde een object maken dat videogames m
Bedien uw LED's met de afstandsbediening van uw tv?! -- Arduino IR-zelfstudie: 5 stappen (met afbeeldingen)
Bedien uw LED's met de afstandsbediening van uw tv?! || Arduino IR-zelfstudie: in dit project zal ik je laten zien hoe ik de nutteloze knoppen op de afstandsbediening van mijn tv heb hergebruikt om de LED's achter mijn tv te bedienen. Je kunt deze techniek ook gebruiken om allerlei dingen te besturen met een beetje code-editing. Ik zal ook wat vertellen over de theorie
Bedien uw modeltreinlay-out met uw mobiele telefoon! 11 stappen (met afbeeldingen) Antwoorden op al uw "Hoe?"
Bedien uw modeltreinlay-out met uw mobiele telefoon!: Het besturen van een modeltreinlay-out met een bedrade gashendel en wisselcontrollers is misschien een goed begin voor beginners, maar ze vormen een probleem van niet-draagbaarheid. Ook kunnen de draadloze controllers die op de markt komen slechts enkele locomotieven aansturen
Bedien ESP8266 vanuit Google Home met GBridge.io: 4 stappen
Bedien ESP8266 vanuit Google Home met GBridge.io: er zijn verschillende manieren om ESP8266 vanuit Google Home te bedienen, maar de meeste oplossingen die u op internet kunt vinden, gebruiken IFTT, wat niet echt gebruiksvriendelijk is om in te stellen. gBridge.io maakt het proces eenvoudiger en naadloos te handelen.In deze how-to gui