Sommario:

Apriporta del garage utilizzando un Raspberry Pi: 5 passaggi (con immagini)
Apriporta del garage utilizzando un Raspberry Pi: 5 passaggi (con immagini)

Video: Apriporta del garage utilizzando un Raspberry Pi: 5 passaggi (con immagini)

Video: Apriporta del garage utilizzando un Raspberry Pi: 5 passaggi (con immagini)
Video: Automatic Garage Door Opener using Load Cell Sensor and Arduino Project 2024, Novembre
Anonim
Apriporta del garage utilizzando un Raspberry Pi
Apriporta del garage utilizzando un Raspberry Pi

Controlla il motore del garage da uno smartphone o da qualsiasi dispositivo in grado di navigare in una pagina web (con AJAX!). Il progetto è stato avviato perché avevo un solo telecomando per il mio garage. Quanto è stato divertente acquistarne un secondo? Non abbastanza. Il mio obiettivo era quello di poter controllare e monitorare la porta del mio garage dal mio smartphone con una sola pagina. Non ho messo alcuna sicurezza fantasiosa attorno ad esso poiché l'RPi non è esposto al di fuori della mia LAN. In tal modo mi affido a VPN per accedere alla pagina web. Utilizzando uno smartphone Android è molto facile sia configurare una VPN che aggiungere una pagina web alla mia schermata iniziale. Tutto ciò di cui avevo bisogno era il software per questo.

Se desideri supportarmi nella scrittura di altre istruzioni, acquista l'hardware dai link sponsorizzati da Amazon.

Inoltre, questo tutorial è ora disponibile anche dalla mia pagina personale:

Passaggio 1: un po' di sfondo

Cosa ho trovato online

Come programmatore, mi piace riutilizzare i tutorial o il codice già "a livello di produzione". In questo caso non sono stato contento di quello che ho trovato:

  • Apriporta per garage Raspberry Pi di quartarian. Da dove ho iniziato, un semplice pulsante per comandare il relè. Nessun pulsante di apertura/chiusura, nessun feedback. È stato comunque molto utile comprendere il concetto di RPi dedicato per controllare un motore da un relè. Il cablaggio che uso ora è sempre lo stesso per la parte di comando.
  • Apriporta per garage Raspberry Pi con GaragePi di Chase Chou. Stesso tipo di configurazione ma utilizzando un telecomando wireless aggiuntivo. Non ero disposto a uccidere il mio unico telecomando. Ha dimostrato comunque di utilizzare lo stesso tipo di impianto elettrico per la parte di comando. Lungo la strada ho imparato a conoscere WebIOPi per controllare il mio GPIO su una pagina web. È lì che ho anche imparato a mettere un collegamento alla schermata iniziale di Android. Ha anche iniziato a far luce l'idea di affidarsi ai servizi, dopotutto voglio che sia affidabile.
  • Creare e-mail, tweet o SMS dalla porta del garage: parte 1 di Richard L. Lynch. Questo ha aggiunto l'idea di utilizzare un sensore magnetico per controllare lo stato della porta. Tuttavia non l'ho usato molto perché non stavo costruendo un sistema di allarme ma un sistema di comando/monitoraggio.
  • Telecamera di sicurezza/apriporta per garage completamente wireless di DeckerEgo. Questo mi ha reso più consapevole dello streaming della webcam per monitorare la porta. Devo ancora impegnarmi in questo. Forse dovrei riciclare un hub USB o prendere un'altra webcam.
  • Controllo Raspberry Pi da dispositivo mobile o browser Web desktop di Frédérick Blais. Questa è ora la mia base per lo stack del software. Usa Flask per eseguire una pagina web molto semplice insieme ad AJAX. Questo è premium per me in quanto fornisce opzioni di monitoraggio e comando in tempo reale. Leggere sotto.

Informazioni sul mio RPi

Mentre sto ancora imparando a conoscere l'RPi e le cose elettroniche in generale, ho comprato una serie di cose per il mio Raspberry Pi appena acquistato: alcuni cavi, un T-cobbler, alcuni led, un modulo a un relè, un otto relè modulo, un display LCD e così via. Non sono in alcun modo un elettronico e questo si è rivelato molto istruttivo. Per acquistare l'hardware extra Amazon ed Ebay sono i tuoi migliori amici.

Lo stato attuale del progetto include il seguente hardware:

  • Un Raspberry Pi (FR/DE) con Raspbian Wheezy 2014-09-09 con gli ultimi aggiornamenti
  • Una scheda micro SD da 8 GB (FR/DE) o 16 GB (FR/DE) o 32 GB (FR/DE) Classe 10 per contenere il sistema operativo, i file e così via
  • Due interruttori reed per garage in lega di zinco (FR/DE) per rilevare lo stato di apertura/chiusura
  • Un modulo relè 3v (FR/DE) per inviare comandi al motore della porta (il mio ha un LED integrato per monitorare lo stato del relè, molto utile!)
  • Una breadboard senza saldatura (FR/DE) e 2 interruttori momentanei (FR/DE) per simulare la porta sulla mia scrivania (o ottenere uno starter kit (FR/DE))
  • Un dongle wifi (FR/DE) per rimuovere il cablaggio extra quando sarà appeso al soffitto del garage

Un limite che ho ancora è che non so quando la porta è a metà, ferma o ancora in movimento. Questo è anche il motivo per cui vorrei aggiungere in seguito una vecchia webcam per lo streaming dall'interno del garage. Probabilmente aggiungerò effettivamente qualche sensore per monitorare il motore stesso.

Passaggio 2: pila software

Stack di software
Stack di software

Cose generali

Il software si basa sul modulo Python Python, Flask e WiringPi GPIO. Come spiegato in background, sono partito dal tutorial Controllo Raspberry Pi da dispositivo mobile o browser web desktop pubblicato da Frédérick Blais. Il software attuale è composto da:

  • Un file modello HTML contenente codice e controlli jQuery Mobile
  • Un modulo Python Pins per accedere al GPIO del Raspberry Pi
  • Un modulo Python go per eseguire Flask e supportare le query AJAX

Ciò che è presente nel repository è il software grezzo. Non è in alcun modo stravagante o sovraccarica di funzionalità. È proprio quello che sono riuscito a ottenere da quello che ho imparato.

Interfaccia attuale

Attualmente lo stato delle porte viene letto ogni 0.5s. Vengono utilizzati due interruttori per entrambi gli stati di apertura/chiusura. Un relè viene utilizzato per comandare il motore. Il codice corrente emette ancora un po' di debug. La schermata sottostante proviene da un Nexus 5.

Passaggio 3: hardware - Alpha

Hardware - Alpha
Hardware - Alpha
Hardware - Alpha
Hardware - Alpha

Banco di prova

Il mio banco di prova è piuttosto semplice, un RPi, un relè e due interruttori. Per tenere le cose strette, alcune fascette (FR/DE) sono tutto ciò di cui hai bisogno. Ecco una sua foto. Il cavo LAN RJ45 (FR/DE) è per il debug del desktop e il dongle WIFI per l'uso in garage.

Sistema live

RPi è collegato solo al motore della porta per ora, seguiranno gli interruttori. Devo aspettare un po' per ricevere il mio tubo termoretraibile (FR/DE). Dovrei anche essere più stabile. Scusa per la sfocatura.

I cavi blu, giallo e verde a sinistra sono per gli interruttori magnetici.

  • Il blu è il GND
  • Giallo e verde sono i pin 18 (stato aperto) e 27 (stato chiuso).

Passaggio 4: Hardware - Beta

Hardware - Beta
Hardware - Beta
Hardware - Beta
Hardware - Beta
Hardware - Beta
Hardware - Beta

Banco di prova

Questo è ora un cartone diretto con fascette. Anche l'LCD e il relè sono in bundle. Il display LCD è 20x4 (20 caratteri per righe, 4 righe)(FR/DE) su I²C.

Le prime 2 righe visualizzano il benvenuto e la data/ora. Le ultime 2 righe si alternano tra gli stati dei pin e lo stato della rete (IP eth0/wan0). La linea di stato della porta è un bel GFX per dire:

  • | | è aperto
  • |-| sta operando
  • |.| è chiuso

Schemi Fritzing

Schema di Fritzing con LCD I2C 20x4, interruttori di apertura/chiusura e relè. L'unica aggiunta è lo schermo LCD I2C. L'ho preferito al 18x2 che avevo.

Sistema live

L'HW beta è ora "a livello di produzione" in quanto si inserisce bene in una vecchia scatola di viti. Ho mantenuto un separatore per ospitare cavi relè e vari mentre RPi si trova a un livello inferiore. Potresti notare il Synology NAS (FR/DE) sul lato destro, viene utilizzato per alimentare direttamente l'RPi. Di notte con modem, switch e NAS.

Vista ravvicinata della scatola delle viti, il display LCD mostra lo stato della porta e il pinout di apertura/chiusura/relè.

Di notte, vista interna dall'alto.

Passaggio 5: codice sorgente e risorse

Puoi trovare tutte le risorse in questo repository GitHub:

github.com/amayii0/GarageOpenerR1

Consigliato: