ZoneMinder

Da RELug :: Reggio Emilia Linux User Group.


Introduzione

Il primo pensiero che abbiamo quando parliamo di video sorveglianza è quello di poter individuare ladri oppure qualcuno che viola uno spazio privato, e che questi sistemi servano esclusivamente a questo scopo complementare ai sistemi di allarme.

Non è così ci sono tantissimi campi di utilizzo ad esempio :

  • In campo industriale; potrebbe significare sorvegliare una automazione di produzione per scoprirne difetti o malfunzionamenti .
  • Potrebbe tornarci utile sorvegliare una zona dove degli animali selvatici o domestici devono essere controllati.
  • Anche verificare nel tempo lo stato di avanzamento di lavori edili
  • Oppure sequenze di azioni che si verificano sempre nel medesimo luogo .
  • Condizioni ambientali e meteorologiche
  • Traffico in particolari zone della rete stradale
  • Sorvegliare bambini , anziani o disabili

ZoneMinder permette di gestire un certo numero di telecamere posizionate in varie zone del mondo semplicemente usufruendo della connettività Internet e di alcuni semplici apparati di visualizzazione. Non occorre essere espertissimi programmatori , è sufficiente essere armati di buona pazienza, in modo da configurare il sistema così come lo si vuole.

Guida all'installazione di ZoneMinder

Guida e annotazioni per installare il servizio di videosorveglianza ZoneMinder su macchina Pentium4 Ubuntu_12.04_server

Questa guida presuppone l'uso dell'editor nano ,che siano installati OpenSSH , Apache2 , MySQL , Php5 ed inoltre sarà necessario configurare anche un servizio DNS dinamico (tipo dyndns.com) e relativo applicativo ddclient (questo per ovviare alla mancanza di un ip_statico Potrebbe tornare comodo avere installato mc

I seguenti comandi possono essere impartiti sia localmente sul server o da remoto con ssh:

   sudo apt-get update
   sudo apt-get upgrade
   sudo apt-get install zoneminder

Alla richiesta di nullmailer premere "cancella"

Editare il file: /etc/init.d/zoneminder

   sudo nano /etc/init.d/zoneminder

Inserire sleep 15 come evidenziato in modo da dare tempo a mysql di avviare.

   start() {
    echo -n "Starting $prog: "
    sleep 15
    zmfix -a
    $command start

Configurare Apache2:

   sudo ln -s /etc/zm/apache.conf /etc/apache2/conf.d/zoneminder.conf
   sudo /etc/init.d/apache2 restart
   sudo adduser www-data video
   sudo make-ssl-cert generate-default-snakeoil --force-overwrite
   sudo a2enmod ssl
   sudo a2ensite default-ssl
   sudo service apache2 restart

Installare Cambozola-0.92

   cd /usr/src
   sudo wget http://www.charliemouse.com:8080/code/cambozola/cambozola-latest.tar.gz
   sudo tar -xzvf cambozola-latest.tar.gz
   sudo cp cambozola-0.92/dist/cambozola.jar /usr/share/zoneminder

Selezionare orario online

   sudo nano /etc/cron.daily/ntpdate

Inserire queste 2 linee

   #!/bin/sh
   ntpdate ntp.ubuntu.com

Renderlo eseguibile

   sudo chmod 755 /etc/cron.daily/ntpdate

Riavviare

   sudo reboot

Prima di tutto le Opzioni Generali

Il primo accesso al sistema avviene senza username e password La lingua dei menu è l'inglese Per variare queste opzioni occorrerà aprire il menu Opzioni e intervenire


Configurare una webcam locale

Una webcam locale potrebbe tornare utile per sorvegliare il server o l'ambiente in cui questo è in funzione. Infatti tutto il nostro sistema di video sorveglianza diventa inutile se il server su cui zoneminder è in funzione, viene spento.

Per aggiungere una webcam locale è sufficiente poter scegliere una webcam che sia perfettamente riconosciuta dal nostro sistema Linux.

La webcam avrà una connessione USB quindi l'unica cosa che dovremmo sapere è l'indirizzo.

Con il comando lsusb potremmo sapere se è riconosciuta.

Presupponendo che la telecamera sia montata come dev/video0 si potrà iniziare con la seguente configurazione di base:

Qui di seguito indichiamo il settaggio per una memorizzazione solo a seguito di un evento di allarme con una risoluzione a 320×240 secondo lo standard PAL , salvando cinque immagini al secondo in modalità bianco e nero

Generale


Nome <nome-Webcam>

Tipo Sorgente <locale>

Funzione <Modect>

Attivo <x>

Massimi FPS <5>

FPS max allarme <5>

Riferimento Miscela Immagine percentuale <7>

Triggers <>


Sorgente


Percorso Dispositivo </dev/video0>

Metodo di cattura <Video-for-LinuxVersione2>

Canale Periferica <0>

Formato <PAL>

Paletta img Catturata <GREY>

Larghezza img Catturata (pixels) <320>

Altezza img catturata (pixels) <240>

Preserve Aspect Ratio <x>

Orientamento <normale>


Configurare una videocamera analogica locale

Per la videocamera analogica valgono le stesse regole citate per configurare la webcam dal momento che questi dispositivi si devono interfacciare tramite periferica di acquisizione video di tipo USB

Configurare una IPcam locale

Esistono due possibilità di configurazione la prima consiste nel collocare il server nella nostra rete. La seconda consiste nel creare una sotto rete del server. In questo caso il server deve essere predisposto con 2 schede di rete , una verso internet e e la seconda per la rete locale. Questa architettura consente di difendersi meglio dagli eventuali attacchi verso le IPcam. Infatti la sottorete è fisicamente scollegata dalla rete Internet. In ogni caso le impostazioni sono le medesime fatto salvo i diversi indirizzi IP. Le videocamere devono essere collocate nella sottorete. Per le "IPcam" valgono le stesse impostazioni citate per configurare la webcam , ma con le seguenti differenze di settaggio:

Generale

Nome <nome-IPcam>

Tipo Sorgente <Remoto>

Funzione <Modect>

Attivo <x>

Massimi FPS <5>

FPS max allarme <5>

Riferimento Miscela Immagine percentuale <7>

Triggers <>

Sorgente

Protocollo Remoto <HTTP>

Metodo remoto <Simple>

Nome host remoto <indirizzo_ip_della_videocamera>

Porta dell'host Remoto <numero porta>

Percorso dell'host remoto </videostream.cgi?user=&pwd=>

Colori delle immagini <colori24bit>

Larghezza img <640>

Altezza img <480>


Configurare una IPcam remota

Per le "IPcam" remote valgono le stesse impostazioni citate per configurare le IPcam locali , ma con le seguenti differenze di settaggio: In questo contesto l'IPcam deve essere collegata in una rete forwardata sul proprio router . Sorgente Protocollo Remoto <HTTP>

Metodo remoto <Simple>

Nome host remoto <Nome_pubblico_della_videocamera>

Porta dell'host Remoto <numero porta>

Percorso dell'host remoto </videostream.cgi?user=&pwd=>



Ricevere gli allarmi tramite e-mail

E' possibile istruire zoneminder ad inviare email a seguito di allarmi Per fare questo posizionarsi nel menu opzioni -email e immettre l'indirizzo del destinatario di tali messaggi impostando SMTP relativo al proprio server di posta in uscita Prestare attenzione perchè il sistema invia una mail ogni allarme , quindi potrebbero arrivarvi moltissime email in poco tempo anche per falsi allarmi generati dal cambio di luce.

Ricevere gli allarmi tramite sms

Non consigliato (viste le tariffe telefoniche si rimanda alla ponderata necessità individuale)

Visualizzare tutte le proprie XXcam con cicla e montaggio

Nella parte superiore destra della schermata di zoneminder è possibile vedere tutte le riprese attraverso le funzioni cicla/montaggio , questo renderà più facile la visione generale della sorveglianza.

I filtri

Una caratteristica molto importante che se ben costruita è in grado di automatizzare moltissime operazioni sul nostro sistema.

Di default è già presente un esempio di filtro utile per tenere pulito il ns archivio dai vecchi fotogrammi salvati , prima che il disco fisso del server sia pieno .

Sulla base di come è costruito questo, si può prendere spunto per generare altri filtri a piacimento per altre situazioni che riterremo importanti da eseguire in background o manualmente.