Costruire una webcam con Raspberry Pi e MotionEYE

Condividi questo articolo:

In questo tutorial imparerete a trasformare la vostra Raspberry PI in una webcam che potrete usare per lo streaming video o per video sorveglianza. La difficoltà è intermedia ma il risultato sarà ottimo. Questo progetto fa parte anche del mio corso sulla Raspberry PI che tengo ai ragazzi delle scuole superiori.

Se non sai cosa è una Raspberry PI puoi leggere il mio articolo.

Cosa serve per trasformare la Raspberry PI in una Webcam

Qui sotto ci sono alcune delle attrezzature di cui avrete bisogno per essere in grado di completare questo tutorial e creare la vostra webcam per Raspberry PI.

Opzionale

  • Tastiera USB
  • Mouse USB
  • Cavo HDMI

Come impostare un server webcam con Raspberry Pi

Per prima cosa, avremo bisogno di installare Raspbian sul Raspberry Pi. Se non l’avete ancora fatto, controllate la mia fantastica guida sull’installazione di NOOBs Raspberry Pi. Vi guiderà attraverso tutti i passi che dovrete fare per essere operativi.

In questo tutorial, useremo un pacchetto chiamato Motion, se volete saperne di più potete controllare il loro sito web su Motion.

Poiché l’ultima versione di Raspbian manca delle dipendenze che Motion richiede per funzionare correttamente, avremo bisogno di installare un’altra versione precompilata.

Il manutentore del pacchetto (attualmente: Mr Dave | precedentemente: Calin Crisan) di Motioneye fornisce un pacchetto che ha tutto ciò di cui abbiamo bisogno, e funziona bene con il Raspberry Pi. Pronti a cotruire la vostra webcam con Raspberry PI?

1. Useremo il terminale, quindi aprite il terminale sul Pi o connettetevi ad esso via SSH.

2. Per iniziare, per prima cosa, aggiornate il Raspberry Pi, in modo da far funzionare l’ultima versione.


sudo apt update
sudo apt upgrade

A seconda della versione di Raspbian che state usando dovrete fare alcuni passi diversi. Per questo tutorial, installeremo Motion per Raspbian Buster. Se non ci sei già sopra, ti consiglio vivamente di aggiornare.

3. Per prima cosa, installate i seguenti pacchetti. Questo comando funzionerà sia sulla versione completa che su quella lite di Raspbian Buster.


sudo apt install autoconf automake build-essential pkgconf libtool git libzip-dev libjpeg-dev gettext libmicrohttpd-dev libavformat-dev libavcodec-dev libavutil-dev libswscale-dev libavdevice-dev default-libmysqlclient-dev libpq-dev libsqlite3-dev libwebp-dev

4. Successivamente, scaricare il file Motion deb per Raspbian Buster da GitHub usando il comando wget e installarlo usando il comando dpkg.


sudo wget https://github.com/Motion-Project/motion/releases/download/release-4.4.0/$(lsb_release -cs)_motion_4.4.0-1_armhf.deb

sudo dpkg -i $(lsb_release -cs)_motion_4.4.0-1_armhf.deb

Questo è tutto quello che dovete fare prima di passare alla configurazione di Motion in modo che possa funzionare sul vostro Pi.

Configurare Motion su Raspberry PI

1. Ora abbiamo bisogno di fare alcune modifiche al file di configurazione, motion.conf.


sudo nano /etc/motion/motion.conf

2. Trova le seguenti linee e assicurati che siano impostate ai seguenti valori.


daemon off
stream_localhost off

Nota: cambia le seguenti due linee da on a off se hai problemi con il flusso che si blocca ogni volta che si verifica un movimento.


picture_output off
movie_output off
Opzionale (non includere il testo dopo il #)

stream_maxrate 100 # Questo cambiamento permetterà lo streaming in tempo reale ma richiede più banda e risorse. Deve essere aggiunto al file di configurazione, il valore predefinito è 1
framerate 100 # Cambiando questa opzione sarà possibile catturare 100 fotogrammi al secondo permettendo un video più fluido, il default è 50
width 640 # Questa linea cambia la larghezza dell'immagine visualizzata, il valore predefinito è 640
height 480 #Questa opzione cambia l'altezza dell'immagine visualizzata, l'impostazione predefinita è 480

Alterare queste opzioni può influenzare drasticamente le prestazioni. Potrebbe essere necessario armeggiare per ottenere i migliori risultati.

3. Ora, abbiamo bisogno di abilitare il servizio Motion eseguendo il comando qui sotto.

Usando questo comando, Motion si avvierà all’accensione del Raspberry Pi.


sudo systemctl enable motion

4. Una volta fatto, basta salvare e uscire premendo CTRL + X e poi Y.

5. Ora assicuratevi che la telecamera sia collegata ed eseguite la seguente linea:


sudo systemctl start motion

6. Se hai bisogno di fermare il servizio, esegui semplicemente il seguente comando:


sudo systemctl stop motion

7. Ora dovreste essere in grado di controllare il Webcam Stream all’indirizzo IP del nostro Pi, quindi nel vostro browser andate al seguente indirizzo.

192.168.1.103:8081

8. Se la pagina web non si carica, provate a riavviare il servizio.


sudo systemctl restart motion

9. Se state usando una videocamera Raspberry Pi, allora avrete bisogno di fare alcuni passi in più che sono menzionati qui sotto.

Ecco che abbiamo un server Webcam Raspberry Pi completamente funzionante che potete posizionare ovunque vogliate (dato che è all’interno della gamma WiFi) ed essere in grado di visualizzare il flusso tramite il browser web.

Se volete consentire l’accesso esterno alla fotocamera, allora controllate le mie istruzioni verso la fine di questo tutorial.

Passi aggiuntivi per costruire la webcam con Raspberry Pi e Motion

Se volete usare il modulo fotocamera di Raspberry Pi, allora avrete bisogno di fare alcuni passi aggiuntivi per impostarlo.

Installazione dell’hardware

1. Per prima cosa, andare allo slot del cavo a nastro CSI (Camera Serial Interface) sul Pi e con due dita su ogni lato del connettore tirare verso l’alto. Questa tecnica dovrebbe ora aprire il connettore, ora inserire il cavo a nastro con i cavi metallici rivolti verso la porta Ethernet.

2. Una volta allineato, premere delicatamente il connettore verso il basso e il cavo dovrebbe ora essere bloccato in un posto.

  • Clip e cavo a nastro
  • Configurazione del software

Per far funzionare la fotocamera Raspberry Pi con Motion, dovremo fare qualche passo in più.

1. Per prima cosa assicuratevi che la telecamera sia accesa all’interno di raspi config, inserite il seguente comando e poi abilitate la telecamera (trovata in interfacing options). Sarà necessario riavviare una volta fatto questo.

2. Inserite la seguente linea per avere la telecamera sui moduli. Assicuratevi che la telecamera sia collegata correttamente prima di eseguire questa linea, altrimenti verrà lanciato un errore.


sudo modprobe bcm2835-v4l2

3. In alternativa, dovrebbe funzionare anche il seguente processo. Per prima cosa, aprite il file dei moduli inserendo la seguente linea.

4. Inserite la seguente linea in fondo al file, se non esiste già.

Una volta fatto, salvate e uscite premendo CTRL + X e poi Y.

5. Ora riavviate il Pi, e il flusso dovrebbe ora funzionare.

6. Ora si dovrebbe essere in grado di accedere al flusso della webcam del Raspberry Pi andando all’indirizzo IP del Pi sulla porta 8081.

192.168.1.103:8081

Ora si dovrebbe avere un server per telecamere Raspberry Pi completamente funzionante e accessibile all’interno della rete locale. Se vuoi permettere l’accesso esterno alla videocamera, allora segui le mie istruzioni qui sotto.

Salvare filmati e foto in movimento con Raspberry Pi e Motion

Per impostazione predefinita, probabilmente incontrerete problemi di autorizzazione per salvare le foto e i video attivati dal movimento. Andrò attraverso i passi qui sotto su come impostare questo per funzionare correttamente.

1. Per prima cosa, creiamo una nuova directory per le nostre foto e video.

2. Poi, dobbiamo cambiare il gruppo della cartella motion in modo che motion possa scriverci dentro. Dopo di che, diamo al gruppo i permessi di lettura, scrittura ed esecuzione usando il comando chmod.


sudo chgrp motion /motion
sudo chmod g+rwx /motion

3. Ora dobbiamo tornare nel file di configurazione di motion e cambiare la target_dir nella nostra nuova directory. Per prima cosa, aprite il file con l’editor di testo nano.


sudo nano /etc/motion/motion.conf

4. Aggiornate la linea target_dir, in modo che assomigli a quella qui sotto.

Assicurati di rimuovere il ; dall’inizio della linea.

5. Successivamente, riavviate il servizio motion, in modo che la configurazione sia caricata correttamente.


sudo systemctl restart motion

6. Ora, ogni volta che la telecamera rileva un movimento, dovrebbe essere salvato nella cartella che abbiamo specificato sopra. Puoi verificarlo eseguendo il seguente comando.

Assicurati di controllare la nostra guida sui permessi di Linux per maggiori informazioni su come impostare correttamente i permessi.

Impostare l’accesso esterno

Al fine di abilitare l’accesso esterno al server della webcam Raspberry Pi, avremo bisogno di cambiare alcune impostazioni sul router. Tuttavia, tutti i router sono progettati in modo diverso, quindi potrebbe essere necessario cercare le istruzioni per la propria marca di router.

Si prega di notare che l’apertura delle porte verso internet comporta un rischio per la sicurezza.

Se avete bisogno di una guida più approfondita, allora assicuratevi di dare un’occhiata alla mia guida su come impostare il port forwarding del Raspberry Pi e il DNS dinamico.

I seguenti passi sono ciò che ho fatto sul mio per farlo funzionare. Il mio router è un router TP-Link AC1750.

1. Vai alla pagina di amministrazione del router (Questo sarà tipicamente 192.168.1.1 o 192.168.254)

2. Inserisci il nome utente e la password. Il valore predefinito è tipicamente admin & admin.

3. Una volta entrati andate su forwarding->Virtual Server e poi cliccate su add new.

4. Qui inserite:

  • Porta di servizio: In questo caso 48461
  • Indirizzo IP: 192.168.1.103 (Indirizzo del vostro Pi)
  • Porta interna: Vogliamo che questa sia la stessa del server della webcam, quindi rendila 8081
  • Protocollo: Tutti
  • Stato: Abilitato

5. Queste impostazioni indirizzeranno tutto il traffico destinato alla porta 48461 al server della webcam situato all’indirizzo IP e alla porta che avete fornito. Per esempio: 192.168.1.103:8081

Router Port Forwarding

6. Ora dovreste essere in grado di connettervi al flusso della webcam del Raspberry Pi al di fuori della vostra rete. Potrebbe essere necessario riavviare il router affinché le modifiche abbiano effetto.

Se non sei in grado di connetterti al di fuori della tua rete locale, puoi provare quanto segue.

  • Controllare le impostazioni del router e confermare che siano corrette.
  • Controlla che il tuo IP non sia cambiato. Alcuni provider di servizi internet ti forniranno un IP dinamico piuttosto che un IP statico) Puoi impostare qualcosa chiamato DNS dinamico per contrastare questo, puoi trovare maggiori informazioni tramite il link menzionato sopra.
  • Riavvia il router.
  • Spero che vi sia piaciuto questo tutorial su come costruire un server webcam Raspberry Pi, se volete di più allora, si prega di controllare tutti i miei progetti Raspberry Pi che ho attualmente completato. Ci sarà molto di più in arrivo in futuro.

In alternativa usate MotionEye OS su Raspberry Pi

Questa è una semplice introduzione all’impostazione di un grande sistema di monitoraggio della telecamera – motionEye OS sul tuo Pi. Se vuoi creare un sistema di sicurezza, un sistema di cattura della fauna selvatica o un video in stop-motion del tuo evento, non cercare oltre. La distro motioneEYE OS è la cosa giusta.

Potreste voler modificare la guida per soddisfare le vostre esigenze. Per un Pi Zero, o Pi Zero W, potresti prendere ispirazione da un grande tutorial sulla Octocam – è rivolto al Pi Zero W, ma con una piccola astrazione, ti aiuterà a iniziare con qualsiasi altro dispositivo.

Se preferite avere un servizio di streaming senza un front-end, provate invece la guida Streaming Video with Motion.

Installazione di motionEYE OS

Il sistema operativo motionEye vi permette di configurare una telecamera di sicurezza attivata dal movimento che cattura immagini o video, vi permette di visualizzarli sul vostro dispositivo, sui computer collegati o anche di caricarli sul cloud. Oltre a funzioni avanzate come lo streaming video di rete, webhooks (per servizi come IFTTT, Dropbox, è anche possibile impostare una semplice stazione di monitoraggio con più dispositivi collegati ad una dashboard.

Immagine di motionEYE OS

motionEye OS è un sistema operativo completo per il tuo Pi. È effettivamente basato su una distro Pi: basta scriverlo sulla scheda SD, configurarlo al primo avvio e si è pronti a partire. Potresti voler considerare l’utilizzo di una scheda SD più grande per l’archiviazione (un sacco di foto e video stanno potenzialmente occupando spazio), ma questo dipende dalla tua configurazione. Forse vuoi solo caricare sul cloud e dimenticare l’archiviazione locale.

Quindi vai a scaricare l’ultima immagine di motionEye e scrivila sulla tua scheda SD : scarica MotionEye da qua

NOTA: ci sono più immagini disponibili. Scegliete quella che si adatta al vostro dispositivo. Potrebbe non essere chiaro a prima vista, ma se avete un Pi Zero o Pi Zero W, usate la vecchia versione motioneyeos-raspberrypi-xxxxxxxx.img.gz.

Non espellere ancora l’immagine, sono necessarie alcune configurazioni

Configurazione dei MotionEye su Raspberry PI

Configurare l’immagine (scheda SD) seguendo la nostra guida Setup SD Card. Basta sostituire il download dell’immagine raccomandata di Raspbian con l’immagine MotionEYE che hai scelto in precedenza.

Apri un browser sul tuo computer (o tablet, o telefono), e digita http://192.168.0.101, per esempio, sostituendo l’indirizzo IP con quello del tuo dispositivo, nella barra degli indirizzi. Se tutto va bene, si raggiungerà la schermata iniziale di motionEye OS.

Nota: Il nome utente predefinito è admin, la password predefinita è blank (nessuna password).

È una buona idea impostare alcune credenziali secondo i vostri gusti

Hai finito!

Installare motionEye su Raspberry Pi

Se volete solo eseguire il sistema operativo descritto sopra, avete finito, la vostra webcam per Raspberry PI è pronta. Tuttavia, se volete avere MotionEye in esecuzione sul vostro Pi, e lanciare anche altri programmi, continuate a leggere.

Per prima cosa, andate sulle pagine github di Motioneye. La soluzione ha un’ottima documentazione e permette di installare MotionEye in un batter d’occhio. Attenzione, l’installazione non è completamente banale.

Per installare, seguite questa guida all’installazione dalla stessa pagina.

Alcune Fotocamere per Raspberry PI che uso:

Kuman 5MP SC15 Per Raspberry Pi 3 o 4 Modulo B B+A+RPi, Fotocamera Visione Notturna A Infrarossi Modulo 1080p OV5647 Sensor HD Video Webcam Supports Night Vision

informazioni su questo articolo

  • fotocamera per Raspberry Pi, compatibile con: Raspberry Pi modello B/B+ A+ RPi 3 2 1
  • sensore V5647 da 5 megapixel. Supporta fino a 2 LED infrarossi e un flash
  • Fotocamera notturna che supporta tutte le revisioni di Pi
  • La confezione include: 2 LED infrarossi e 1 Webcam a visione notturna infrarossi
  • La fotocamera è in grado di scattare foto a 2592 x 1933 pixel e supporta anche il 1080p a 30 fps; 720p a 60fps ed è in grado di eseguire registrazioni a 640 x 480 a 60 e 90 fps

Svpro Telecamera CCTV 5-50mm Varifocal Lens USB Webcam 1/3.2 ” IMX179 8MP MJPEG CS Mount USB Web Camera (SV-USB8MP02G-SFV)

Informazioni su questa webcam per Raspberry PI

  • IMX179 – Sensore di immagine avanzato da 1/3.2 pollici
  • Alta risoluzione 8 mp, max. Risoluzione 3264X2448, adatto per la acquisizione di documenti
  • Lente varifocale manuale HD 5 – 50 mm di alta qualità per immagini chiare a diverse distanze focali
  • Sistema operativo: Win XP Win7 Win8 Android Linux, supporto Raspberry Pi Mac
  • Compressione: MJPEG & YUY2; Super Mini Dimensioni: 38 x 38 x 32 mm
Condividi questo articolo:

1 Trackback / Pingback

  1. Raspberry Pi Camera Board V2 recensione - Andrea Piani - Sviluppatore

Lascia un commento

L'indirizzo email non sarà pubblicato.


*