Sommario:
- Passaggio 1: arrotondamento dei componenti richiesti
- Passaggio 2: ottieni il Pi attivo e funzionante
- Passaggio 3: creare il circuito di rilevamento laser
- Passaggio 4: modificare il laser per l'alimentazione esterna
- Passaggio 5: accendere il laser e testare il circuito di rilevamento
- Passaggio 6: collega la tua webcam e verifica la sua funzionalità
- Passaggio 7: Intervallo
- Passaggio 8: monitorare il laser con il software
- Passaggio 9: crea una pagina Web per visualizzare il tuo stream
- Passaggio 10: impostare gli avvisi e-mail
- Passaggio 11: attivare lo script e-mail quando viene attivato il laser
- Passaggio 12: creare uno script principale per avviare il sistema
- Passaggio 13: Conclusione
Video: Sistema di sicurezza laser Raspberry Pi: 13 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
Grazie per aver controllato il mio istruibile. Alla fine di questa istruzione, costruirai il sistema tripwire laser Raspberry Pi con funzionalità di avviso e-mail mostrata nel video.
Per completare questa istruzione dovrai avere familiarità con i circuiti generali e la saldatura, sapere come utilizzare una breadboard e sentirti a tuo agio nell'usare il terminale sul pi. Anche avere esperienza in Python sarà utile.
Questo progetto si compone di tre sistemi principali. Il Raspberry Pi, il circuito laser tripwire e un computer di osservazione. Il nostro obiettivo è utilizzare il Raspberry Pi per rilevare una variazione di tensione sul circuito laser tripwire e quindi avvisare un computer di osservazione sotto forma di e-mail e flusso video.
Cominciamo.
Passaggio 1: arrotondamento dei componenti richiesti
Per completare questo progetto avrai bisogno dei seguenti elementi.
- Almeno un Raspberry Pi operativo. In questa build ho usato un Pi modello B in stile con raspbian wheezy. Sono sicuro che questo tutorial funzionerà bene se stai eseguendo raspbian jessie.
- Una fonte di alimentazione esterna per il Raspberry Pi. Attingeremo una quantità significativa di amperaggio una volta che tutto questo sarà collegato. Ho passato molto tempo a diagnosticare un alimentatore scadente come fonte di problemi durante la mia prima build. Assicurati di avere una potenza robusta in grado di fornire almeno 2 ampere.
- Un puntatore laser economico. Ho trovato il mio vicino al registratore di cassa in una stazione di servizio. Se vuoi il laser esatto lo trovi qui. L'etichetta dice 630-680 nm per la lunghezza d'onda. Qualunque sia il laser che ottieni determinerà alcuni degli altri componenti nella build. Quindi assicurati che la sua etichetta identifichi la sua lunghezza d'onda.
- Una webcam in stile USB. Questa webcam ha un piedino regolabile che ti consente di posizionare bene la fotocamera. Ho scoperto che il cavo USB fornito con la webcam era troppo corto per la mia applicazione, quindi ho trovato un'estensione su monoprice.
-
Una sorta di kit di breakout per il Raspberry Pi in modo da poter avere un facile accesso ai pin del processore.
- Un tagliere.
- Un saldatore.
- Ponticelli per la breadboard.
-
Componenti del circuito. Moltiplica per la quantità di cavi che desideri.
- Un led funzionante
- Un resistore da 100 ohm
- Un resistore da 1k
- Un resistore da 10k
- Un resistore da 200k Va bene qualsiasi resistore di grandi dimensioni. L'ho provato con una resistenza da 1M e ha funzionato bene. Cordiali saluti, 10k era troppo piccolo.
- Un transistor PNP PN: 2N4403-APCT-ND
- Un fotodiodo (associarlo alla lunghezza d'onda del laser) PN: PDB-C142-ND
Allegherò i file kicad per il circuito ma non esaminerò la produzione della scheda in questo istruzioni.
Nel corso di questo progetto ho trovato utili i seguenti strumenti opzionali:
- Installare sinergia sul lampone pi. Nel caso in cui non si abbia familiarità, questo software ti consentirà di controllare il mouse e la tastiera del raspberry pi con un altro computer. Questo è bello se sei come me e sei più a tuo agio su un altro computer. Anche questo è un software che tutti dovrebbero avere.
- Un hub usb. Per ogni webcam che desideri utilizzare avrai bisogno di una porta.
- Voltmetro o oscilloscopio se ce l'hai.
- Utilizzo di MobaXterm per controllare il Raspberry Pi e manipolare i file tramite ssh. È un must per chiunque sia cresciuto con le finestre. Guarda questo tutorial per iniziare a usarlo.
Passaggio 2: ottieni il Pi attivo e funzionante
Il pi con componenti minimi attaccati
Prima di poter sparare con qualsiasi laser, ci sono diversi livelli di software che devono essere costruiti. Per avere le migliori possibilità di successo è buona norma iniziare da zero. Per fare ciò, scollega tutti gli elementi non necessari dal Pi. Ciò ridurrà le possibilità di avere interferenze da un dispositivo connesso.
Quindi, assicurati che il tuo Raspberry Pi sia attivo e funzionante con il software più recente inserendo quanto segue nel terminale
sudo apt-get update
Con il lampone pi aggiornato è il momento del prossimo passo
Passaggio 3: creare il circuito di rilevamento laser
Posiziona i componenti sulla breadboard come mostrato. Alimenta la breadboard utilizzando l'uscita 5v del pi o un alimentatore da banco. Nella figura 1 l'alimentazione 5v è collegata al binario breadboard positivo in basso a sinistra dell'immagine e la massa in alto a sinistra. Questo circuito utilizza il fotodiodo come interruttore per attivare il transistor. Il transistor converte la piccola variazione di tensione nel fotodiodo in un segnale alquanto digitale che il pi può leggere. Per tutti i passaggi successivi, il punto tra i 100ohm e il led di segnale sarà il punto in cui campioniamo il circuito con il pi greco.
-
Fig 1: Layout della breadboard del circuito in alto
-
Fig 2: Visualizzazione alternativa del layout della breadboard del circuito
Se vuoi un aspetto più pulito ho allegato i file kicad per la scheda che viene mostrata di seguito.
-
Fig 3: Vista dall'alto della scheda del sensore
-
Fig 4: Scheda sensore ISO
-
Il filo arancione sta sostituendo il pulsante momentaneo
-
Mostrando i cavi positivi e negativi
-
Giunto a sfera
-
Giunto a presa
-
Sfera e presa assemblate
-
Laser funzionante con un raggio sano
-
Il raggio non è interrotto e il led è spento
-
L'intruso interrompe il raggio facendo accendere il led
-
output di esempio di mjpg-streamer
-
Layout breadboard con PiCobler
-
Output console corretto (mostrato utilizzando MobaXterm)
-
Screenshot dei file allegati in funzione
- tuo_ip = "192.168.0.177"
- your_ip_optional_port = ":8080"
- port_to_camera = ":8081"
- send_email_username = "il tuo nome utente email"
- send_email_password = "la tua password"
-
Screenshot dei file allegati in funzione
Passaggio 4: modificare il laser per l'alimentazione esterna
Nei passaggi seguenti creerai l'assieme puntatore laser.
- Smontare il puntatore laser. Nel fare ciò, annotare l'orientamento dei terminali della batteria rispetto all'emettitore laser.- Quindi, dissaldare la molla di connessione della batteria e il pulsante momentaneo dal laser.- Saldare un pezzo di filo tra i terminali dove si trovava il pulsante. Ora, quando l'alimentazione viene fornita al laser, si accenderà automaticamente.- Ora saldare i cavi positivo e negativo al laser. Se stai usando lo stesso laser dall'elenco delle parti, puoi usare l'immagine qui sotto per vedere i punti di saldatura. In caso contrario, potrebbe essere necessario trovare da soli i punti di saldatura. È possibile utilizzare l'orientamento della batteria come suggerimento per il cavo positivo o negativo. Per trovare l'ultimo punto di saldatura è possibile utilizzare un alimentatore da 5v e sondare il circuito con due puntali. Quando hai creato il circuito corretto, hai trovato il punto di saldatura e il laser si accenderà.
- Il passaggio finale consiste nel creare un montante di montaggio direzionale per il laser in modo che possa essere facilmente regolato per mirare alla presa del laser. Ho scoperto che la maggior parte dei kit lego bionicle sono un'ottima fonte di giunti a sfera economici. Incolla un pezzo del giunto sferico al puntatore laser usando la colla super. Ora puoi montare il giunto a presa su qualsiasi superficie e inserire il laser.
Passaggio 5: accendere il laser e testare il circuito di rilevamento
Collega il laser alla breadboard. Il positivo dovrà essere collegato a 5v e mettere a terra il filo negativo. Se il laser si accende alla grande, in caso contrario, ricontrolla di avere la tensione corretta con un multimetro. Se ancora non funziona, prova a scambiare i cavi nel caso in cui lo avessi collegato al contrario. Se continua a non funzionare, potresti non aver saldato i pad corretti, torna all'ultimo passaggio.
Una volta che hai il raggio laser è il momento di testare il circuito di rilevamento. Punta il laser verso il fotodiodo. Il LED dovrebbe spegnersi segnalando che il raggio è attivo. Saluta la mano attraverso il raggio e il LED dovrebbe accendersi segnalando un viaggio.
Passaggio 6: collega la tua webcam e verifica la sua funzionalità
Collega la tua webcam alla porta USB. Per eseguire lo streaming del video abbiamo bisogno dell'utility mjpg-streamer. Ecco un ottimo tutorial su come fare proprio questo. Una volta installato correttamente mjpg-streamer. Avvia lo streaming video inserendo il seguente comando nel terminale.
cd /dove hai installato mjpg-streamer/mjpg-streamer
./mjpg_streamer -i "./input_uvc.so -y /dev/video0" -o "./output_http.so -w./www -p 8081"
Questo comando imposterà un flusso sulla porta 8081 utilizzando la sorgente video0. Se vuoi più webcam inserisci di nuovo il comando sopra ma cambia video0 in video1 e 8081 in 8082. Ho trasmesso in streaming fino a 3 webcam in questo modo e il pi non veniva sovraccaricato.
Verifica che la connessione funzioni aprendo un browser su un altro computer e inserisci ip-address-of-pi:8081 o sul pi puoi semplicemente inserire localhost:8081. Se non conosci il tuo IP del pi inserisci quanto segue nel terminale
ifconfig
Se tutto funziona dovresti vedere la homepage di mpg-streamer. Fare clic sulla scheda Stream per vedere il flusso della webcam. Di seguito è riportato uno screenshot dell'interfaccia.
Facendo questo tutorial per la seconda volta sono riuscito ad accedere alla home page di mjpg-streamer ma non ho visto uno stream. Per risolvere questo problema ho letto questo post (link ora interrotto), in particolare la parte sul formato pixel YUYV, se incontri uno stream vuoto dovresti consultarlo anche tu.
Passaggio 7: Intervallo
Ok, a questo punto dovremmo avere il nostro Raspberry Pi attivo e funzionante. Il nostro laser è stato modificato per l'alimentazione esterna. Il nostro circuito di rilevamento è stato costruito e hai confermato che quando il raggio laser colpisce il fotodiodo il led si spegne e quando si interrompe il raggio il led dovrebbe accendersi. Infine dovresti avere la tua webcam connessa e funzionante in streaming.
Ora è il momento di mettere tutto insieme. Iniziamo in modo semplice cercando di rilevare l'intervento del raggio laser con il software.
Collegare il circuito di rilevamento alla breadboard come mostrato. Assicurati di collegare il cavo del segnale del sensore al pin 25 in preparazione per il passaggio successivo. La resistenza di pull down non è opzionale. Avevo un 10k in giro, ma qualsiasi resistenza dovrebbe andare bene.
Passaggio 8: monitorare il laser con il software
Scriviamo un breve programma per ascoltare il segnale laser e inviare l'output al terminale. Puoi scaricare il codice come allegato.
Probabilmente dovrai installare le dipendenze per questo script. Python e il modulo gpio. Per installarli entra
sudo apt-get install python-rpi.gpio python3-rpi.gpio
Una volta completata l'installazione di python, scarica lo script python allegato chiamato read_pin.py ed esegui
cd /directory dove metti il file/chmod 777 read_pin.py
Il comando chmod darà allo script il permesso di essere eseguito. Quindi prova che tutto va bene e dandy correndo
sudo python3 read_pin.py
Se tutto va bene dovresti vedere un output della console come mostrato di seguito. Per uscire dallo script Python invio
Ctrl-Do
Agita la mano davanti al raggio laser e dovresti vedere alcuni output sulla console che ti avvisano che il raggio è stato interrotto. Sentiti libero di giocare con lo script per far funzionare il tuo sistema in modi diversi.
Passaggio 9: crea una pagina Web per visualizzare il tuo stream
Ora dobbiamo configurare un'interfaccia di visualizzazione della webcam. Per questo passaggio sarà necessario installare il server Web Apache. Ci sono molti tutorial là fuori su come configurarne uno. Ma ecco la breve lista con una configurazione minima.
sudo apt-get install apache2
una volta installato dovresti essere in grado di digitare nel tuo browser sul raspberry pi
localhost
Dovresti vedere la pagina di benvenuto di apache. Se questa è la prima volta che configuri un server web, probabilmente vorrai configurare il tuo pi in modo che abbia un indirizzo IP statico in modo che il tuo router assegni sempre l'ip corretto se esegui un ciclo di alimentazione. Se desideri visualizzare il tuo sistema di sicurezza da un'altra posizione, dovrai configurare il port forwarding sul tuo router. È passato un po' di tempo, ma penso anche che dovrai inoltrare anche tutte le porte che hanno una webcam. Ci sono molti tutorial là fuori che coprono queste procedure. Tieni presente che chiunque può vedere la tua webcam se scegli di configurare il port forwarding sul tuo router.
I file allegati sono pagine web di esempio che puoi utilizzare per configurare il tuo sito web. Dovrai cambiare l'estensione del file sul file html in quanto non me lo permetterebbero di caricarlo. Quindi posiziona i file nella cartella www richiamata nel file di configurazione di apache. La posizione predefinita è
cd /var/www
Se desideri cambiare la posizione in cui il server web cerca i tuoi file html puoi modificare il file abilitato per i siti inserendo
sudo nano /etc/apache2/sites-enabled/000-default
Cambia qualsiasi istanza di /var/www/ nella posizione che desideri. Ho messo il mio in /home/pi/Desktop/www/
Una volta che hai i file html nella cartella web, inserisci localhost nel browser o l'indirizzo IP del pi da un altro computer. Dovresti vedere qualcosa del genere.
DOLCEZZA!
Passaggio 10: impostare gli avvisi e-mail
Stanno accadendo cose buone! Sfidiamo la fortuna tentando di inviare un avviso e-mail dal pi a un indirizzo e-mail predefinito. Lo script Python allegato creerà la tua email che desideri inviare, si connetterà a un provider di posta elettronica come Gmail e invierà l'e-mail utilizzando il provider di posta elettronica. Ciò si ottiene utilizzando il pacchetto smtp di python. Ti suggerisco di creare un indirizzo email fittizio solo per il tuo sistema di sicurezza poiché dovremo ridurre la sicurezza sul tuo account Gmail affinché il pacchetto smtp funzioni.
Dovrai modificare lo script in più punti per ottenere una trasmissione di successo. È pesantemente commentato e produrrà molti output sul terminale per tua comodità.
Le cose che dovrai cambiare saranno
your_ip_optional_port sarà molto probabilmente vuoto a meno che il tuo server Apache non sia in esecuzione su una porta diversa da quella predefinita 80. Avevo già un server in esecuzione su 80, quindi ho impostato il mio pi per l'esecuzione su 8080. Port_to_camera sarà la porta su cui specifichi la tua fotocamera eseguire su utilizzando mjpeg streamer.
Dopo aver modificato queste variabili all'inizio dello script, eseguire il programma inserendo quanto segue nel terminale.
cd /cartella dove hai messo lo script/
sudo python3 send_mail.py
Se le stelle sono allineate correttamente e tutte le variabili sono corrette, dovresti ricevere un'e-mail simile a quella qui sotto.
Ci sono molti posti in cui questo script può fallire. Non frustrarti se non funziona la prima volta. Utilizzare i punti di debug nello script per restringere le aree problematiche e quindi concentrarsi su un problema alla volta.
Passaggio 11: attivare lo script e-mail quando viene attivato il laser
Ora che il pi greco è in grado di inviare e-mail, automatizziamolo in modo che ogni volta che il laser viene attivato, riceviamo un'e-mail. Scarica il file allegato che è una versione modificata di read_pin.py che contiene una nuova funzione per avviare lo script di posta. La principale riga aggiuntiva è la seguente
sm_pid = os.spawnlp(os. P_NOWAIT, "/usr/bin/python3", "python3", "/home/pi/Desktop/security/send_mail.py")
Questa riga lancerà lo script di invio della posta in parallelo con lo script di rilevamento laser. Ciò è auspicabile perché lo script di invio della posta richiede alcuni secondi per essere completato e bloccherebbe l'esecuzione dello script di rilevamento laser fino all'invio dell'e-mail. Questo non è un problema per un sistema a telecamera singola, ma se disponi di più telecamere, dovresti rilevare un viaggio laser sulla telecamera 1 anche se la telecamera 2 ha attivato un evento e-mail. La variabile sm_pid conterrà il pid del processo che viene lanciato da questo comando. Controlliamo questo ID se il trigger dell'e-mail viene chiamato di nuovo se esiste l'e-mail sta ancora inviando, quindi ignoriamo l'evento. Se non esiste, è probabile che si tratti di un nuovo evento e viene inviata un'e-mail.
Prova tutto funziona eseguendo
cd /directory in cui metti il file/
chmod 777 read_pin_with_mail.py
sudo python3 read_pin_with_mail.py
Quando rompi il raggio laser dovresti ricevere un'e-mail con l'istantanea scattata dalla webcam.
Passaggio 12: creare uno script principale per avviare il sistema
A questo punto il progetto è per lo più fatto. Un ultimo passaggio consiste nel semplificare l'avvio del sistema con un ultimo script. Lancerà tutti i sottoprogrammi e configurerà la webcam con uno script. Il file allegato può essere avviato all'avvio modificando il file /etc/rc.local. È necessario modificare l'estensione del file e potrebbe essere necessario modificare lo script per includere i percorsi corretti se si inseriscono gli script in una posizione diversa.
Passaggio 13: Conclusione
Bene, è così. Spero che ti sia piaciuto questo istruibile! Fatemi sapere nei commenti se avete domande o avete bisogno di informazioni più dettagliate in qualsiasi area. Continua ad armeggiare!
Consigliato:
Pulsante di sicurezza wireless per la sicurezza del PLC: 6 passaggi (con immagini)
Pulsante di sicurezza wireless per la sicurezza del PLC: questo progetto è la mia prova di concetto per l'utilizzo dell'IoT e (eventualmente) della robotica per creare un ulteriore livello di sicurezza per gli impianti di produzione pericolosi. Questo pulsante può essere utilizzato per avviare o arrestare più processi, incluso il controllo del segnale
Sistema di sicurezza per la sicurezza delle donne One Touch: 3 passaggi
Sistema di sicurezza per la sicurezza delle donne One Touch: sistema di sicurezza per le donne con allarme One Touch che utilizza il micro controller 8051 Nel mondo di oggi la sicurezza delle donne è la questione più importante in ogni paese. Oggi le donne sono molestate e turbate e talvolta quando è necessario un aiuto urgente. Non ci sono posizioni obbligatorie
Sistema di sicurezza con riconoscimento facciale per un frigorifero con Raspberry Pi: 7 passaggi (con immagini)
Sistema di sicurezza a riconoscimento facciale per frigorifero con Raspberry Pi: Navigando in internet ho scoperto che i prezzi dei sistemi di sicurezza variano da 150$ a 600$ e oltre, ma non tutte le soluzioni (anche quelle molto costose) sono integrabili con altre strumenti intelligenti a casa tua! Ad esempio, non è possibile impostare
Sistema di sicurezza Arduino PIR con clacson: 7 passaggi (con immagini)
Sistema di sicurezza PIR Arduino con clacson: va bene, in questo progetto creeremo un allarme antifurto utilizzando un sensore PIR, Arduino, un relè e un clacson
R-PiAlerts: crea un sistema di sicurezza basato su WiFi con Raspberry Pis: 8 passaggi (con immagini)
R-PiAlerts: crea un sistema di sicurezza basato su WiFi con Raspberry Pis: mentre lavori alla tua scrivania, improvvisamente senti un rumore lontano. Qualcuno è appena tornato a casa? La mia macchina è parcheggiata davanti a casa mia, qualcuno è entrato nella mia macchina? Non vorresti ricevere una notifica sul tuo telefono o alla tua scrivania in modo da poter decidere dove