Gjør garasjeporten smart med OpenGarage
Vi bygger en OpenGarage-enhet med Arduino for å gjøre hverdagen enda litt enklere. I tidsklemma er noen av de mest hektiske øyeblikkene når vi drar om morgenen og kommer hjem om ettermiddagen. Vi tar utfordringen med å strømlinjeforme en liten del av dette – å komme oss inn og ut av garasjen.
Mitt utgangspunkt
Jeg har en dobbel garasjeport med en enkelt åpner. Til den har vi selvfølgelig flere fjernåpnere, i tillegg til en veggmontert bryter som aktiverer garasjeporten ved å slutte en krets.
I en tidligere bolig hadde jeg en portåpner med kun trådløs fjernstyring. Dersom dette gjelder deg, kan du bruke trikset jeg brukte den gangen: rett og slett feste en Switchbot til garasjeportåpneren med medfølgende tape. Da trykker den inn knappen fysisk, og åpner porten for deg. For at dette skal fungere også når du er borte, anbefales en Switchbot Hub eller en annen smarthub som for eksempel Homey. Denne løsningen har jeg brukt også i den nye boligen, helt frem til dette prosjektet.
En Switchbot kan selvfølgelig være en feilkilde i seg selv. I tillegg til at internettilkoblingen må være på plass, må du følge med på batterinivået og om 3M-festet fortsatt holder. Batterikapasitet kan være en utslagsgivende faktor i en kald garasje. Derfor var det naturlig å finne en mer stabil løsning, og valget falt på OpenGarage.
Hva er OpenGarage?
OpenGarage er både en enhet du kan kjøpe, og som du kan bygge selv ved hjelp av Arduino. Jeg valgte å ta utfordringen og bygge den selv, og det viste seg å være ganske enkelt. OpenGarage er i utgangspunktet en programvare med åpen kildekode, som kjører på en liten datamaskin og har en enkelt jobb: utløse et relé som aktiverer garasjeporten. I tillegg har den en avstandsmåler som monteres i taket, og rapporterer tre nivåer: dersom porten er åpen er avstanden til porten under 50 centimeter. Dersom det er en bil i garasjen er avstanden i overkant av en meter. Og dersom avstanden overskrider to meter, er garasjen tom og porten lukket.
Dersom du kjøper den ferdige enheten, kommer den ferdig montert og programmert, og du trenger bare å sette den opp. Dersom du har tatt denne snarveien kan du hoppe til steg 3, som går på montering i garasjen. Ellers kan du være med på den morsomme reisen og bygge selve enheten.
Arduino er en gjør-det-selv-plattform hvor du kan bygge og programmere elektroniske prototyper. Du kan koble til sensorer, lys, motorer, releer og brytere, og programmere hva som skal skje dersom en verdi endres. Dette kan hvem som helst gjøre ved hjelp av en startpakke og en datamaskin. Det finnes et stort miljø rundt dette, og mange eksempler på morsomme prosjekter man kan lage.
Disse delene trenger du
I tillegg trenger du naturligvis en PC eller Mac, og en Micro USB-kabel.
Steg 1: Installer programvaren på Arduino
Før du gjør noe annet er det lurt å se til at enheten fungerer som den skal. Derfor er det første du bør gjøre å legge inn riktig programvare. Husk at dersom du ikke får til programvaren, kan du laste ned Arduino-programvaren og legge inn et eksempelprosjekt, som for eksempel Blink. Da vil du se om enheten tar imot firmware.
For å installere OpenGarage bruker vi derimot ikke Arduino-programvaren. I stedet legger vi inn en ferdig firmware på kortet, som er ferdig kompilert. Til dette trenger du et ekstra program, som for eksempel NodeMCU Flasher til Windows eller PyFlasher til Mac. I dette programmet velger du bare den ferdig kompilerte firmwaren i bin-format, og velger COM-porten som din WeMos er koblet til. I de fleste tilfeller vil du se hvilken av alternativene i nedtrekksmenyen som er riktig. Trykk på «Flash», og vent.
Du vil få en bekreftelse, og etter en liten stund vil enheten starte opp, og opprette et eget trådløst nettverk. Koble til dette nettverket, og åpne en nettleser. Her kan får du muligheten til å fylle ut innstillingene for ditt eget trådløse nettverk. Lagre endringene, og etter en liten stund vil enheten dukke opp på nettverket ditt. For å vite hvilken IP åpneren har fått på nettverket ditt, kan du enten logge på ruteren din og se tilkoblede enheter, eller du kan bruken en app som f.eks. Fing.
Steg 2: Lodding av sensor og relé
Da er tiden inne for å sy sammen utviklingskort, sensor og relé. WeMos D1 kommer uten pinner, og du må derfor bruke loddebolt for å feste de medfølgende pinnene. Dersom du ikke er så erfaren med lodding bør du teste loddebolten litt på forhånd. Det er viktig at ingen pins berører hverandre. Gjør det samme med reléskjoldet, men pass på at du fester det riktig vei, og at markeringen av de ulike pinnene er på samme sted på kortet og skjoldet.
Den standard OpenGarage-firmwaren bruker pinnen D5 for å aktivere reléet, men dersom du bruker reléskjoldet og ikke et frittstående relé, aktiveres reléet på pinnen D1. Da kan du jukse litt og lodde en ledning som går mellom D5 og D1.
Deretter lodder du på bevegelsessensoren på D6, og tilsvarende til 5V og jord. Når du da kobler USB-kabelen til utviklingskortet, vil du kunne gå til IP-adressen til kortet og få opp OpenGarage-grensesnittet i nettleseren. Her vil du få reell data fra avstandssensoren, og kunne aktivere releet.
Steg 3: Montering i garasjen
Først og fremst måtte jeg ha muligheten til å aktivere garasjeporten fra reléet. Jeg brukte en høyttalerledning, og byttet ut en eksisterende sukkerbit med en fireveis sukkerbit. Slik kan kretsen fremdeles sluttes med eksisterende knapp i garasjen, men jeg kan i tillegg slutte kretsen trådløst ved hjelp av reléet. Den andre enden av høyttalerkabelen kobles til reléet. På dette releet er det tre skruer du kan feste kabelen til. Alt etter om du kobler til de to til høyre eller de to til venstre, blir kretsen NO eller NC. Relékortet er merket med dette. Du skal velge NO, som betyr Normal Open. Det vil si at kretsen er åpen i normaltilstand, og lukkes når det aktiveres. OpenGarage er selv programmert til å lukke kretsen i ett sekund, og så åpne den igjen.
Avstandssensoren må festes slik at den er i overkant av garasjeporten i åpen tilstand, og over panseret på bilen. Den kan skrues til en bjelke eller festes ved hjelp av en klebende pute eller noe annet. Da vil sensoren basert på avstand til objektet under kunne si om garasjeporten er lukket (under 50 cm), om porten er lukket med bil tilstede (50-150 cm), eller om garasjen er tom med porten lukket (over 150 cm).
Steg 4: Konfigurering
Du kan flikke på disse verdiene inne i webgrensesnittet. Du kan også sette flere innstillinger, og aktivere blant annet skytilkoblinger og MQTT. Du kan også sette opp enkle automasjoner direkte i grensesnittet, som å enten varsle eller automatisk lukke garasjen etter 30 minutter, eller varsle dersom garasjen er åpen etter et gitt tidspunkt.
Jeg har imidlertid valgt å gjøre automasjoner og varsling gjennom smarthussystemet. Du får nemlig en integrasjon mot OpenGarage både i Home Assistant og i Homey. Der legger du bare inn IP-adressen til garasjeåpneren, og den kan styres derifra. Merk at du bør logge inn på ruteren din og tildele en fast IP til enheten, slik at ruteren ikke tildeler en ny adresse og du ikke lenger får kontakt. Hvordan du gjør dette varierer etter hvilken ruter du har. Dersom du har fått en ruter fra bredbåndsleverandøren din, må du kanskje kontakte dem for å få brukernavn og passord.
Erfaringer og resultat
I løpet av de to ukene åpneren har vært operativ har det ikke vært et eneste feilslag. Det skal sies at den trådløse rekkevidden til ESP8266 er nokså dårlig, og jeg hadde problemer med å få en stabil tilkobling til ruteren inne i huset. Løsningen ble å sette opp et trådløst mesh-aksesspunkt i garasjen. WiFi i garasjen er jo bare fornuftig, men absolutt verdt å tenke på før du går i gang.
Har du en smart garasjeåpner? Kjøpte du hyllevare eller laget selv? Gjerne del dine erfaringer i kommentarfeltet under.
Finnes det noe koblingsskjema for hvordan dette skal loddes sammen ?