Sommario:

Apriporta per garage Raspberry Pi: 5 passaggi
Apriporta per garage Raspberry Pi: 5 passaggi

Video: Apriporta per garage Raspberry Pi: 5 passaggi

Video: Apriporta per garage Raspberry Pi: 5 passaggi
Video: Siri Controlled Garage Door Opener Using a Raspberry Pi. DIY Project Complete Tutorial 2024, Luglio
Anonim
Apriporta per garage Raspberry Pi
Apriporta per garage Raspberry Pi

La nostra tastiera di quindici anni che ci permette di aprire la porta del garage sta lentamente morendo, con diversi pulsanti che si registrano a malapena, rendendo difficile per i nostri ragazzi (o dogsitter) entrare in casa quando dimenticano la chiave.

Invece di sostituirlo, e saltare attraverso i cerchi per riprogrammarlo, ho deciso di andare un po' più ad alta tecnologia e sostituirlo con qualcosa che richiedesse solo l'accesso al nostro wifi e un telefono da usare.

Ho usato un Pi Zero Wireless e un relè a 2 canali che mi era rimasto da un altro progetto, che mi permette di controllare sia la porta che le luci integrate nell'apriporta del garage. Dato che avevo una fotocamera USB vecchia/di riserva in giro a raccogliere polvere, l'ho usata al posto di una PiCam, ma era solo per comodità. Funzionerebbe bene con qualsiasi fotocamera supportata: non c'è niente di speciale nella mia, solo che Raspbian la supportava.

A differenza di altri progetti simili, ho cercato di mantenerlo il più semplice possibile, utilizzando pacchetti software "standard" che sono abbastanza facili da installare e da eseguire se segui le istruzioni. Questa foto mostra la mia installazione finale (non carina, ma è il mio garage), incluso il Pi, il modulo relè e la webcam USB puntata verso la porta. Non c'è un motivo specifico per usare il Pi Zero: qualsiasi Pi lo farebbe, a patto che tu possa collegarlo alla tua rete interna e il wifi lo rende facile.

Passaggio 1: connessione al pannello di controllo esistente

Collegamento al pannello di controllo esistente
Collegamento al pannello di controllo esistente

Innanzitutto, IL TUO POTREBBE ESSERE DIVERSO! Il mio ha una sola coppia di fili che vanno dall'apriporta del garage al pannello di controllo sul muro. Dato che ci sono solo due fili, che sembravano avere circa 18 volt quando testati, all'inizio ero un po' confuso su come esattamente questa cosa potesse controllare più funzioni. PENSO che ogni pulsante momentaneo completi semplicemente il circuito, ma con diversi livelli di resistenza. Quindi l'unità principale può leggere quella resistenza tramite diverse cadute di tensione ed eseguire l'azione corretta. Niente di tutto questo ha importanza, a meno che non si stia cercando di sostituire completamente l'unità di controllo con il Pi. Non sono sicuro del motivo per cui vorresti farlo, dal momento che è bello avere ancora l'unità fisica al suo posto.

AAAAAnnnyway, tutto ciò che devi fare è replicare le varie pressioni dei pulsanti collegando gli interruttori momentanei sul PCB al tuo modulo relè. Questa era l'unica saldatura che dovevo fare e i pad sul PCB erano piuttosto grandi, quindi era piuttosto semplice. Lascia questi fili un po' lunghi per ora, dal momento che è molto più facile accorciare un filo che allungarlo in seguito, a meno che tu non abbia un tendifilo ACME in giro, ma sono piuttosto rari.

Passaggio 2: cablaggio della scheda relè

Cablaggio della scheda relè
Cablaggio della scheda relè
Cablaggio della scheda relè
Cablaggio della scheda relè

Non c'è molto da dire qui, basta collegare tutto come nelle immagini. Sul modulo a 2 relè Sainsmart, i pin JC-VCC e VCC devono essere ponticellati insieme, a meno che non si desideri utilizzare un alimentatore completamente separato per loro, ma per questo uso è eccessivo. Collega GND a un pin GND Pi, VCC a un pin 5v e IN1 e IN2 a qualsiasi pin GPIO che desideri utilizzare. Dal momento che li utilizzerai semplicemente come interruttori ALTO/BASSO, non importa quali.

Passaggio 3: installazione del software

Installazione del software
Installazione del software

Questo è probabilmente il passaggio che richiede più tempo, dal momento che starai a guardare le cose scaricare e installare per un po'. Guarda youtube o qualcosa del genere mentre alcune di queste cose sono installate.

Non ho intenzione di spiegare come installare Raspbian. Se non sai ancora come farlo, magari prima cerca su Google qualche tutorial del tipo "ciao mondo". In ogni caso, probabilmente è meglio usare una nuova installazione di Raspbian Lite. Non c'è bisogno di una GUI per questo progetto, ed è solo un sovraccarico extra. raspberrypi.org può guidarti attraverso questo processo.

Abilita SSH e (se lo desideri) configura un IP statico per il tuo Pi (ancora una volta, ci sono più tutorial su come farlo, scritti da autori migliori di me) o, ancora meglio, configura il tuo router/server DHCP per assegnare un IP statico al tuo Pi.

Se vuoi un servizio video carino, facile da installare e da usare, vai e installa MotionEye. Probabilmente è eccessivo, ma è una delle installazioni che "funziona" ogni volta e ha una bella interfaccia web facile da usare. Controllalo qui:

github.com/ccrisan/motioneye/wiki/Install-… Segui queste istruzioni usando sudo prima di ogni comando e avrai un bel video streamer impostato. Non è esattamente necessario avere un flusso video se tutto ciò che ti interessa è aprire la porta quando puoi vederlo, ma è bello avere un feedback.

Una volta installato Motioneye, visita https://YourIPAddress:8765 e accedi con il nome utente "admin" e una password vuota. Probabilmente dovrai aggiungere una fotocamera, che dovrebbe, ancora una volta, "funzionare" e oltre lo scopo di queste istruzioni.

Mentre sei connesso come amministratore, fai clic sull'interruttore "Impostazioni avanzate", quindi imposta le opzioni video - Ho usato 320 x 240 per il mio video perché mi interessa più degli aggiornamenti più veloci che della qualità, dal momento che volevo davvero solo vederlo il la porta era aperta o meno, e non c'è bisogno di leggere i numeri delle caselle postali dall'altra parte della strada.

Nell'area delle impostazioni "Streaming video", fai clic sul collegamento "URL streaming" e prendi nota dell'indirizzo che ti viene presentato. Ne avrai bisogno in seguito se prevedi di configurare l'interfaccia nello stesso modo in cui ho fatto io.

Esistono diversi modi per controllare i pin GPIO. Per questo progetto ho utilizzato WiringPi, per installarlo utilizzare le istruzioni sul sito web:

wiringpi.com/download-and-install/

O semplicemente impartisci i seguenti comandi sul tuo Pi:

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

Questo dovrebbe darti un elenco di cosa sta succedendo con i tuoi pin GPIO.

Se stai usando i pin 4 e 17 (nello schema di numerazione BCM), puoi testare le tue connessioni con i seguenti comandi. Si noti che l'impostazione del pin LOW attiverà i relè se si utilizza questo modulo Sainsmart. Il tuo potrebbe essere diverso e dovrai adattarti per questo. Durante l'esecuzione di questi comandi, dovresti sentire i relè scattare in posizione e i LED dovrebbero accendersi.

gpio -g modalità 17 out

gpio -g write 17 0 gpio -g write 1 1 gpio -g mode 4 out gpio -g write 4 0 gpio -g write 4 1

OK, ora possiamo passare alla creazione dell'interfaccia utente.

Passaggio 4: creazione dell'interfaccia

Creare l'interfaccia
Creare l'interfaccia

Ho usato Apache e PHP. Bello e semplice, niente di eccezionale. Ancora una volta, è stato spiegato meglio altrove, quindi segui le istruzioni che trovi qui:

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

La "radice" del tuo server web, per impostazione predefinita, è in /var/www/html/ con un index.html predefinito che ti fornisce informazioni sul tuo server web. Sostituirai quel index.html, quindi puoi eliminarlo o rinominarlo in qualcos'altro come index.copy. Ho anche reso l'utente "pi" il proprietario della directory html, solo per essere pigro sui permessi. Infine, ho creato una directory per memorizzare le mie immagini, di cui ce ne sono due. Uno che è solo un feedback stupido che è stato premuto un pulsante e un altro che può essere utilizzato per un'icona sulla schermata iniziale di un telefono.

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

Ci sono un numero infinito di modi per creare un sito web, ma ho scelto di mantenerlo il più semplice e facile possibile in base alle MIE competenze. Quindi, PHP, dal momento che lo so. Se sei un guru di Python o qualche altro linguaggio di scripting, sentiti libero di usarlo.

Ho creato una pagina index.html "contenitore" che in realtà ha due iframe che fanno tutto il lavoro. Uno degli iframe contiene i pulsanti/collegamenti che attivano effettivamente i relè tramite GPIO e un altro iframe che visualizza il video. Contiene anche collegamenti a un'immagine-p.webp

L'iframe index.html che contiene i pulsanti ha come contenuto il file button.html. (divertente come funziona, eh?) Entrambi i link in button.html portano ad action.php con un valore di variabile GET univoco. In base al valore passato, action.php attiverà la porta o il pulsante della luce. Puoi ottenere il codice HTML e PHP dal mio github:

Metti tutto HTML e PHP nella directory principale (/var/www/html/), aggiorna il codice dove necessario con il nome dell'immagine che potresti utilizzare per la conferma premendo il pulsante e l'indirizzo del tuo flusso video. Ricordi quando ti ho detto che ne avresti avuto bisogno, nel passaggio precedente?

Passaggio 5: provalo

OK, ora che hai tutto cablato e installato, funziona tutto perfettamente al primo tentativo, giusto? Dolce!

Consigliato: