Visore notturno con Raspberry Pi Zero W e camera NoIR


Informatica / martedì, Gennaio 21st, 2020

Dopo aver acquistato il minuscolo Raspberry Pi Zero W e la fantastica telecamera NoIR (senza filtro agli infrarossi), finalmente posso creare il mio personale visore notturno!

Per i miei progetti mi baso sempre su due concetti fondamentali: vanno semplificati al massimo e vanno ridotti i costi al minimo, altrimenti che senso ha comprare il computer più economico del mondo, epoi spenderci un patrimonio di soldi per i componenti e accessori?

Il visore notturno ha bisogno di un monitor, una telecamera senza filtro ad infrarossi, un computer che la gestisca, ed un supporto.

Come tagliare i costi hardware?

Semplice:

  • Monitor: i monitor per Raspbery Pi costano abbastanza, ma in realtà non ci serve perchè tutti ne abbiamo già almeno uno, ma non ci pensiamo: lo smartphone
  • Computer: è incredibile, costa pochissimo, è molto versatile, consuma poco ed ha il WiFi integrato.. Cosa è? Naturalmente Raspberry Pi Zero W
  • Telecamera Notturna NoIR: ne serve una compatibile con il Raspberry Pi Zero W, su Aliexpress per 12€ ne ho trovata una con tanto di lente fish eye
  • Supporto: il supporto è la parte più creativa, usa un cappello, occhiali, visore VR, stampalo in 3D o usa un casco da moto, basta usare la fantasia
  • Alimentazione: un piccolo powerbank ci garantirà una discreta autonomia e leggerezza

Installazione del Software

Aggiornamenti

Il software che più si adatta al mio progetto si chiama Motion, ma ha bisogno di speciali accorgimenti per ottimizzarne l’uso con la telecamera di Raspberry Pi..
Iniziamo con le basi.

Installiamo Raspbian Lite (cosi verranno impegnate meno risorse), dopo averlo collegato alla rete WiFi, abilitiamo la webcam tramite il menù raspi-config , interfacing option, camera.

Passiamo agli aggiornamenti dei software con

sudo su
apt-get update; apt-get dist-upgrade -y ; reboot now

dopo il riavvio, aggiorniamo il firmware

sudo su
rpi-update

nel caso mancasse, eseguiamo

apt-get install -y rpi-update; rpi-update; reboot now

Installazione di motion

Ottimo: ora abbiamo il Raspberry Pi aggiornato! Il passo successivo è abilitare il modulo bcm2835-v4l2

echo bcm2835-v4l2 >> /etc/modules

questo al riavvio creerà il file /dev/video0 necessario per usare il modulo camera.

Ora, come detto, ci servirà il software Motion per la gestione della telecamera, si potrebbe installare tramite apt, ma questo metodo non funziona correttamente, quindi scarichiamo il pacchetto aggiornato dal sito ufficiale

wget https://github.com/Motion-Project/motion/releases/download/release-4.0.1/pi_jessie_motion_4.0.1-1_armhf.deb

(correggi il numero di versione con l’ultima release)

Adesso ci servirà il software per installare il pacchetto deb, chiamato gdebi-core

sudo apt-get install gdebi-core -y

ed infine possiamo installare il pacchetto scaricato

sudo gdebi [nome del pacchetto]

Configurazione

Il software Motion, di default, attiva la funzione per registrare video e foto in caso di rilevazione di movimento, nel nostro caso non serve, dobbiamo quindi disattivarla avviando il software con il parametro -m , ma prima di farlo sarà necessario configurare il file motion.conf, impostando le dimensioni e frame rate che preferiamo ed abilitando le ottimizzazione per il Raspberry Pi.

sudo nano /etc/motion/motion.conf

Se vogliamo abilitarlo come demone all’avvio, bisogna impostare

daemon on

(Attenzione a verificare che non salvi ogni singolo movimento)

Nel caso non ci ricordassimo quali sono i valori massimi di altezza e larghezza dei video basterà eseguire

raspistill -o test.jpg

e leggere le dimesioni della foto scattata.

Successivamente, sempre nel file di motion.conf, impostiamo i valori preferiti per la risoluzione: larghezza (width) ed altezza (height), non superando i valori ricavati prima.

widht 2592
height 1944

Il parametro framerate (fotogrammi al secondo) va valutato in base alle esigenze, io sto usando 30

framerate 30

Ora il parametro speciale per il modulo telecamera del Raspberry Pi

mmalcam_name vc.ril.camera

Abbiamo completato la configurazione, ed è ora di fare una prova

motion -m

controlliamo che non ci siano errori e finalmente apriamo la pagina web

http://[ip o nome dei raspberry]:8081

se non vi consente di accedere, verificate la configurazione

stream_localhost on

Motion contiene moltissime interessanti opzioni che vi consiglio di approfondire leggendo il file motion.conf

Hardware per il visore notturno

In questa versione low cost ho “fissato” il Raspberry Pi Zero W ed il modulo camera NoIR con due elastici al cellulare, vi invito caldamente a realizzare un supporto pù bello e solido, e postare le foto nel forum.

A questo punto mi serve un supporto per posizionarlo sulla testa, ma deve stare anche ad una certa distanza, quindi perchè non usare un vecchio cappello?

Infine, il power bank sarebbe preferibile fissarlo in modo più deciso, ma essendo una versione “alfa”, va più che bene così.

Ecco il nostro visore notturno low cost! Avanti, spegni le luci, sullo smartphone apri il sito creato da Motion e gira per casa.

Io lo vedrei bene usato in una partita di soft-air notturna, la cosa bella è che si può vedere in contemporanea su altri dispositivi, in diretta.

Una ulterione ottimizzazione sarebbe collegarlo in hotspot con lo smartphone, oppure si potrebbe sfruttare un router 4g portatile, basta aver un po’ di inventiva.