Sommario:
- Passaggio 1: configurazione del tuo Pi
- Passaggio 2: SSHing nel tuo PI
- Passaggio 3: invia il tuo indirizzo IP tramite e-mail all'avvio
- Passaggio 4: installazione e configurazione di Motion
- Passaggio 5: invio di video tramite e-mail da Motion on Detection
- Passaggio 6: risoluzione dei problemi e fonti
Video: Fotocamera di rilevamento del movimento Raspberry Pi 3 con live feed: 6 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
introduzione
In questo progetto imparerai come costruire una telecamera di rilevamento del movimento che potrai utilizzare come trappola fotografica, monitor per animali domestici/bambini, telecamera di sicurezza e molto altro.
Questo progetto è organizzato in più fasi:
- introduzione
- Configurare il tuo Pi
- SSHing nel tuo Pi
- Invio tramite email del tuo indirizzo IP all'avvio
- Installazione e configurazione di Motion
- Invio di video tramite e-mail dal movimento al rilevamento
- Risoluzione dei problemi e fonti
Di cosa avrai bisogno:
- Un modello Raspberry Pi 3 b ~~$35
- Scheda Micro SD da 8 GB ~~$10
- Webcam USB ~~$20 (questo progetto utilizzava una webcam Logitech HD c270)
- cavo micro usb ~~$5
- o:
- pacco batteria ricaricabile da 5 volt (batteria di backup del telefono), questo rende il tuo progetto wireless ~~ $ 20
- o
- adattatore da parete usb ~~$5
- Una connessione WiFi
A cosa avrai bisogno di accedere per la configurazione:
- un monitor
- Un mouse e una tastiera
- Un computer con uno slot per schede SD
- Un convertitore da Micro SD a scheda SD (dovrebbe essere fornito con la tua scheda micro SD)
Passaggio 1: configurazione del tuo Pi
Ora impostiamo il tuo Pi
Per iniziare, assicurati di avere tutti gli elementi richiesti dall'ultimo passaggio. Quindi, segui i passaggi sul sito Web Raspberry Pi sull'installazione di Raspbian Jessie sulla tua scheda Microsd, che trovi qui.
Una volta installato Raspbian sul tuo Pi, è il momento di configurare alcune funzionalità di base.
Wifi
Il primo passo per ottenere il massimo dal tuo Pi è connetterlo a Internet. Potresti aver già completato questo passaggio individuando il simbolo WiFi nell'angolo in alto a destra della schermata principale del tuo Pi e accedendo lì, o facendo la stessa cosa prima di installare Raspbian nell'ultimo passaggio. Se non riesci ad accedere alla tua rete WiFi dall'interfaccia desktop del tuo Pi, puoi seguire le istruzioni qui per configurare il WiFi tramite la riga di comando.
SSH
Uno strumento molto utile a tua disposizione quando usi il tuo Pi è l'opzione per inviare comandi al tuo Pi in quella che è nota come configurazione senza testa. Usando un Secure SHell, o SSH, puoi controllare il tuo Pi in remoto da un computer. Con questo metodo, tutto ciò di cui avrai bisogno per modificare il tuo Pi è una fonte di alimentazione per tenerlo acceso, niente più monitor e tastiera!
Passaggio 2: SSHing nel tuo PI
SSH nel tuo Raspberry Pi è facile e molto utile, poiché il processo ti consente di inviare comandi al tuo Pi da qualsiasi computer con nient'altro che una connessione WiFi.
Per SSH nel tuo Pi, devi seguire questi 3 semplici passaggi.
Innanzitutto, devi abilitare SSH sul tuo Pi. Per fare ciò, apri una finestra di comando nel tuo Pi e digita:
sudo raspi-config
Questo comando permette di entrare in un menu di configurazione. da lì dovrai usare i tasti freccia, tab e invio per andare prima nelle opzioni di interfaccia, quindi per abilitare SSH, così come la fotocamera, quindi uscire e riavviare il pi.
Successivamente, dovrai trovare l'indirizzo IP del tuo Pi. In un terminale di comando, digita:
sudo ifconfig
E il tuo indirizzo IP dovrebbe essere nella sezione wlan0 che appare, proprio sotto Link encap:ethernet. Nell'immagine demo sopra, l'indirizzo IP è 192.168.1.10.
Infine, dovrai aprire l'app terminale integrata su un Mac o trovare e seguire le istruzioni per un'app ssh di terze parti per Windows. Nell'app Terminale, digita:
ssh pi@IL TUO INDIRIZZO IP
Se non hai cambiato la password mentre sei in Raspi-config, la password da inserire quando richiesto sarà la password predefinita: raspberry.
Da lì, dovresti essere a posto!
Passaggio 3: invia il tuo indirizzo IP tramite e-mail all'avvio
In questo passaggio ci concentreremo su come accedere al tuo Raspberry Pi, indipendentemente dalla rete su cui ti trovi. A seconda della rete, l'indirizzo IP del Pi cambia. E se non si dispone di una configurazione del monitor, è necessario accedere al Pi per attivare il protocollo di rilevamento del movimento, modificare le preferenze di movimento o accedere a qualsiasi altra cosa sul dispositivo. Per risolvere questo problema, scriveremo uno script python che ci invierà tramite e-mail l'indirizzo IP corrente del Pi all'avvio. Lo script Python è il seguente ed è stato memorizzato in una directory contrassegnata come "sfondo".
#start nella home directory
cd ~
#crea cartella di sfondo
sfondo mkdir
#crea script Python
sudo nano emailip.py
#scrivi in emailip.py
presa di importazione
s = socket.socket(socket. AF_INET, socket. SOCK_DGRAM)
s.connect(("8.8.8.8", 80))
print(s.getsockname()[0])x = s.getsockname()[0]s.close()
import smtplib
da email. MIMEMultipart import MIMEMultipart
da email. MIMEtext import MIMEtext
fromaddr = "IL TUO INDIRIZZO"
toaddr = "INDIRIZZO DI RICEZIONE"
msg = MIMEMultipart()
msg['From'] = fromaddr
msg['To'] = toaddr
msg['Subject'] = "Indirizzo IP"
body = xmsg.attach(MIMEtext(body, 'plain'))
server = smtplib. SMTP('smtp.gmail.com', 587)
server.starttls()
server.login(fromaddr, "LA TUA PASSWORD")
testo = msg.as_string()
server.sendmail(fromaddr, toaddr, text)
server.quit()
#allora lo fa al riavvio
sudo nano /etc/rc.local
#entra in /etc/rc.local
mentre ! /sbin/ifconfig wlan0 | grep -q 'inet addr:[0-9]';
dormi 3
fatto
_IP=$(nome host -I) || vero
if ["$_IP"]; poi
printf "Il mio indirizzo IP è %s\n" "$_IP"
python /home/pi/Background/emailip.py &
fi
esci 0
#e hai finito
Passaggio 4: installazione e configurazione di Motion
#aggiorna più
sudo apt-get update
sudo apt-get upgrade
#Scarica
sudo apt-get install motion
#ora modifica questo file con le seguenti modifiche
sudo nano /etc/motion/motion.conf
#per stabilire uno standard per questo tutorial, cambia
#################
demone acceso
stream_localhost disattivato
webcontrol_localhost disattivato
ffmpeg_output_movies su
target_dir /var/lib/motion
##################
#opzioni di streaming del browser web locale
##################
stream_maxrate 100 #Ciò consentirà lo streaming in tempo reale ma richiede più larghezza di banda e risorse
framerate 60 #Ciò consentirà di acquisire 60 fotogrammi al secondo #più alto diventa, più lenta è l'elaborazione video
larghezza 640 #Questo cambia la larghezza dell'immagine visualizzata
altezza 480 #Questo cambia l'altezza dell'immagine visualizzata
##################
#invio di impostazioni video tramite e-mail in …/motion.conf
##################
#elimina il "; " davanti alla riga, il punto e virgola commenta la riga fuori
on_event_start python /home/pi/background/motionalert.py %f
on_movie_end python /home/pi/background/motionvid.py %f
##################
#estetica
##################
#scelte descritte nel file
output_pictures locate_motion_style
##################
#poi cambia
sudo nano /etc/default/motion
#dire
start_motion_daemon=sì
#ultimo, avvia la merda
sudo service motion start
#puoi cambiare il comando in "stop" o "restart"
Passaggio 5: invio di video tramite e-mail da Motion on Detection
Email quando viene rilevato un movimento:
#inizia da casa
dircd ~
#crea script Python di avviso di movimento
sudo nano /home/pi/background/motionalert.py
#Scrivi
import smtplib
da datetime import datetime
da email. MIMEMultipart import MIMEMultipart
da email. MIMEtext import MIMEtext
fromaddr = "IL TUO INDIRIZZO"
toaddr = "INDIRIZZO DI RICEZIONE"
msg = MIMEMultipart()
msg['From'] = fromaddr
msg['To'] = toaddr
msg['Subject'] = "Movimento rilevato"
body = 'È stato rilevato un movimento.\nTime: %s' % str(datetime.now())
msg.attach(MIMEtext(body, 'plain'))
server = smtplib. SMTP('smtp.gmail.com', 587)
server.starttls()
server.login(fromaddr, "LA TUA PASSWORD")
testo = msg.as_string()
server.sendmail(fromaddr, toaddr, text)
server.quit()
Invia per e-mail il video del movimento quando il video viene salvato:
#inizia dahomedircd ~
#creare script python video in movimentosudo nano /home/pi/background/motionvid.py
import smtplib
da email. MIMEMultipart import MIMEMultipart
da email. MIMEtext import MIMEtext
da email. MIMEBase import MIMEBase
da codificatori di importazione di posta elettronica
fromaddr = "LA TUA EMAIL"
toaddr = "INDIRIZZO EMAIL A CUI INVIARE"
msg = MIMEMultipart()
msg['From'] = fromaddr
msg['To'] = toaddr
msg['Subject'] = "Motion Cam attivata"
body = "Video del movimento rilevato"
msg.attach(MIMEtext(body, 'plain'))
importare il sistema operativo
rootpath = '/var/lib/motion'
filelist = [os.path.join(rootpath, f) for f in os.listdir(rootpath)]
filelist = [f per f in filelist if os.path.isfile(f)]
più recente = max(elenco file, chiave = lambda x: os.stat(x).st_mtime)
nome file = più recente
importare il sistema operativo
rootpath = '/var/lib/motion'
filelist = [os.path.join(rootpath, f) for f in os.listdir(rootpath)]
filelist = [f per f in filelist if os.path.isfile(f)]
più recente = max(elenco file, chiave = lambda x: os.stat(x).st_mtime)
allegato = open(più recente, "rb")
part = MIMEBase('application', 'octet-stream')
part.set_payload((allegato).read())
encoders.encode_base64 (parte)
part.add_header('Content-Disposition', "allegato; filename= %s" % filename)
msg.attach (parte)
server = smtplib. SMTP('smtp.gmail.com', 587)
server.starttls()
server.login(fromaddr, "LA TUA PASSWORD")
testo = msg.as_string()
server.sendmail(fromaddr, toaddr, text)
server.quit()
Passaggio 6: risoluzione dei problemi e fonti
Risoluzione dei problemi:
Poiché questo progetto ha più fasi, ci sono diversi punti in cui le cose possono andare storte. Di seguito sono riportati alcuni dei possibili errori che potrebbero verificarsi e come risolverli.
- Quando configuri il tuo pi per inviarti un'e-mail con il suo indirizzo IP corrente, è fondamentale modificare il file rc.local come mostrato in precedenza perché ciò consente un leggero ritardo prima che il programma si attivi dopo il riavvio. Altrimenti il pi non sarà ancora connesso al wifi e l'email non verrà inviata.
- Quando si modifica il file motion.conf assicurarsi di eliminare i punti e virgola davanti a determinati parametri. Il punto e virgola sopprime una determinata azione, altrimenti la modifica non avrà effetto.
- Il file motion.conf è molto ben organizzato e dettagliato. Sentiti libero di modificare le impostazioni a tuo piacimento, ma tieni presente che possono influire sul successo del sistema di acquisizione del movimento.
- Dopo aver impostato l'avviso e-mail e le opzioni video e-mail, è importante notare che l'e-mail del video rilevato dal movimento impiegherà un po' più di tempo rispetto all'e-mail di avviso iniziale. Questo perché il video si conclude un paio di secondi dopo che il movimento non viene più rilevato e perché l'allegato e-mail potrebbe essere abbastanza grande da richiedere un paio di minuti per essere ricevuto. In alcuni casi, se il movimento viene sostenuto per un periodo di tempo molto lungo, potrebbe essere troppo grande per essere inviato. Per questo motivo è sempre una buona idea controllare il livestream dopo aver ricevuto l'e-mail di avviso iniziale.
Perché il movimento?:
Quando abbiamo iniziato questo progetto per la prima volta, abbiamo preso in considerazione diverse risorse. Per prima cosa abbiamo preso in considerazione l'utilizzo di PiCam, che è un'unità fotocamera costruita appositamente per il Raspberry Pi. La PiCam è sicuramente un dispositivo capace e ha molte applicazioni, ma è limitata all'utilizzo di programmi progettati appositamente per essa ed è relativamente costosa rispetto alle webcam multiuso economiche. Quindi, per rendere questo progetto accessibile a un pubblico più ampio, abbiamo deciso di utilizzare una comune webcam USB. Il problema successivo era quale software incorporare. Inizialmente abbiamo considerato OpenCV, un software gratuito che consente molti tipi diversi di progetti di visione artificiale e imaging. Uno dei problemi qui è che OpenCV è un file enorme che occupa molta memoria e una configurazione molto lunga. L'installazione ha anche più fasi, lasciando ancora più spazio agli errori. Abbiamo scoperto che per il nostro progetto specifico, Motion era più semplice da configurare e far funzionare, ma molto più robusto nella sua esecuzione.
Fonti
Fonti del codice:
www.techradar.com/how-to/computing/how-to-b…
pimylifeup.com/raspberry-pi-webcam-server/
www.pyimagesearch.com/2015/06/01/home-surve…
naelshiab.com/tutorial-send-email-python/
www.raspberrypi.org/documentation/linux/us…
learn.adafruit.com/adafruits-raspberry-pi-…
learn.adafruit.com/adafruits-raspberry-pi-…
pinout.xyz/pinout/i2c
Crediti fotografici:
Lumaca SSH:
Logo della posta:
Webcam Logitech:
Finestra SSH:
Consigliato:
Telecamera di rilevamento del movimento Raspberry Pi nell'alloggiamento del proiettore: 3 passaggi
Telecamera di rilevamento del movimento Raspberry Pi in alloggiamento Floodlight: è da un po' che sto armeggiando con i Raspberry Pi e li uso per una piccola varietà di cose, ma principalmente come telecamera CCTV per monitorare la mia casa mentre sono via con la possibilità di visualizzare in remoto un live streaming ma ricevere anche e-mail di scatti di immagini
Robot di Halloween con rilevamento del volto e rilevamento del sorriso: 8 passaggi (con immagini)
Monitoraggio del viso e rilevamento del sorriso Robot di Halloween: Halloween sta arrivando! Abbiamo deciso di costruire qualcosa di interessante. Incontra i robot Ghosty e Skully. Possono seguire il tuo viso e sanno quando sorridi per ridere con te! Questo progetto è un altro esempio dell'utilizzo dell'app iRobbie che converte l'iPhone in
Guardiano V1.0 --- Aggiornamento della telecamera spioncino della porta con Arduino (caratteristiche di registrazione del rilevamento del movimento e scosse elettriche): 5 passaggi
Guardiano V1.0 ||| Aggiornamento della telecamera spioncino della porta con Arduino (funzioni di registrazione del rilevamento del movimento e scosse elettriche): ho ordinato una telecamera spioncino ma quando la uso, mi sono reso conto che non esiste una funzione di registrazione automatica (attivata dal rilevamento del movimento). Poi ho iniziato a indagare su come funziona. Per registrare un video, dovresti 1- tenere premuto il pulsante di accensione per quasi 2 secondi
Scatta incredibili foto macro con qualsiasi fotocamera del telefono con fotocamera Soprattutto un iPhone: 6 passaggi
Scatta incredibili foto macro con qualsiasi fotocamera del telefono con fotocamera… Soprattutto un iPhone: hai mai desiderato ottenere una di quelle fantastiche foto ravvicinate… quella che dice… WOW!?… con la fotocamera di un telefono con fotocamera nientemeno !? Fondamentalmente, questo è un addon di potenziamento per qualsiasi fotocamera del telefono con fotocamera per ingrandire l'obiettivo della fotocamera esistente per prendere un w
Presa controllata dal movimento - Da una luce di rilevamento del movimento: 6 passaggi
Presa controllata dal movimento - Da una luce di rilevamento del movimento: Immagina di essere un dolcetto o scherzetto che va nella casa più spaventosa del quartiere. Dopo aver superato tutti i ghoul, i fantasmi e i cimiteri, arrivi finalmente all'ultimo percorso. Puoi vedere le caramelle in una ciotola davanti a te! Ma poi improvvisamente un gho