Einführung
Guten Tag.Mit einem Heim-NAS, auf dem Debian 8 ausgeführt wird (ich habe früher Ubuntu Server 12.04 und 14.04 verwendet), kam die Idee, ihm unter anderem die Rolle eines Überwachungsservers zuzuweisen. Als Serverteil wurde Zoneminder ausgewählt . Der Algorithmus für die Videoüberwachung sollte wie folgt lauten: Eine Aufzeichnung rund um die Uhr ist nicht erforderlich. Falls erforderlich, muss jedoch die Aufzeichnung des Auftretens eines Ereignisses aktiviert werden können. Dabei wird eine Bewegung ausgelöst und anschließend eine Benachrichtigung per E-Mail mit Screenshots des Ereignisses gesendet. Dies ist notwendig, um die Kontrolle über die Wohnung zu gewährleisten, wenn jemand abwesend ist. Natürlich müssen Sie die Möglichkeit haben, eine Remoteverbindung herzustellen und zu überprüfen, ob alles in Ordnung ist.Auf der Entwicklerseite fand ich die detailliertestenEin Wiki speziell für die Installation auf Debian 8 64-Bit. Dementsprechend werde ich von dort Installationsanweisungen nehmen und einige Punkte mit meinen Kommentaren erläutern.Installieren Sie Zoneminder
Wir haben also einen Server mit Debian 8 64-Bit in der Mindestkonfiguration installiert (ich habe netinstall verwendet). Zuerst müssen Sie die Datei "sources.list" bearbeiten und Jessie-Backports hinzufügen:sudo nano /etc/apt/sources.list
Fügen Sie am Ende der Datei Folgendes hinzu:deb http://http.debian.net/debian jessie-backports main
Oder kommentieren Sie diese Zeile aus, wenn sie bereits vorhanden ist, dh löschen Sie # am Anfang der Zeile. Aktualisieren des Paketindex:sudo apt-get update
Jetzt ist alles bereit, um Zoneminder zu installieren, was wir tun werden:sudo apt-get install zoneminder
Während der Installation werden auch Apache, MySQL, PHP automatisch installiert.Erstellen Sie nach Abschluss der Installation die MySQL-Datenbank:sudo mysql -uroot -p < /usr/share/zoneminder/db/zm_create.sql
Beim Erstellen der Datenbank werden Sie aufgefordert, das Root-Passwort auszuwählen. Führen Sie als Nächstes die folgenden Befehle nacheinander (über sudo) aus und geben Sie im Falle einer Anforderung das Kennwort ein:mysql -uroot -p -e "grant all on zm.* to 'zmuser'@localhost identified by 'zmpass';"
mysqladmin -uroot -p reload
chmod 740 /etc/zm/zm.conf
chown root:www-data /etc/zm/zm.conf
Schalten Sie den Zoneminder-Autorun ein:systemctl enable zoneminder.service
Wir fügen den Benutzer www-data zur sudo-Gruppe hinzu. Dies ist erforderlich, um auf lokale Kameras zugreifen zu können:adduser www-data sudo
Starten Sie Zoneminder:systemctl start zoneminder.service
Überprüfen Sie, ob Zoneminder ausgeführt wird:systemctl status zoneminder.service
Wenn alles in Ordnung ist, sollte die Ausgabe des Befehls ungefähr so aussehen:● zoneminder.service - ZoneMinder CCTV recording and surveillance system
Loaded: loaded (/lib/systemd/system/zoneminder.service; enabled)
Active: active (running) since 2016-07-10 18:48:30 IRKT; 5h 31min ago
Process: 6413 ExecStop=/usr/bin/zmpkg.pl stop (code=exited, status=0/SUCCESS)
Process: 6455 ExecStart=/usr/bin/zmpkg.pl start (code=exited, status=0/SUCCESS)
Main PID: 6474 (zmdc.pl)
CGroup: /system.slice/zoneminder.service
├─6474 /usr/bin/perl -wT /usr/bin/zmdc.pl startup
├─6507 /usr/bin/perl -wT /usr/bin/zmfilter.pl
├─6514 /usr/bin/perl -wT /usr/bin/zmaudit.pl -c
└─6521 /usr/bin/perl -wT /usr/bin/zmwatch.pl
Apache konfigurieren:a2enmod cgi
a2enmod rewrite
a2enconf zoneminder
Fügen Sie Ihre Zeitzone in PHP hinzu:sudo nano /etc/php5/apache2/php.ini
Wir suchen den Abschnitt [Datum] und ändern die Datums- / Zeitzone in die gewünschte:[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Asia/Irkutsk
Speichern - Strg + O, Beenden - Strg + X.Starten Sie Apache neu:service apache2 restart
Um Zoneminder über den Internet Explorer steuern zu können, müssen Sie Cambozola installieren:cd /usr/src && wget http://www.andywilcock.com/code/cambozola/cambozola-latest.tar.gz
tar -xzvf cambozola-latest.tar.gz
replace 936 with cambozola version downloaded
cp cambozola-0.936/dist/cambozola.jar /usr/share/zoneminder
Damit ist die Installation von Zoneminder abgeschlossen. Jetzt müssen Sie den Mail-Transport so konfigurieren, dass Zoneminder Sie per E-Mail über Ereignisse informieren kann.Posttransport einrichten
Um Benachrichtigungen zu senden, kann Zoneminder ssmtp verwenden und installieren:sudo apt-get update
sudo apt-get install ssmtp
Installieren Sie mailutils gleichzeitig, wenn dieses Paket noch nicht installiert ist:sudo apt-get install mailutils
Konfigurieren Sie nun die E-Mail-Einstellungen, für die Benachrichtigungen gesendet werden. Angenommen, das Postfach befindet sich unter gmail.com. Öffnen Sie ssmtp.conf:sudo nano /etc/ssmtp/ssmtp.conf
und bringen Sie auf diesem Formular Ihre Daten entsprechend an:root=mymail@gmail.com
mailhub=smtp.gmail.com:587
hostname=localhost
RewriteDomain=gmail.com
UseSTARTTLS=YES
UseTLS=YES
AuthUser=mymail@gmail.com
AuthPass=myverystrongpassword
Richtige Revaliasen:sudo nano /etc/ssmtp/revaliases
wir bringen zu dieser Form:root:pp@gmail.com:smtp.gmail.com:587
www-data:pp@gmail.com:smtp.gmail.com:587
Und wir überprüfen die Richtigkeit der Einstellungen, indem wir einen Testbrief senden:echo "Hello, World" | mail -s "My email check" mne@napochtu.ru
Wenn der Test erfolgreich ist, fahren Sie mit dem nächsten Schritt fort - der Installation von MIME :: Lite und Net :: SMTP. Überprüfen Sie, ob diese Komponenten installiert sind:perl -MMIME::Lite -e "print \"Module installed.\\n\";"
perl -MNet::SMTP -e "print \"Module installed.\\n\";"
Installieren Sie, indem Sie in die Perl-Shell gehen:sudo perl -MCPAN -e shell
install MIME::Lite
install Net::SMTP
Jetzt müssen wir einige sehr wichtige Änderungen vornehmen, ohne die der Posttransport von Zoneminder nicht funktioniert. Bitte beachten Sie, dass diese Änderungen nur vorgenommen werden sollten, wenn die Version des installierten Zoneminder 1.29 oder niedriger ist. Ab Version 1.30 sind diese Aktionen nicht erforderlich.Öffnen Sie die Datei zmfilter.pl im Editor:sudo nano /usr/bin/zmfilter.pl
In Zeile 1179 sehen wir Folgendes:
MIME::Lite->send( "smtp", $Config{ZM_EMAIL_HOST}, Timeout=>60 );
$mail->send();
Kommentieren Sie die Zeilen ausMIME::Lite->send( "sendmail", $Config{ZM_EMAIL_HOST}, Timeout=>60 );
und$mail->send();
und fügen Sie eine Zeile darunter hinzu$mail->send('sendmail','/usr/sbin/ssmtp',$Config{ZM_EMAIL_ADDRESS});
Ausgehend von Zeile 1179 (in meinem Fall, aber nicht genau dieser Zeilennummer) sollte der Code daher folgendermaßen aussehen:
$mail->send('sendmail','/usr/sbin/ssmtp',$Config{ZM_EMAIL_ADDRESS});
Speichern, beenden. Damit ist die Arbeit mit dem Terminal abgeschlossen.Zoneminder-Weboberfläche
Die Verwaltung ist unter ip.adress.servera / zm verfügbar . Gehen Sie zunächst zu Optionen -> Benutzer und legen Sie das Kennwort für admin fest:
Gehen Sie dann zu Optionen -> System und aktivieren Sie das Kontrollkästchen OPT_USE_AUTH:
Wenn dies nicht erfolgt, können Sie mit Zoneminder zur Weboberfläche gehen oder eine Verbindung herstellen eine Client-Anwendung ohne Aufforderung zur Eingabe eines Logins / Passworts, was natürlich unsicher ist. Es ist seltsam, dass dieses sehr notwendige Häkchen nicht standardmäßig aktiviert ist.Konfigurieren Sie nun das Senden von E-Mails. Gehen Sie zu Optons -> Email und konfigurieren Sie analog:
Im Feld EMAIL_BODY können Sie das Format der Benachrichtigungen nach Bedarf konfigurieren. Wenn Sie beispielsweise% EI1% zum Feld hinzufügen, wird der erste Screenshot ab dem Moment, an dem der Bewegungssensor ausgelöst wird, an die Nachricht angehängt. Eine vollständige Liste der Optionen für Benachrichtigungen finden Sie hier .Kameras hinzufügen
Zoneminder kann sowohl mit USB- als auch mit IP-Kameras arbeiten. Momentan sind meine Kameras noch unterwegs. Als temporäre Testversion der Kamera verwende ich mein altes Alcatel Pop C2-Android-Smartphone, auf dem die IP-Webcam- Anwendung installiert ist , die das Smartphone in eine Wi-Fi-IP-Kamera verwandelt. Nach der Installation und Ausführung der Anwendung (zuerst empfehle ich, die Auflösung des Videostreams in den Anwendungseinstellungen festzulegen, ich stelle 800 x 480 ein) zeigt das Smartphone die IP und den Port an, über den Sie zur Weboberfläche gehen und sehen können, was hier interessant ist:
Im Allgemeinen gibt es viele Einstellungen, aber wir sind an der Adresse interessiert, an die der Videostream gesendet wird. Und wir sehen, dass es Informationen gibt, um Zoneminder zu konfigurieren, was eine gute Nachricht ist. Es wird nämlich der Remote-Host-Pfad angegeben, der in den Zoneminder-Einstellungen eingegeben werden muss - nach der IP-Kamera, die Sie hinzufügen müssen / video:
Gehen Sie zurück zur Zoneminder-Weboberfläche, um die Kamera hinzuzufügen, und wählen Sie Neuen Monitor hinzufügen: Geben Sie
im Feld Name den gewünschten Namen Quelle ein Typ -> Remote:
Füllen Sie auf der Registerkarte Quelle die Felder aus: Remote-Hostname -> IP des Smartphones, Remote-Host-Port -> Port, auf dem die IP-Webcam ausgeführt wird, Remote-Host-Pfad -> den Pfad, den wir in den IP-Webcam-Einstellungen gesehen haben, und geben Sie auch an Videostream-Auflösung, die mit der zuvor in den IP-Webcam-Einstellungen ausgewählten übereinstimmen sollte:
Wir speichern die Einstellungen -> Speichern und im Zoneminder-Hauptmenü sehen wir die Kamera, die wir hinzugefügt haben:
Durch Klicken auf den Namen, dessen Bild angezeigt wird :
Kameras können in verschiedenen Modi arbeiten, die durch den Funktionsparameter im Hauptmenü festgelegt werden:
Der Modus, in dem nur die Aufnahme durchgeführt wird Bewegung im Rahmen, genannt Modect, und wählen Sie es aus. Jetzt zeichnet das System den Videostream nicht mehr kontinuierlich auf, sondern nur, wenn gute Gründe vorliegen. Wir brauchen aber noch eine Benachrichtigung über die Bewegung im Rahmen. Dazu müssen Sie den Filter konfigurieren. Öffnen Sie Filter im Zoneminder-Hauptmenü, konfigurieren Sie sie gemäß dem Screenshot und speichern Sie sie unter einem beliebigen Namen:
Vergessen Sie nicht, das Kontrollkästchen neben Filter im Hintergrund ausführen zu aktivieren :
Wenn also eine Bewegung im Rahmen erkannt wird, zeichnet das System das Video auf und sendet eine Benachrichtigung an die Mail.Client-Anwendungen
Wenn es eine permanente IP gibt, hindert Sie nichts daran, die Ports im Router weiterzuleiten und vom Smartphone aus eine Verbindung von außen über die Weboberfläche herzustellen, zumal Sie die mobile Version der Schnittstelle in den Zoneminder-Einstellungen auswählen können. Außerdem habe ich mich dazu entschlossen, eine mobile Anwendung dafür zu suchen Ziele. Nachdem ich bei Google Play nach dem Keyword "zoneminder" gesucht hatte, entschied ich mich für zmNinja , weil Die Bewertung ist ziemlich hoch und ich mochte die Screenshots. Der Antrag ist bezahlt, Testversion zur vorläufigen Beurteilung, leider Nr. Die Funktionalität ist mehr als ausreichend - Anzeigen des Videostreams in Echtzeit, Anzeigen des Archivs, aufgezeichnete Ereignisse, Umschalten des Kameramodus usw.



Es gibt auch Desktop-VersionenzmNinja für Linux, Windows, Mac OS X - sie werden kostenlos verteilt. So sieht die Linux-Version auf meinem Mint 18 aus:
Im Allgemeinen ist die Benutzeroberfläche für alle Systeme gleich.Das ist alles, danke für Ihre Aufmerksamkeit.