Innholdsfortegnelse:

Garasjeportåpner ved hjelp av en Raspberry Pi: 5 trinn (med bilder)
Garasjeportåpner ved hjelp av en Raspberry Pi: 5 trinn (med bilder)

Video: Garasjeportåpner ved hjelp av en Raspberry Pi: 5 trinn (med bilder)

Video: Garasjeportåpner ved hjelp av en Raspberry Pi: 5 trinn (med bilder)
Video: Låst ute av garasjen? Slik bruker du nødåpneren. 2024, November
Anonim
Garasjeportåpner ved hjelp av en Raspberry Pi
Garasjeportåpner ved hjelp av en Raspberry Pi

Kontroller garasjemotoren fra en smarttelefon eller hvilken som helst enhet som kan surfe på en webside (med AJAX!). Prosjektet ble startet da jeg bare hadde en fjernkontroll for garasjen min. Hvor gøy var det å kjøpe en ny? Ikke nok. Målet mitt var å kunne kontrollere og overvåke garasjeporten min fra smarttelefonen min med en enkelt side. Jeg har ikke lagt noen fancy sikkerhet rundt det, da RPi ikke er avslørt utenfor LAN -en min. Dermed stoler jeg på VPN for å få tilgang til nettsiden. Ved å bruke en Android -smarttelefon er det veldig enkelt å sette opp et VPN og legge til en webside på startskjermen. Alt jeg trengte var programvaren for det.

Hvis du vil støtte meg med å skrive andre instrukser, kan du kjøpe maskinvare fra Amazon -sponsede lenker.

Denne instruksen er nå også tilgjengelig fra min personlige side:

Trinn 1: Litt bakgrunn

Det jeg fant på nettet

Som programmerer liker jeg å bruke opplæringsprogrammer eller allerede "produksjonsnivå" -kode. I dette tilfellet var jeg ikke fornøyd med det jeg fant:

  • Raspberry Pi Garage Door Opener av quartarian. Der jeg begynte, en enkel knapp for å styre reléet. Ingen åpne/lukke knapper, ingen tilbakemelding. Det var uansett veldig nyttig å forstå konseptet rundt dedikert RPi for å styre en motor fra et relé. Kablingen jeg bruker nå er fortsatt den samme for kommandodelen.
  • Raspberry Pi garasjeportåpner med GaragePi av Chase Chou. Samme type oppsett, men bruker en ekstra trådløs fjernkontroll. Jeg var ikke villig til å drepe min eneste fjernkontroll. Det viste seg uansett å bruke samme type elektrisk oppsett for kommandodelen. Underveis lærte jeg om WebIOPi for å sjekke GPIO -en min over en webside. Det var der jeg også lærte om å sette en snarvei til min Android -startskjerm. Det begynte også å belyse ideen om å stole på tjenester, tross alt, jeg vil at den skal være pålitelig.
  • Making Your Garage Door Email, Tweet, or SMS: Part 1 Av Richard L. Lynch. Denne la til ideen om å bruke en magnetisk sensor for å kontrollere dørtilstanden. Imidlertid har jeg ikke brukt mye da jeg ikke bygde et alarmsystem, men et kommando/monitor -system.
  • Helt trådløs garasjeportåpner / sikkerhetskamera fra DeckerEgo. Dette gjorde meg bedre klar over streaming av webkamera for å overvåke døren. Jeg må fortsatt legge litt innsats i det. Kanskje jeg må resirkulere en USB -hub eller hente et annet webkamera.
  • Raspberry Pi -kontroll fra mobilenhet eller stasjonær nettleser av Frédérick Blais. Dette er nå min base for programvarestakken. Den bruker Flask til å kjøre en veldig enkel webside sammen med AJAX. Dette er førsteklasses for meg ettersom det gir sanntidsovervåking og kommandoalternativer. Les under.

Om min RPi

Siden jeg fremdeles lærer om RPi og elektroniske ting generelt, kjøpte jeg en rekke ting til min nyanskaffede Raspberry Pi: noen kabler, en T-skomaker, noen lysdioder, en en-relemodul, en åtte-releer modul, en LCD -skjerm og så videre. Jeg er på ingen måte elektroniker, og dette viste seg å være veldig lærerikt. For å kjøpe ekstra maskinvare er Amazon og Ebay dine beste venner.

Den nåværende tilstanden til prosjektet inkluderer følgende maskinvare:

  • En Raspberry Pi (FR/DE) som kjører Raspbian Wheezy 2014-09-09 med de siste oppdateringene
  • Et 8 GB (FR/DE) eller 16 GB (FR/DE) eller 32 GB (FR/DE) micro SD -kort klasse 10 for å holde operativsystemet, filer og så videre
  • To garasje sivbrytere i sinklegering (FR/DE) for å oppdage åpen/lukket tilstand
  • En 3v relemodul (FR/DE) for å sende kommandoer til dørmotoren (min har en innebygd LED for å overvåke relétilstanden, veldig praktisk!)
  • Et loddfritt brødbrett (FR/DE) og 2 øyeblikkelige brytere (FR/DE) for å simulere døren på skrivebordet mitt (eller få et startsett (FR/DE))
  • En wifi -dongle (FR/DE) for å fjerne ekstra kabling når den henger fra taket i garasjen

En begrensning jeg fortsatt har er at jeg ikke vet når døren er halvveis, stoppet eller fortsatt beveger seg. Dette er også grunnen til at jeg senere vil legge til et gammelt webkamera for å streame fra innsiden av garasjen. Sannsynligvis vil jeg faktisk legge til en sensor for å overvåke selve motoren.

Trinn 2: Programvarestack

Software Stack
Software Stack

Generelle ting

Programvaren er avhengig av Python, Flask og WiringPi GPIO Python -modulen. Som forklart i bakgrunnen, startet jeg fra opplæringen Raspberry Pi -kontroll fra mobilenhet eller stasjonær nettleser utgitt av Frédérick Blais. Den nåværende programvaren består av:

  • En HTML -malfil som inneholder noen jQuery Mobile -kode og kontroller
  • En Python Pins -modul for å få tilgang til GPIO til Raspberry Pi
  • En Python go -modul for å kjøre Flask og støtte AJAX -spørringene

Det som er tilstede i depotet er råprogramvaren. Det er på ingen måte fancy eller overveldende av funksjoner. Det var akkurat det jeg klarte å oppnå fra det jeg har lært.

Nåværende grensesnitt

For øyeblikket leses tilstanden for dører hvert 0,5 sekund. To brytere brukes for både åpen/lukket tilstand. Et relé brukes til å styre motoren. Gjeldende kode sender fortsatt ut noen feilsøking. Nedenfor skjermbilde er fra en Nexus 5.

Trinn 3: Maskinvare - Alpha

Maskinvare - Alpha
Maskinvare - Alpha
Maskinvare - Alpha
Maskinvare - Alpha

Test seng

Testen min er ganske enkel, en RPi, et relé og to brytere. For å holde ting tett, er noen få glidelåser (FR/DE) alt du trenger. Her er et bilde av det. RJ45 LAN -kabelen (FR/DE) er for desktop debug og WIFI -dongle for garasjebruk.

Levende system

RPi er bare koblet til dørmotor for nå, brytere vil følge. Jeg må vente litt med å få min varmekrympende slange (FR/DE). Jeg burde også vært mer stabil. Beklager uskarphet.

De blå, gule og grønne kablene til venstre er for magnetbryterne.

  • Blått er GND
  • Gul og grønn er pinne 18 (åpen tilstand) og 27 (lukket tilstand).

Trinn 4: Maskinvare - Beta

Maskinvare - Beta
Maskinvare - Beta
Maskinvare - Beta
Maskinvare - Beta
Maskinvare - Beta
Maskinvare - Beta

Test seng

Dette er nå en direkte papp med glidelåser. LCD og relé følger også med. LCD -skjermen er 20x4 (20 tegn for rader, 4 linjer) (FR/DE) over I²C.

De to første linjene viser velkomst og dato/klokkeslett. De siste 2 linjene går mellom pinnestater og nettverkstilstand (eth0/wan0 IP -er). Dørstatuslinjen er en fin GFX å si:

  • | | er åpen
  • |-| er i drift
  • |. | er stengt

Fritzing skjemaer

Fritzing skjematisk med 20x4 I2C LCD, åpne/lukke brytere og relé. Det eneste tillegget er I2C LCD -skjermen. Jeg foretrakk det fremfor 18x2 jeg hadde.

Levende system

Beta HW er nå "produksjonsnivå" ettersom den passer fint i en gammel skruekasse. Jeg beholdt en separator for å være vert for relé og diverse kabler mens RPi står på lavere nivå. Du vil kanskje legge merke til Synology NAS (FR/DE) på høyre side, den brukes til å drive RPi direkte. Om natten med modem, switch og NAS.

Lukk visning av skrueboksen, LCD -skjermen viser dørens tilstand og åpen/lukk/relé pinout.

Om natten, indre utsikt fra toppen.

Trinn 5: Kildekode og ressurser

Du finner alle ressurser på dette GitHub -depotet:

github.com/amayii0/GarageOpenerR1

Anbefalt: