INHOUDSOPGAWE:

Raspberry Pi Garage Door Opener: 5 stappe
Raspberry Pi Garage Door Opener: 5 stappe

Video: Raspberry Pi Garage Door Opener: 5 stappe

Video: Raspberry Pi Garage Door Opener: 5 stappe
Video: 20+ No Carb Foods With No Sugar (80+ Low Carb Foods) Your Ultimate Keto Food Guide 2024, Julie
Anonim
Raspberry Pi Garage Door Opener
Raspberry Pi Garage Door Opener

Ons vyftienjarige klavier wat ons toelaat om die motorhuisdeur oop te maak, is stadig besig om dood te gaan, met verskeie knoppies wat skaars registreer, wat dit vir ons tieners (of hondebewaarder) moeilik maak om by die huis in te kom as hulle hul sleutel vergeet.

In plaas daarvan om dit te vervang en deur die hoepels te spring om dit te herprogrammeer, het ek besluit om 'n bietjie meer tegnologie te gebruik en dit te vervang met iets wat slegs toegang tot ons wifi en 'n telefoon nodig het.

Ek gebruik 'n Pi Zero Wireless en 'n 2-kanaals relais wat ek van 'n ander projek oorgebly het, waarmee ek die deur en die ligte wat in die motordeuropening ingebou is, kan beheer. Omdat ek 'n ou/ekstra USB -kamera gehad het wat stof opgaar, het ek dit in plaas van 'n PiCam gebruik, maar dit was net uit die gemak. Dit sal goed werk met enige ondersteunde kamera - daar is niks besonders aan myne nie, net dat Raspbian dit ondersteun.

Anders as ander soortgelyke projekte, het ek probeer om dit so eenvoudig as moontlik te hou deur gebruik te maak van 'standaard' sagtewarepakkette wat redelik maklik is om aan die gang te kom as u die instruksies volg. Hierdie foto toon my laaste (glad nie mooi nie, maar dit is my motorhuis) installasie, insluitend die Pi, die Relay Module en USB -webcam wat na die deur gewys het. Daar is geen spesifieke rede om die Pi Zero te gebruik nie - enige Pi sou dit doen, solank u dit aan u interne netwerk kan koppel, en wifi maak dit maklik.

Stap 1: Koppel aan die bestaande bedieningspaneel

Koppel aan die bestaande bedieningspaneel
Koppel aan die bestaande bedieningspaneel

Eerstens kan JOU s'n anders wees! Myne het 'n paar drade wat van die garagedeuropening na die bedieningspaneel teen die muur gaan. Aangesien daar slegs twee drade was wat byna 18 volt gelyk het toe ek dit getoets het, was ek eers effens verward oor hoe hierdie ding presies verskeie funksies kan beheer. Ek dink dat elke kort knoppie eenvoudig die kring voltooi, maar met verskillende vlakke van weerstand. Dan kan die hoofeenheid die weerstand deur verskillende spanningsvalle lees en die korrekte aksie uitvoer. Dit maak egter niks uit nie, tensy u die beheereenheid heeltemal probeer vervang deur die Pi. Weet nie hoekom u dit wil doen nie, want dit is lekker om die fisiese eenheid nog steeds te hê.

AAAAAnnnnow, al wat u hoef te doen is om die verskillende knoppies te herhaal deur die kortstondige skakelaars op die PCB aan u aflosmodule te koppel. Dit was die enigste soldeer wat ek moes doen, en die pads op die PCB was redelik groot, so dit was redelik eenvoudig. Laat hierdie drade vir eers lank, want dit is baie makliker om 'n draad te verkort as om dit later te verleng, tensy u 'n ACME draagbaar het, maar dit is redelik skaars.

Stap 2: Bedrading van die aflosbord

Bedrading van die aflosbord
Bedrading van die aflosbord
Bedrading van die aflosbord
Bedrading van die aflosbord

Nie te veel om hier te sê nie, verbind alles net soos op die foto's. Op die Sainsmart 2-aflosmodule moet die JC-VCC- en VCC-penne saamgesmelt word, tensy u 'n heeltemal aparte kragtoevoer daarvoor wil gebruik, maar vir hierdie gebruik is dit te veel. Koppel GND aan 'n Pi GND -pen, VCC aan 'n 5v -pen en die IN1 en IN2 aan watter GPIO -penne u ook al wil gebruik. Aangesien u dit net as HIGH/LOW -skakelaars gaan gebruik, maak dit regtig nie saak watter een is nie.

Stap 3: Installeer die sagteware

Die installering van die sagteware
Die installering van die sagteware

Dit is waarskynlik die mees tydrowende stap, aangesien u 'n rukkie gaan kyk hoe dinge afgelaai en geïnstalleer word. Kyk na YouTube of iets terwyl sommige van hierdie goed geïnstalleer is.

Ek gaan nie verduidelik hoe om Raspbian te installeer nie. As u nog nie weet hoe u dit moet doen nie, gaan dan eers na 'n paar "hello world" tutoriale. In elk geval is dit waarskynlik die beste om 'n nuwe installasie van Raspbian Lite te gebruik. Daar is geen gui nodig vir hierdie projek nie, en dit is net ekstra koste. raspberrypi.org kan u deur die proses lei.

Aktiveer SSH, en (as u wil) óf 'n statiese IP vir u Pi instel (weereens is daar verskeie tutoriale oor hoe om dit te doen, geskryf deur beter outeurs as ek) of selfs beter, stel u router/DHCP -bediener op om 'n statiese IP aan u Pi toe te ken.

