Innehållsförteckning:

Garage Door Opener Using a Raspberry Pi: 5 Steg (med bilder)
Garage Door Opener Using a Raspberry Pi: 5 Steg (med bilder)

Video: Garage Door Opener Using a Raspberry Pi: 5 Steg (med bilder)

Video: Garage Door Opener Using a Raspberry Pi: 5 Steg (med bilder)
Video: Raspberry Pi Controlled Garage Door & Sensor (complete instructions) 2024, November
Anonim
Garageportöppnare med hjälp av en Raspberry Pi
Garageportöppnare med hjälp av en Raspberry Pi

Styr garagemotorn från en smartphone eller vilken enhet som helst som kan surfa på en webbsida (med AJAX!). Projektet startades eftersom jag bara hade en fjärrkontroll för mitt garage. Hur kul var det att köpa en andra? Inte tillräckligt. Mitt mål var att kunna styra och övervaka min garageport från min smartphone med en enda sida. Jag har inte lagt någon snygg säkerhet runt det eftersom RPi inte exponeras utanför mitt LAN. Därmed litar jag på VPN för att komma åt webbsidan. Med en Android -smartphone är det väldigt enkelt att både konfigurera ett VPN och lägga till en webbsida på min startskärm. Allt jag behövde var programvaran för det.

Om du vill stödja mig med att skriva andra instruktioner kan du köpa hårdvara från Amazonas sponsrade länkar.

Denna instruerbara är också nu tillgänglig från min personliga sida:

Steg 1: Lite bakgrund

Vad jag hittade på nätet

Som programmerare gillar jag att återanvända självstudier eller redan "produktionsnivå" -kod. I det här fallet var jag inte nöjd med vad jag hittade:

  • Raspberry Pi Garage Door Opener by quartarian. Där jag började, en enkel knapp för att styra reläet. Inga öppna/stäng knappar, ingen feedback. Det var i alla fall mycket hjälpsamt att förstå konceptet kring dedikerade RPi för att styra en motor från ett relä. Kablarna som jag använder nu är fortfarande desamma för kommandodelen.
  • Raspberry Pi Garage Door Opener with GaragePi by Chase Chou. Samma typ av installation men med en extra trådlös fjärrkontroll. Jag var inte beredd att döda min enda fjärrkontroll. Det visade sig ändå använda samma typ av elektrisk installation för kommandodelen. Längs vägen lärde jag mig om WebIOPi för att kontrollera min GPIO över en webbsida. Det var där jag också lärde mig att sätta en genväg till min Android -startskärm. Det började också tända tanken på att förlita sig på tjänster, trots allt vill jag att det ska vara pålitligt.
  • Making Your Garage Door Email, Tweet, or SMS: Part 1 Av Richard L. Lynch. Den här lade till idén att använda en magnetisk sensor för att styra dörrens tillstånd. Men jag har inte använt mycket eftersom jag inte byggde ett larmsystem utan ett kommando/övervakningssystem.
  • Helt trådlös garageportöppnare / säkerhetskamera från DeckerEgo. Detta gjorde mig bättre medveten om webbkameraströmning för att övervaka dörren. Jag måste fortfarande anstränga mig lite för det. Kanske måste jag återvinna en USB -hubb eller hämta en annan webbkamera.
  • Raspberry Pi -kontroll från mobil enhet eller stationär webbläsare av Frédérick Blais. Detta är nu min bas för mjukvarustacken. Den använder Flask för att köra en mycket enkel webbsida tillsammans med AJAX. Detta är premium för mig eftersom det ger realtidsövervakning och kommandoalternativ. Läs nedan.

Om min RPi

Eftersom jag fortfarande lär mig om RPi och elektroniska saker i allmänhet köpte jag ett antal saker till min nyförvärvade Raspberry Pi: några kablar, en T-skomakare, några lysdioder, en en-relämodul, en åtta-reläer modul, en LCD -skärm och så vidare. Jag är inte på något sätt elektroniker och det visade sig vara mycket lärorikt. För att köpa den extra hårdvaran är Amazon och Ebay dina bästa vänner.

Det aktuella läget för projektet inkluderar följande hårdvara:

  • En Raspberry Pi (FR/DE) som kör Raspbian Wheezy 2014-09-09 med senaste uppdateringar
  • Ett 8 GB (FR/DE) eller 16 GB (FR/DE) eller 32 GB (FR/DE) micro SD -kort klass 10 för att hålla OS, filer och så vidare
  • Två växelströmställare i zinklegering (FR/DE) för att detektera öppet/stängt tillstånd
  • En 3v relämodul (FR/DE) för att skicka kommandon till dörrmotorn (min har en inbyggd LED för att övervaka reläets tillstånd, mycket praktiskt!)
  • En lödlös brödbräda (FR/DE) och 2 momentana omkopplare (FR/DE) för att simulera dörren på mitt skrivbord (eller få ett startpaket (FR/DE))
  • En wifi -dongel (FR/DE) för att ta bort extra kablage när den hänger från garagetaket

En begränsning jag fortfarande har är att jag inte vet när dörren är halvvägs, stannad eller fortfarande rör sig. Det är också därför jag senare vill lägga till en gammal webbkamera för att strömma inifrån garaget. Förmodligen lägger jag till någon sensor för att övervaka själva motorn.

Steg 2: Programvarustack

Programvarustack
Programvarustack

Allmänna grejer

Programvaran bygger på Python-, Flask- och WiringPi GPIO Python -modulen. Som förklaras i bakgrunden, startade jag från handledningen Raspberry Pi -kontroll från mobilenhet eller stationär webbläsare publicerad av Frédérick Blais. Den nuvarande programvaran består av:

  • En HTML -mallfil som innehåller lite jQuery Mobile -kod och kontroller
  • En Python Pins -modul för åtkomst till Raspberry Pi: s GPIO
  • En Python go -modul för att köra Flask och stödja AJAX -frågorna

Det som finns i förvaret är den råa programvaran. Det är inte på något sätt fancy eller överväldigande av funktioner. Det är precis vad jag kunde uppnå med det jag har lärt mig.

Nuvarande gränssnitt

För närvarande läses staten för dörrar var 0,5: e sekund. Två omkopplare används för både öppet/stängt tillstånd. Ett relä används för att styra motorn. Nuvarande kod matar fortfarande ut lite felsökning. Skärmdumpen nedan är från en Nexus 5.

Steg 3: Hårdvara - Alpha

Hårdvara - Alpha
Hårdvara - Alpha
Hårdvara - Alpha
Hårdvara - Alpha

Testa sängen

Min testbädd är ganska enkel, en RPi, ett relä och två omkopplare. För att hålla ihop sakerna är några dragkedjor (FR/DE) allt du behöver. Här är en bild på den. RJ45 LAN -kabeln (FR/DE) är för stationär felsökning och WIFI -dongel för garagebruk.

Levande system

RPi är ansluten till dörrmotorn bara för tillfället, omkopplare följer. Jag måste vänta lite för att få min värmekrympande slang (FR/DE). Jag borde också vara mer stabil. Ursäkta för oskärpa.

De blå, gula och gröna kablarna till vänster är för magnetbrytarna.

  • Blått är GND
  • Gult och grönt är stift 18 (öppet tillstånd) och 27 (stängt tillstånd).

Steg 4: Hårdvara - Beta

Hårdvara - Beta
Hårdvara - Beta
Hårdvara - Beta
Hårdvara - Beta
Hårdvara - Beta
Hårdvara - Beta

Testa sängen

Detta är nu en direkt kartong med dragkedjor. LCD och relä är också bundna. LCD -skärmen är 20x4 (20 tecken för rader, 4 rader) (FR/DE) över I²C.

Första 2 raderna visar välkomst och datum/tid. De två sista raderna växlar mellan stifttillstånd och nätverkstillstånd (eth0/wan0 IP). Dörrstatuslinjen är en trevlig GFX att säga:

  • | | är öppen
  • |-| fungerar
  • |. | Stängt

Fritzing scheman

Fritzing schema med 20x4 I2C LCD, öppna/stäng omkopplare och relä. Det enda tillägget är I2C LCD -skärmen. Jag föredrog det framför 18x2 som jag hade.

Levande system

Beta HW är nu "produktionsnivå" eftersom den passar fint i en gammal skruvlåda. Jag behöll en separator för att vara värd för relä och diverse kablar medan RPi står på lägre nivå. Du kanske märker Synology NAS (FR/DE) på höger sida, den används för att driva RPi direkt. På natten med modem, switch och NAS.

Närbild på skruvlådan, LCD -skärmen visar dörrens tillstånd och Öppna/Stäng/Relä pinout.

På natten, inre utsikt från toppen.

Steg 5: Källkod och resurser

Du hittar alla resurser i detta GitHub -arkiv:

github.com/amayii0/GarageOpenerR1

Rekommenderad: