Raspberry Pi come telecamera di sorveglianza HD a basso costo

Questo manuale descrive come costruire una videocamera di sorveglianza basata su un microcomputer Raspberry Pi che registra video HD quando qualcosa si sposta nell'area monitorata. Le immagini in diretta possono essere visualizzate da qualsiasi browser Web, anche dal tuo cellulare mentre sei in viaggio.

Cosa otterrai:

  • Guarda lo streaming live in qualsiasi browser Web da qualsiasi luogo
  • Registra qualsiasi movimento in un file video
Di solito, una simile videocamera ti costerà circa US $ 1.000, ma con il risultato di questo istruttivo, otterrai una tale cam solo per circa US $ 120.

Passaggio 1: sfondo

Hai mai sentito parlare di Raspberry Pi? È un microcomputer a basso costo che è in grado di eseguire Linux e ha infinite possibilità di estensione. Costa solo circa $ 35 e apre infinite possibilità di ciò che puoi costruire con esso. Il sito web ufficiale è disponibile all'indirizzo //www.raspberrypi.org/

Passaggio 2: componenti hardware

Abbiamo bisogno di hardware per questo progetto. Questa è una lista delle cose principali di cui abbiamo bisogno:

  • Raspberry Pi Modello B: questo è il modello più grande del sistema di computer Raspberry con RAM da 700 MHz e 512 MB. Supporta video HD. Puoi facilmente ordinarlo da qui. Costo: circa US $ 40 . Puoi anche usare il Raspberry Pi Model A, che è leggermente più economico e consuma meno energia. Stefan Knight ha scritto un eccellente articolo su come eseguire l'intero progetto su un modello A.
  • Modulo videocamera Raspberry Pi: questo modulo è stato appositamente progettato per il microcomputer Raspberry. Ha un connettore da collegare direttamente alla scheda Raspberry e supporta video HD fino a 1080p. Il sito web //www.rs-components.com/raspberrypi ti mostrerà dove puoi ordinarlo dal tuo paese. Vale a dire //www.alliedelec.com/lp/130513rasocameramodule/ spedisce questa fotocamera negli Stati Uniti per soli US $ 29 .
    Presto sarà disponibile un modulo telecamera a infrarossi per Raspberry Pi (//www.raspberrypi.org/archives/5089). Non abbiamo ancora avuto la possibilità di testarlo, ma dovrebbe funzionare anche con questa telecamera di sorveglianza.
  • Una custodia per la fotocamera: non è necessario acquistare una custodia a prezzo elevato per il tuo Raspberry. Ci sono un sacco di telecamere di sicurezza false molto economiche disponibili che si adattano perfettamente alle nostre esigenze qui. Cerca nel web "fittizio con telecamera di sorveglianza" e troverai un sacco di custodie per la tua nuova telecamera per pochi dollari. Cioè questo farà il lavoro: //amzn.to/15XLaAj per soli $ 9 . Abbiamo ordinato questa custodia per fotocamera per circa 20 € in Germania che aveva spazio sufficiente per tutti i componenti: //amzn.to/19CTEaN. Puoi usare qualsiasi custodia per fotocamera, ma fai attenzione solo alle dimensioni dell'alloggiamento in modo che la scheda Rasperry si inserisca al suo interno. Le dimensioni della scheda Raspberry sono 85, 6 x 53, 98 x 17 mm (circa 3, 37 x 2, 13 x 0, 67 pollici).
  • Alimentazione: il computer Raspberry non viene fornito con alcun alimentatore, è necessario acquistarne uno da soli. Qualsiasi alimentatore con una presa micro-USB può fare il lavoro purché fornisca almeno 1A di potenza. Abbiamo ordinato un tale alimentatore che ha già una presa micro-USB per circa $ 10
  • Scheda SD: poiché Raspberry Pi non ha spazio di archiviazione integrato, è necessario aggiungerne alcuni in modo da poter installare ed eseguire il sistema operativo per questo dispositivo. Qualsiasi SD o microSDHC dovrebbe fare il lavoro, ma si consiglia di utilizzare una scheda SD di classe 10. Sono solo circa $ 7
  • Per connettere questa cam alla tua rete, hai anche bisogno di un qualche tipo di connessione di rete. Una possibilità è quella di utilizzare una connessione LAN, ma è necessario posizionare il cavo LAN nel punto in cui si desidera montare la videocamera. Un'alternativa migliore è un tale adattatore USB WiFi per solo circa $ 10
Questo è tutto: per circa $ 120 abbiamo tutto l'hardware necessario per costruire questa videocamera di sorveglianza HD.

Passaggio 3: installare Raspbian

Inizialmente, è necessario installare il sistema operativo e il software su Raspberry Pi prima di montarli tutti insieme. Un sistema operativo è il software di base del sistema operativo che dice all'hardware Raspberry cosa fare. Linux è perfetto per questo. Abbiamo scelto Raspbian, poiché è uno dei sistemi operativi più avanzati per Raspberry con un sacco di aiuto e tutorial su Internet.
Devi preparare la scheda SD per poter eseguire Raspbian sul Raspberry: questo eccellente tutorial di Adafruit spiegherà i passaggi necessari.
Ora collega temporaneamente la tua scheda Raspberry Pi al cavo LAN, un monitor (HDMI TV funziona immediatamente, ma un cavo HDMI-DVI come questo farà anche il lavoro) e una tastiera USB per la configurazione di base.
Inserire la scheda SD preparata con il programma di installazione Raspbian su di essa e collegare l'alimentatore.
Raspberry dovrebbe avviarsi e guidare l'utente attraverso il processo di installazione, come spiegato in questo tutorial di Adafruit. Successivamente, dovresti avere un sistema operativo Raspbian di base in esecuzione.
Assicurati di abilitare SSH in Raspbian in modo da poter controllare il dispositivo Raspberry anche quando non sono collegati monitor e tastiera. E dovresti anche abilitare la videocamera dal menu di configurazione di Raspbian in modo che possiamo usarla per il rilevamento del movimento.
Ora assicurati che il tuo RPI sia aggiornato:

 sudo apt-get install rpi-update sudo rpi-update 

E aggiorna anche tutti i pacchetti:

 sudo apt-get update sudo apt-get upgrade 

Passaggio 4: connettersi tramite SSH

Ora che la configurazione di base è terminata, dovresti connetterti al tuo dispositivo Raspberry dal tuo computer. Puoi connetterti alla console Linux da qualsiasi computer della tua rete locale e controllarlo come se fossi seduto di fronte. Questo è molto importante poiché una volta montato lontano dal desktop, devi essere in grado di effettuare aggiornamenti e modificare la configurazione di questa videocamera in qualsiasi momento in seguito senza la necessità di staccarla dal muro e riportarla sulla tua scrivania.

Ricorda che questa cam non è solo un dispositivo dump cam ma un computer molto potente con sistema operativo Linux in esecuzione su di essa. Non è limitato a ciò che spieghiamo in questo articolo ora; seguirà qualsiasi sviluppo nel software in modo da poter installare software aggiornato e più moduli in qualsiasi momento successivo.

Innanzitutto, è necessario un software per connettersi alla console Linux su Raspberry. Per Windows, avrai bisogno del software aggiuntivo (gratuito) PuTTY. Scaricalo dal sito Web PuTTY, installalo e connettiti al tuo dispositivo Raspberry Pi:

D'ora in poi, non avrai più bisogno di monitor e tastiera collegati al Raspberry.

Passaggio 5: abilita WiFi

Se vuoi far funzionare questa fotocamera con un dongle USB WiFi (come abbiamo suggerito nel passaggio 2), dovrai fare alcuni rapidi passaggi aggiuntivi per far funzionare il WiFi sul Raspberry:
Dalla console (finestra PuTTY), modificare le proprietà di rete di Raspberry:
 sudo nano / etc / network / interfaces 
Ora aggiungi queste righe alla fine del file (o modifica le righe esistenti in modo che corrispondano a queste):
 allow-hotplug wlan0 iface wlan0 inet dhcp wpa-ssid "IL TUO SSID DI RETE" wpa-psk "PASSWORD WIFI" 
(Inserisci il SSID e la password per la tua rete WiFi)
Riavvia Raspberry con questo comando e verifica se si collega correttamente alla tua rete WiFi:
 riavvio sudo 

Passaggio 6: assemblare l'hardware

Ora è il momento di assemblare tutti i componenti hardware nella custodia. A seconda dell'alloggiamento, questo non dovrebbe essere un lavoro troppo complicato. Assicurati di montare la scheda Raspberry in modo sicuro in modo che non ruoti all'interno dell'alloggiamento.
Poiché il nostro alloggiamento aveva una finestra di vetro molto grande nella parte anteriore, l'abbiamo chiusa con una carta nera con un buco. Ciò ha il vantaggio che la "tecnologia" della fotocamera non è più visibile. Se ti piace che la registrazione della videocamera sia visibile, non coprirla. Ogni volta che la videocamera rileva movimenti o registra, la luce a led si illumina di un rosso molto intenso.
Puoi anche spegnere il LED rosso della videocamera aggiungendo questa linea a /boot/config.txt:

 disable_camera_led = 1 



Passaggio 7: installazione del software Motion Detection

Un ottimo software di rilevamento / sorveglianza del movimento (e open source) con molte opzioni di configurazione è il movimento.
Ora dobbiamo installarlo usando la riga di comando (accedi al tuo lampone come utente "pi"):
 sudo apt-get install motion 
Alcuni pacchetti verranno installati nel processo di installazione; basta digitare "y" per procedere con l'installazione.
Poiché la versione corrente di motion non supporta (ancora) il modulo videocamera Raspberry, dobbiamo scaricare e installare una build speciale con supporto per questo modulo videocamera.
 cd / tmp sudo apt-get install -y libjpeg62 libjpeg62-dev libavformat53 libavformat-dev libavcodec53 libavcodec-dev libavutil51 libavutil-dev libc6-dev zlib1g-dev libmysqlclient18 libmysqlclient-dev-libqqp / dppq / libpq /xdfcxm5hu71s97d/motion-mmal.tar.gz 
E ora devi decomprimere il file scaricato nella directory / tmp:
 tar zxvf motion-mmal.tar.gz 
Dopo questa decompressione, ora è necessario aggiornare il movimento installato con la build scaricata:
 sudo mv motion / usr / bin / motion sudo mv motion-mmalcam.conf /etc/motion.conf 
È inoltre necessario abilitare il demone motion in modo che il movimento venga sempre eseguito:
 sudo nano / etc / default / motion 
e cambia la linea in:
 start_motion_daemon = yes 
Siamo abbastanza sicuri che la build ufficiale del movimento supporterà a breve anche il modulo videocamera Raspberry.
Un comando molto importante per modificare il file di configurazione del movimento è
 sudo nano /etc/motion.conf 
Nota: nell'installazione motion standard, motion.conf è in / etc / motion /, ma nella speciale build motion-mmal di dropbox-url (vedi sopra) è in / etc /. Se segui questo tutorial con tutti i passaggi, questo non è affatto un problema.
Assicurati di avere i permessi dei file corretti: quando installi motion tramite ssh mentre accedi come utente "pi", devi assicurarti di dare all'utente "motion" le autorizzazioni per eseguire motion come servizio dopo il riavvio:
 sudo chmod 664 /etc/motion.conf sudo chmod 755 / usr / bin / motion sudo touch /tmp/motion.log sudo chmod 775 /tmp/motion.log 
Abbiamo apportato alcune modifiche al file motion.conf per soddisfare le nostre esigenze. Il nostro file motion.conf corrente può essere scaricato qui. Basta scaricare, decomprimere e copiare il motion.conf contenente in /etc/motion.conf se si desidera utilizzare le esatte opzioni di configurazione che descriviamo di seguito.
Alcune delle principali modifiche sono:
Assicurati che il movimento sia sempre in esecuzione come demone in background:
 demone su 

Vogliamo invece archiviare il file di log in / tmp (altrimenti l'utente con l'avvio automatico non sarà in grado di accedervi nella cartella / home / pi /):

 logfile /tmp/motion.log 
Poiché vogliamo utilizzare un video di sorveglianza di alta qualità, abbiamo impostato la risoluzione su 1280x720:
 larghezza 1280 altezza 720 
Non abbiamo bisogno di video in tempo reale, 2 foto al secondo sono totalmente ok per le nostre esigenze:
 framerate 2 
Questa è una funzionalità molto utile del software di movimento: registra alcuni (2 nella nostra configurazione) fotogrammi prima e dopo il rilevamento del movimento nell'immagine:
 pre_capture 2 post_capture 2 
Non vogliamo film infiniti. Invece, vogliamo avere max. 10 minuti di sezioni dei video in movimento. Questa opzione di configurazione è stata rinominata da max_movie_time a max_mpeg_time in movimento. Se usi la build motion-mmal, questa funzionerà. Se viene visualizzato l'errore "Opzione di configurazione sconosciuta" max_mpeg_time "'modifica questa in max_movie_time o assicurati di utilizzare davvero la build motion-mmal come mostrato sopra.
 max_mpeg_time 600 
Poiché alcuni lettori multimediali come VLC non sono in grado di riprodurre i film registrati, abbiamo modificato il codec in msmpeg4. Quindi, i film vengono riprodotti correttamente in tutti i giocatori:
 ffmpeg_video_codec msmpeg4 
Abilita l'accesso allo streaming live da qualsiasi luogo. Altrimenti, solo localhost (= il dispositivo Raspberry) sarebbe autorizzato ad accedere allo streaming live:
 stream_localhost disattivato 
Se si desidera proteggere lo streaming live con un nome utente e una password, è necessario abilitare questo:
 stream_auth_method 2 stream_authentication SOMEUSERNAME: SOMEPASSWORD 
Tutti i parametri di configurazione sono spiegati in dettaglio nella documentazione di motion config.
Dopo aver apportato le modifiche a motion.conf, riavviare Raspberry:
 riavvio sudo 
Dopo il riavvio, la luce rossa del modulo videocamera deve essere accesa, il che indica che il movimento sta attualmente utilizzando la videocamera per rilevare eventuali movimenti.

Passaggio 8: salva i video sulla cartella condivisa di Windows

Dato che la scheda SD di Raspberry Pi è una risorsa piuttosto limitata, abbiamo deciso di lasciare che la videocamera Raspberry memorizzi i video su uno dei nostri server Windows. Questo è abbastanza semplice:
Prima condividi una cartella da qualche macchina Windows. Segui alcune guide su Internet se non hai mai condiviso una cartella da un computer Windows prima.
Quindi apri la configurazione di fstab sul tuo Raspberry da una console PuTTY o direttamente dal dispositivo:
 sudo nano / etc / fstab 
Ora aggiungi una riga aggiuntiva con la configurazione della cartella condivisa della tua rete Windows:
 // YOURSERVERNAME / YOURSHAREDFOLDERNAME / mnt / camshare cifs username = YOURSHAREDFOLDERUSERNAME, password = YOURSHAREDFOLDERPASSWORD, iocharset = utf8, file_mode = 0777, dir_mode = 0777 0 0 
Assicurarsi che l'utente disponga delle autorizzazioni corrette per salvare i file in quella cartella condivisa.
Dopo un riavvio, Raspberry dovrebbe avere una cartella aggiuntiva / mnt / camshare montata sulla cartella condivisa di Windows. Ora dovresti impostare in motion.conf:
 target_dir / mnt / camshare 
in modo che il movimento salvi tutti i filmati nella cartella condivisa sul computer Windows.


Passaggio 9: correzione dell'avvio automatico del movimento

Abbiamo avuto qualche problema che il movimento non è stato avviato automaticamente al riavvio di Raspberry. Abbiamo scoperto che ciò era dovuto al fatto che la cartella montata del computer Windows non era ancora pronta quando motion ha tentato di accedervi.
Una soluzione molto rapida ha risolto il nostro problema:
Basta modificare il file di movimento con
 sudo nano /etc/init.d/motion 
e aggiungi la linea
 dormire 30 
alla sequenza iniziale.
Il nostro script /etc/init.d/motion modificato può essere scaricato da qui.

Passaggio 10: montaggio della videocamera

Dopo tutti questi passaggi, puoi finalmente montare la telecamera di sorveglianza sul punto di destinazione.
Alcuni consigli utili:
  • Assicurarsi di posizionare l'alimentatore in un luogo asciutto e sicuro
  • Tieni d'occhio il segnale WiFi: se monti la videocamera fuori dalla portata del WiFi, non sarà in grado di inviare video in diretta né salvare video in movimento

Passaggio 11: accesso allo streaming live

Ora puoi accedere al live streaming dalla telecamera da qualsiasi browser tramite l'URL // IPADDRESSOFRASPBERRY: 8080
Dove 8080 è la porta che abbiamo configurato per il nostro flusso nel file motion.conf. Vedere la propria impostazione di configurazione "stream_port" in motion.conf per la porta.
Abbiamo scoperto che Google Chrome 30 (nemmeno su iOS) non è stato in grado di riprodurre direttamente questo stream a causa di un bug nel progetto Chromium sottostante.
Una soluzione alternativa è quella di creare un semplice file html che contenga un'immagine grande con lo stream-url della telecamera. Vedi il file cam.html da raspberry_surveillance_cam_scavix.zip. In questo modo, Chrome può mostrare anche lo streaming live. Speriamo che Chrome risolva questo problema nel proprio browser.
Ma altri browser come FireFox, Safari e persino VLC media player sono stati in grado di mostrare il flusso live della videocamera.
Non siamo stati in grado di far funzionare il flusso live in Internet Explorer perché non supporta Motion JPEG. Kenneth Lavrsen (il creatore del movimento) ha descritto una soluzione alternativa per lo streaming live in Internet Explorer qui.

Passaggio 12: accedi allo streaming live da qualsiasi luogo

Per rendere lo streaming live accessibile da qualsiasi luogo, dovrai abilitare un qualche tipo di servizio di dominio dinamico sulla tua rete locale. Ciò ti consentirà di essere sempre in grado di connetterti al tuo indirizzo IP locale dall'esterno anche se il tuo indirizzo IP locale cambia (qui in Germania, ogni indirizzo IP DSL privato cambia ogni 24 ore).
Tale servizio (gratuito) ti consente di accedere a Raspberry da qualsiasi luogo anche se il tuo indirizzo IP cambia. Un ottimo servizio che stiamo usando da alcuni anni è dyn.com. Hanno alcuni servizi gratuiti e sono integrati in molti router.
Dopo aver impostato l'URL IP dinamico, è possibile accedere al flusso della telecamera da qualsiasi punto del browser (ad esempio // YOURDYNAMICDOMAIN: 8080).
E questo funziona anche dal browser sul tuo dispositivo mobile.

Passaggio 13: passaggi successivi

Ci sono un migliaio di cose che puoi fare ora con una configurazione di base di tale telecamera di sorveglianza. Che ne dici di inviare notifiche Growl quando viene rilevato un movimento? Questa guida spiega come aggiungere facilmente questa funzionalità.

Oppure potresti facilmente aggiungere un sensore di temperatura alla camma. Sono solo pochi dollari e possono essere integrati molto facilmente.
Attualmente stiamo lavorando per integrare lo streaming live nel server MediaPortal in modo da poter passare a un canale TV per vedere lo streaming live dalla cam nel nostro ufficio.

Se desideri maggiore sicurezza, puoi anche aggiungere un pacco batteria alla fotocamera. Assicurati di acquistarne uno in grado di caricare simultaneamente mentre alimenta Raspberry. Ciò ti consentirebbe di rilevare se un cattivo ragazzo taglia le prese multiple della tua fotocamera e ti invierà alcuni messaggi di avviso (ad esempio SMS o e-mail) incluso il video del disturbatore.

Che cosa hai intenzione di aggiungere? Facci sapere!

Articoli Correlati