As u 'n aangename, maklik om te installeer en videodiens te gebruik, installeer MotionEye. Dit is waarskynlik te veel, maar dit is een van die installasies wat elke keer 'net' werk, en dit het 'n aangename gebruikerskoppelvlak. Kyk hier:

github.com/ccrisan/motioneye/wiki/Install-… Volg hierdie instruksies met behulp van sudo voor elke opdrag, en u het 'n goeie video streamer opgestel. Dit is nie presies nodig om 'n videostroom te hê as al wat u omgee, die deur oopmaak as u dit kan sien nie, maar dit is lekker om terugvoer te hê.

Sodra u Motioneye geïnstalleer het, besoek https:// YourIPAddress: 8765 en meld aan met die gebruikersnaam "admin" en 'n leë wagwoord. U sal waarskynlik 'n kamera moet byvoeg, wat weer 'net moet werk' en buite die omvang van hierdie instruksies behoort.

Terwyl u as admin aangemeld is, klik op die skakel "Advanced Settings" en stel dan u video -opsies in - ek het 320x240 vir my video gebruik omdat ek meer omgee vir vinniger opdaterings as vir kwaliteit, want ek wou dit eintlik net sien as die die deur was oop of nie, en ek hoef nie posbusnommers oorkant die straat te lees nie.

Klik in die instellingsarea "Videostreaming" op die skakel "Stroom -URL" en teken die adres wat dit aan u voorgee, aan. U benodig dit later as u van plan is om die koppelvlak op dieselfde manier op te stel as ek.

Daar is verskillende maniere om u GPIO -penne te beheer. Vir hierdie projek gebruik ek WiringPi, om dit te installeer, volg die instruksies op die webwerf:

wiringpi.com/download-and-install/

Of gee net die volgende opdragte op u Pi uit:

wget https://lion.drogon.net/wiringpi-2.50-1.debsudo dpkg -i wiringpi-2.50-1.deb gpio -v gpio readall

Dit moet u 'n lys gee van wat met u GPIO -penne aangaan.

As u penne 4 en 17 (in die BCM -nommerskema) gebruik, kan u u verbindings toets met die volgende opdragte. Let daarop dat die instelling van die pen LOW die relais sal aktiveer as u hierdie Sainsmart -module gebruik. Die uwe kan anders wees, en u moet daarvoor aanpas. As u hierdie opdragte uitvoer, moet u hoor dat die relais op hul plek klik, en die LED's moet brand.

gpio -g af 17 uit

gpio -g skryf 17 0 gpio -g skryf 1 1 gpio -g af 4 uit gpio -g skryf 4 0 gpio -g skryf 4 1

OK, nou kan ons verder gaan met die maak van die UI.

Stap 4: Maak die koppelvlak

Maak die koppelvlak
Maak die koppelvlak

Ek het apache en PHP gebruik. Mooi en eenvoudig, niks te fancy nie. Weereens, dit is elders beter verduidelik, dus volg die instruksies hier:

www.raspberrypi.org/documentation/remote-a…

Die 'wortel' van u webserver is standaard by/var/www/html/met 'n standaard index.html wat u inligting gee oor u webserver. U sal daardie index.html vervang, sodat u dit kan uitvee of dit kan verander na iets anders soos index.copy. Ek het ook die 'pi' -gebruiker die eienaar van die html -gids gemaak, net om lui te wees oor toestemmings. Uiteindelik het ek 'n gids geskep om my beelde te stoor, waarvan daar twee is. Een wat net dom terugvoer is dat 'n knoppie ingedruk is, en 'n ander een wat gebruik kan word vir 'n ikoon op die tuisskerm van die telefoon.

pi@garagedoor: ~ $ cd/var/www/html/

pi@garagedoor:/var/www/html $ sudo chown pi.pi@garagedoor:/var/www/html $ mv index.html index.copy pi@garagedoor:/var/www/html $ mkdir images

Daar is 'n oneindige aantal maniere om 'n webwerf te skep, maar ek het gekies om dit so eenvoudig en maklik moontlik te hou op grond van MY vaardigheid. Vandaar PHP, aangesien ek dit weet. As u 'n luislang -ghoeroe of 'n ander skripttaal is, kan u dit gerus gebruik.

Ek het 'n "houer" index.html -bladsy geskep wat eintlik twee iframes bevat wat al die werk doen. Een van die iframes bevat die knoppies/skakels wat die relais eintlik via GPIO aktiveer, en 'n ander iframe wat die video vertoon. Dit bevat ook skakels na 'n-p.webp

Die index.html iframe wat die knoppies bevat, bevat die lêer buttons.html as inhoud. (snaaks hoe dit werk, nè?) Beide die skakels in button.html lei tot action.php met 'n unieke GET -veranderlike waarde. Op grond van die geslaagde waarde, sal action.php die deur of die ligknoppie aktiveer. U kan die HTML- en PHP -kode van my github af kry:

Plaas al die HTML en PHP in die wortelgids (/var/www/html/), werk die kode waar nodig op met die naam van die prentjie wat u kan gebruik om die knoppie te druk, en die adres van u videostroom. Onthou jy toe ek jou in die vorige stap gesê het dat jy dit nodig het?

Stap 5: Probeer dit

OK, noudat u alles bedraad en geïnstalleer het, werk dit perfek met die eerste probeerslag, reg? Soet!

Aanbeveel: