Camera di sorveglianza

Da raspibo.
Versione del 26 mar 2014 alle 19:03 di Oloturia (discussione | contributi) (Creata pagina con 'Vorreste trasformare il vostro Raspberry Pi in una camera di sorveglianza per controllare quel che succede in un'altra stanza o il garage? Ecco un po' di strumenti che possono...')
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)
Jump to navigation Jump to search

Vorreste trasformare il vostro Raspberry Pi in una camera di sorveglianza per controllare quel che succede in un'altra stanza o il garage? Ecco un po' di strumenti che possono esservi utili. ATTENZIONE: sebbene sia possibile controllare questo dispositivo tramite internet, dovete essere sicuri di quello che fate, essendo possibile che malintenzionati possano collegarsi alla vostra cam per controllare se siete in casa.

Camera pantilt.JPG

Quel che vi serve:

  • Un Raspberry Pi collegato in qualche modo a una rete (se usate il Wi-Fi potete usare anche un mod. A)
  • Il modulo camera per Raspberry Pi o una Webcam USB
  • Due servocomandi (opzionale)
  • Una struttura pan-tilt (opzionale)

Su Raspberry Pi vanno installati:

  • Raspbian, come sistema operativo
  • MJpegStreamer[1], per lo streaming video
  • ServoBlaster[2] (opzionale), per muovere i servocomandi
  • Lighttpd[3] (opzionale), per fare una semplice interfaccia web

Il pan-tilt

Per la struttura ho scaricato e stampato questo Super Compact Pan Tilt Camera Mount trovato su Thingiverse. Ci sono molti altri modelli che possono andare bene per il modulo camera del Raspberry Pi. Questo purtroppo si è dimostrato abbastanza fragile per molti pezzi è stato necessario essere ristampati perché nel montaggio si erano rotti.

MJpegStreamer

MJpegStreamer è un programma che vi permette di vedere lo stream del modulo cam del Raspberry da una comoda interfaccia grafica via web. Per installarlo potete seguire questa guida sul forum ufficiale del Raspberry Pi. Una volta lanciato lancerà un server web sulla porta 8080 dove sarà possibile accedere a diversi tipi di streaming e ad alcuni controlli sulla qualità dell'immagine. Per collegarvi scrivete http://<indirizzo del Raspberry>:8080.

Purtroppo per farlo funzionare con il modulo camera del Raspberry Pi occorre installare l'API v4l2 per il modulo cam tramite il driver uv4l-raspicam[4]. Una volta installato uv4l e uv4l-raspicam la cam del Raspberry sarà vista come un device /dev/videoX (di solito video0, se non avete altre webcam USB collegate). Se invece usate una webcam collegata all'USB non dovrete installare nient'altro.

ServoBlaster

ServoBlaster è una ottima libreria per la gestione dei servocomandi usando il PWM software. In breve: i servocomandi hanno tre pin, due sono +5v (ma bastano anche 3,3) e la terra, il terzo è il cavo dati, sul quale va mandato un PWM che determina la posizione del servo. ServoBlaster può essere lanciato come demone tramite il comando servod. Fate attenzione che i pin gestiti da ServoBlaster non possono essere usati da altre applicazioni, per cui, se vi servono, dovrete lanciare il demone servod con l'opzione --p1pins=X,Y,Z. Il numero del pin è il numero FISICO, 1 è il +3,3 in alto a sinistra. Per terminare ServoBlaster (utile nel caso i vostri servo siano usciti di controllo!) terminatelo con pkill o killall. ServoBlaster crea un device su /dev/servoblaster il quale riceve i comandi da dare ai servo con questa sintassi:

echo <numero servo>=<PWM> > /dev/servoblaster

il numero servo è dato dall'ordine in cui sono stati inseriti nell'opzione p1pins, ad es. se si scrive:

servod --p1pins=10,7,11

il servo 0 è sul pin 10, il servo 1 è sul pin 7 e il servo 2 è sul pin 11. Se non usate l'opzione p1pins la mappatura di default è, nell'ordine: 7 11 12 13 15 16 18 22. ServoBlaster dovrebbe gestire fino a 8 servocomandi contemporaneamente.

Il PWM farà spostare il vostro servo più o meno a seconda del valore. Nei servocomandi normali il servo si muoverà in una determinata posizione, nei servo continui il PWM determinerà la velocità e il senso di rotazione.