Indholdsfortegnelse:

Raspberry Pi Garage Door Opener: 5 trin
Raspberry Pi Garage Door Opener: 5 trin

Video: Raspberry Pi Garage Door Opener: 5 trin

Video: Raspberry Pi Garage Door Opener: 5 trin
Video: Easy Raspberry Pi Garage Door Remote over Wifi (home automation) 2024, Juli
Anonim
Raspberry Pi Garage Door Opener
Raspberry Pi Garage Door Opener

Vores femten år gamle tastatur, der giver os mulighed for at åbne garageporten, har langsomt døet med flere knapper, der næsten ikke registreres, hvilket har gjort det svært for vores teenagere (eller hundepasser) at komme ind i huset, når de glemmer deres nøgle.

I stedet for at udskifte det og hoppe gennem bøjlerne med at omprogrammere det, besluttede jeg at gå lidt mere højteknologisk og erstatte det med noget, der kun krævede adgang til vores wifi og en telefon at bruge.

Jeg brugte en Pi Zero Wireless og et 2-kanals relæ, som jeg havde tilovers fra et andet projekt, som giver mig mulighed for at styre både døren og lysene, der er indbygget i garageportåbneren. Fordi jeg havde et gammelt/ekstra USB -kamera, der lå og samlede støv, brugte jeg det i stedet for en PiCam, men det var kun af bekvemmelighed. Dette ville fungere fint med ethvert understøttet kamera - der er ikke noget særligt ved mit, bare at Raspbian understøttede det.

I modsætning til nogle andre lignende projekter forsøgte jeg at holde det så enkelt som muligt ved hjælp af "standard" softwarepakker, der er ret lette at komme i gang, hvis du følger instruktionerne. Dette foto viser min sidste (slet ikke smukke, men det er min garage) installation, herunder Pi, relæmodulet og USB -webcam peget på døren. Der er ingen specifik grund til at bruge Pi Zero - enhver Pi ville gøre, så længe du kan få den tilsluttet dit interne netværk, og wifi gør det let.

Trin 1: Tilslutning til det eksisterende kontrolpanel

Tilslutning til det eksisterende kontrolpanel
Tilslutning til det eksisterende kontrolpanel

For det første KAN DIN VÆRE FORSKELLIG! Mine har et enkelt par ledninger, der går fra garageportåbneren til kontrolpanelet på væggen. Da der kun er to ledninger, som syntes at have omkring 18 volt, når de blev testet, var jeg først lidt forvirret over, hvordan denne ting præcist kan styre flere funktioner. Jeg TROR, at hver øjeblikkelige knap simpelthen fuldender kredsløbet, men med forskellige modstandsniveauer. Derefter kan hovedenheden aflæse denne modstand via forskellige spændingsfald og udføre den korrekte handling. Intet af dette betyder dog noget, medmindre du forsøger helt at udskifte styreenheden med Pi. Ikke sikker på hvorfor du vil gøre det, da det er rart stadig at have den fysiske enhed på plads.

AAAAAnnnyway, alt hvad du skal gøre er at replikere de forskellige knaptryk ved at forbinde de kortvarige kontakter på printet til dit relæmodul. Dette var den eneste lodning, jeg skulle gøre, og puderne på printkortet var ret store, så det var ret simpelt. Lad disse ledninger være lidt lange for nu, da det er meget lettere at forkorte en ledning end at forlænge den senere, medmindre du har en ACME trådbår liggende, men de er ret sjældne.

Trin 2: Tilslutning af relækortet

Tilslutning af relækortet
Tilslutning af relækortet
Tilslutning af relækortet
Tilslutning af relækortet

Ikke for meget at sige her, bare tilslut alt som på billederne. På Sainsmart 2-relæmodulet skal JC-VCC- og VCC-stifterne jumperes sammen, medmindre du vil bruge en helt separat strømforsyning til dem, men til denne brug er det meget overkill. Tilslut GND til en Pi GND -pin, VCC til en 5v pin, og IN1 og IN2 til de GPIO -ben, du vil bruge. Da du bare vil bruge dem som HIGH/LOW -skifter, er det virkelig ligegyldigt hvilke.

Trin 3: Installation af softwaren

Installation af softwaren
Installation af softwaren

Dette er nok det mest tidskrævende trin, da du kommer til at se ting downloade og installere et stykke tid. Se youtube eller noget, mens nogle af disse ting er installeret.

Jeg vil ikke forklare, hvordan man installerer Raspbian. Hvis du ikke ved, hvordan du gør det endnu, skal du måske først google nogle "hej verden" -tutorials. Under alle omstændigheder er det nok bedst at bruge en ny installation af Raspbian Lite. Der er ikke behov for en gui til dette projekt, og det er bare ekstra overhead. raspberrypi.org kan guide dig igennem den proces.

Aktiver SSH, og (hvis du vil) enten konfigurere en statisk IP til din Pi (endnu engang er der flere tutorials derude om, hvordan du gør det, skrevet af bedre forfattere end mig selv) eller endnu bedre, konfigurer din router/DHCP -server at tildele en statisk IP til din Pi.

Hvis du vil have en god, let at installere og bruge videotjeneste, skal du gå og installere MotionEye. Det er sandsynligvis overkill, men det er en af de installationer, der "bare virker" hver gang, og det har en dejlig brugervenlig webgrænseflade. Tjek det ud her:

github.com/ccrisan/motioneye/wiki/Install-… Følg disse instruktioner ved hjælp af sudo før hver kommando, og du får en god videostreamer konfigureret. Det er ikke ligefrem påkrævet at have en videostream, hvis alt du bekymrer dig om er at åbne din dør, når du kan se den, men det er rart at have feedback.

Når du har installeret Motioneye, skal du besøge https:// YourIPAddress: 8765 og logge ind med brugernavnet "admin" og en tom adgangskode. Du skal sandsynligvis tilføje et kamera, som igen "bare skal fungere" og ud over omfanget af disse instruktioner.

Mens du er logget ind som admin, skal du klikke på "Avancerede indstillinger" -skiftet og derefter indstille dine videoindstillinger - jeg brugte 320x240 til min video, fordi jeg er mere interesseret i hurtigere opdateringer, end jeg gør om kvalitet, da jeg egentlig kun ville se det som døren var åben eller ej, og behøver ikke at læse postkassenumre på tværs af gaden.

Under indstillingsområdet "Videostreaming" skal du klikke på linket "Streaming URL" og notere den adresse, den præsenterer for dig. Du får brug for det senere, hvis du planlægger at konfigurere grænsefladen på samme måde som jeg gjorde.

Der er flere måder at styre dine GPIO -pins på. Til dette projekt brugte jeg WiringPi, for at installere det, brug vejledningen på webstedet:

wiringpi.com/download-and-install/

Eller bare udsted følgende kommandoer på din Pi:

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

Dette skulle give dig en liste over, hvad der foregår med dine GPIO -pins.

Hvis du bruger stifter 4 og 17 (i BCM -nummereringsskemaet), kan du teste dine forbindelser med følgende kommandoer. Bemærk, at indstilling af pin LOW aktiverer relæerne, hvis du bruger dette Sainsmart -modul. Din kan være anderledes, og du skal justere for det. Når du kører disse kommandoer, skal du høre relæerne klikke på plads, og LED (erne) skal lyse.

gpio -g -tilstand 17 ud

gpio -g skrive 17 0 gpio -g skrive 1 1 gpio -g tilstand 4 ud gpio -g skrive 4 0 gpio -g skrive 4 1

OK, nu kan vi gå videre til at lave brugergrænsefladen.

Trin 4: Lav grænsefladen

Lav grænsefladen
Lav grænsefladen

Jeg brugte apache og PHP. Dejligt og enkelt, ikke noget for fancy. Endnu en gang er det blevet bedre forklaret andre steder, så følg bare instruktionerne her:

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

"Rooten" på din webserver er som standard på/var/www/html/med en standard index.html, der giver dig oplysninger om din webserver. Du erstatter dette index.html, så du kan enten slette det eller omdøbe det til noget andet som index.copy. Jeg gjorde også "pi" brugeren til ejer af html biblioteket, bare for at være doven med tilladelser. Endelig oprettede jeg et bibliotek til at gemme mine billeder, hvoraf der er to. En, der bare er fjollet feedback om, at der blev trykket på en knap, og en anden, der kan bruges til et ikon på en telefonens startskærm.

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 -billeder

Der er et uendeligt antal måder at oprette et websted på, men jeg valgte at holde det så enkelt og let som muligt baseret på MY skillset. Derfor PHP, da jeg ved det. Hvis du er en python -guru eller et andet scriptsprog, er du velkommen til at bruge det.

Jeg oprettede en "container" index.html side, som faktisk har to iframes, der udfører alt arbejdet. Et af iframes indeholder de knapper/links, der rent faktisk udløser relæerne via GPIO, og en anden iframe, der viser videoen. Det indeholder også links til et-p.webp

Indekset.html iframe, der indeholder knapperne, har filknapperne.html som indhold. (sjovt hvordan det virker, ikk?) Begge links i button.html fører til action.php med en unik GET -variabelværdi. Baseret på den overførte værdi aktiverer action.php enten døren eller lysknappen. Du kan få HTML- og PHP -koden fra min github:

Placer hele HTML og PHP i rodmappen (/var/www/html/), opdater koden, hvor det er nødvendigt, med navnet på det billede, du muligvis bruger til at trykke på knappen, og adressen på din videostream. Kan du huske, da jeg fortalte dig, at du skulle bruge det, tilbage i forrige trin?

Trin 5: Prøv det

OK, nu hvor du har alt kablet og installeret, fungerer det hele perfekt ved første forsøg, ikke? Sød!

Anbefalede: