Die unprofessionelle Videoüberwachung der Wohnung ist unterhaltsam und kostengünstig

Von dem Moment an, als ich ein GSM-Alarmsystem in meiner Wohnung auf der Hut hatte, kam mir die Idee, dass es schön wäre, in meiner Abwesenheit „Augen“ in der Wohnung zu haben, wenn die Alarmsensoren ausgelöst würden (oder ist der Alarm möglicherweise falsch?). Da ich Ingenieur auf dem Gebiet der Informationstechnologie bin, gab es keine Frage einer professionellen Lösung in Form eines Registrars und einer Reihe von Kameras - nur alles selbst, mit meinen eigenen Händen. Es wurde auch beschlossen, das Budget sofort zu begrenzen und bei Erfolg des Projekts bereits über seine weitere Verbesserung und Modernisierung nachzudenken.

Eisen


Zunächst wählen wir das Eisen aus. "Augen" bedeutet eine Kamera, es kommt kein Weg. Dann stellt sich die Frage, was mit dem empfangenen Bild zu tun ist - es zu speichern, irgendwo zu übertragen usw. Also dachte ich an einen Router, der über eine USV mit einem 4G-Modem für einen stabilen Internetkanal verbunden ist, der einem potenziellen Einbrecher nur schwer zugänglich ist.

Bei der Arbeit setzen wir seit mehreren Jahren erfolgreich Router mit ZyXel Keenetic USB-Anschlüssen ein (insbesondere mein bereits veraltetes Giga2-Modell). Nachdem die Entwickler der Firmware so etwas wie OPKG (Paketmanager) „vermasselt“ hatten, wurde es möglich, meinen Router in einen PC mit Linux mit den weitesten Möglichkeiten zu verwandeln, den ich für meinen Zweck verwenden wollte. Insgesamt fehlte mir, da ich bereits einen Computer-Router mit angeschlossenem 4G-Modem zu Hause hatte, nur die „Augen“ - eine USB-Kamera. Ich erinnere mich, dass ich vor drei oder vier Jahren eine logitech C270-Webcam für meine Eltern gekauft habe, um mit Verwandten über Skype auf einem Computer zu kommunizieren, und dass sie jetzt bereits über ein Tablet kommunizieren - ich habe die Kamera von ihnen angefordert. Übrigens befindet sich auf der Vorderseite der Kamera eine LED, die anzeigt, ob die Kamera funktioniert oder nicht - später erwies es sich als sehr praktisch, um den Betrieb des Videoüberwachungssystems visuell zu bestimmen.


Koppeln und konfigurieren Sie das Bügeleisen


Es gibt also Eisen. Und was kann sich nur freuen - solange wir im Budget sind.
Mein Router verfügt über zwei USB-Anschlüsse, von denen einer bereits von einem 4G-USB-Modem belegt war. Wir werden die zweite verwenden, indem wir die logitech C270-Kamera dort anbringen. Damit der Router mit der Kamera funktioniert, müssen Sie zuerst die OPKG-Komponente auf dem Router installieren (in dieser Komponente setzen Sie alle Häkchen außer „Kernelmodule zur Unterstützung von USB-DVB-Tunern“). Aber es gibt einen Haken: Damit OPKG im Router funktioniert, benötigen Sie Speicherplatz (ein Gigabyte reicht für die Augen), aber wo kann ich ihn bekommen, da beide USB-Anschlüsse am Router bereits belegt sind? Es gab zwei mögliche Lösungen - entweder einen USB-Hub mit einem USB-Flash-Laufwerk (das erste, was mir sofort einfällt) oder die Tatsache, dass Sie eine microSD-Karte in mein 4G-USB-Modem stecken können. Und die alte langsame microSD-Karte mit 8 Gigabyte, die zu Hause gefunden wurde, ging sofort an das Modem. Belassen Sie das Dateisystem auf einer NTFS-Karte (obwohl EXT2 oder EXT3 dringend empfohlen wird). Erstellen Sie den Installationsordner und laden Sie das gewünschte Entware-Image hoch.

Dann gehen wir zum Admin-Bereich des Routers, der Registerkarte OPKG, wählen unsere Speicherkarte aus, in der Zeile "initrc script" schreiben

/opt/etc/init.d/rc.unslung 

und klicken Sie auf Übernehmen .
Nach der Installation von OPKG klammert sich der SSH-Client (ich verwende das Putty-Programm auf meinem Laptop mit Windows) an den Router und führt die folgenden Befehle aus, um OPKG zu aktualisieren:

 opkg update opkg upgrade 

Bei SSH ist das Root- Passwort standardmäßig scharf (oder zyxel , abhängig von der Firmware-Version). Es wird dringend empfohlen, das Kennwort mit dem Befehl passwd zu ändern.

Software


Installieren Sie als Nächstes das Bewegungsprogramm.

 opkg install motion 

Sie wird mit unserer Kamera arbeiten, die Änderung im Bild analysieren und den Router anweisen, wohin das empfangene Bild gesendet werden soll. Die Einstellungsdatei für das Bewegungsprogramm lautet \ etc \ motion \ motion.conf. Wenn Sie sie bearbeiten, ändern Sie die erforderlichen Einstellungen. Zunächst stellte ich die von der Kamera unterstützte maximale Auflösung auf 1280 x 720 ein, drehte sie um 180 Grad (es war für mich bequemer, die Kamera auf den Kopf zu stellen) und zeichnete 2 Bilder pro Sekunde auf.

 rotate 180 width 1280 height 720 framerate 2 

Ich sah nicht die Notwendigkeit, den gesamten Videostream aufzuzeichnen und ins Internet zu senden, daher habe ich die Bewegung so eingestellt, dass Videos nur dann aufgezeichnet und übertragen werden, wenn sich das Bild ändert. Bei der Konfiguration der Bewegung wurde deutlich, dass der MJPEG-Modus mit meiner Kamera nicht unterstützt wird, sondern nur der YUYV-Modus. Daher ist das Ergebnis der Arbeit keine Videosequenz, sondern nur eine Folge von JPEG-Fotos.

 v4l2_palette 15 

Ich habe Motion auch so konfiguriert, dass eine Kopie der Fotos auf einen externen FTP-Server kopiert wird.

 on_picture_save wput ftp://login:pass@XX.29.136.XX %f 

Für den Fall, dass ein Router mit einer Speicherkarte aus der Wohnung genommen wird, besteht weiterhin die Möglichkeit zu sehen, wie genau dies geschehen ist.

Es wird dringend empfohlen, das Anmeldekennwort zu ändern, um eine Verbindung zu Ihrer Kamera herzustellen.

 stream_authentication login:pass 

Suchen Sie nach allen Einstellungen im Browser nach dem Ergebnis unter:

 IP:8081 


Achtung! Wenn Sie im Browser kein Bild gesehen haben, sollten Sie auf Ihre Keenetic-Firmware-Version achten. Vermutlich ab der Firmware-Version 2.11.A.4.0-1 werden Videomodule nicht standardmäßig geladen. Sie müssen sie daher in „SSH“ -Stifte laden oder zum Startskript hinzufügen:

 /opt/sbin/insmod /lib/modules/3.4.113/i2c-core.ko /opt/sbin/insmod /lib/modules/3.4.113/i2c-dev.ko /opt/sbin/insmod /lib/modules/3.4.113/videodev.ko /opt/sbin/insmod /lib/modules/3.4.113/videobuf2-core.ko /opt/sbin/insmod /lib/modules/3.4.113/videobuf2-memops.ko /opt/sbin/insmod /lib/modules/3.4.113/videobuf2-vmalloc.ko /opt/sbin/insmod /lib/modules/3.4.113/v4l2-common.ko /opt/sbin/insmod /lib/modules/3.4.113/uvcvideo.ko 

Wenn das Bild auch danach nicht angezeigt wurde, sehen wir uns zunächst die Keenetic-Protokolle an. Was passiert, wenn die Kamera angeschlossen ist? Wird die Kamera als Videogerät usw. erkannt?

Management


Nachdem wir all diese Arbeit erledigt hatten, kam die Idee auf, dass wir das irgendwie schaffen müssen, d.h. Ein- und Ausschalten zum richtigen Zeitpunkt (und meistens aus der Ferne). Ich habe das Problem gelöst, indem ich den SSH-Client auf meinem Android-Smartphone installiert habe. Nach der Auswahl von SSH entschieden sich Clients für ScriptKitty. Durch Drücken von zwei oder drei Tasten auf einem Smartphone können Sie Bewegungen schnell ein- oder ausschalten.


Laufende Bewegung durch SSH:

 /opt/etc/init.d/K99motion restart 

Bewegung durch SSH abschließen:

 /opt/etc/init.d/K99motion stop 

Aber es gab noch einen Haken: eine "graue" IP-Adresse auf meinem 4G-Modem. Wenn Sie über WLAN eine Verbindung zum Router herstellen, können Sie die Bewegung problemlos aus- oder einschalten. Aber was ist, wenn Sie sich außerhalb des WLANs Ihres Routers befinden und Ihr Router eine "graue" IP hat? Ich fand die Rettung in Form eines VPN. Das Schema ist wie folgt: Mit meinem Heimrouter klammere ich mich bei der Arbeit mit einer statischen IP über einen PPTP-Client an den Router (ein PPTP-Server wird bei der Arbeit auf dem Router installiert). Nachdem ich den SSH-Port vom Arbeitsrouter an den Heimrouter weitergeleitet habe, kann ich meine Kamera endlich fernsteuern, indem ich von meinem Smartphone aus auf die statische Adresse des Routers bei der Arbeit zugreife.

Ich habe auch versucht, die Steuerung mithilfe des Tasker-Automatisierungstools zu automatisieren (es verfügt über einen eigenen SSH-Client), um die Verbindung des Smartphones zum WLAN-Router zu überwachen und die Bewegung abhängig davon ein- oder auszuschalten. Die Logik hier ist folgende: Das Smartphone ist mit dem WLAN-Router verbunden - ich bin also zu Hause -, um die Kamera auszuschalten. Das Smartphone ist nicht mit dem WLAN-Router verbunden - ich bin also nicht zu Hause - schalten Sie die Kamera ein. Aber nach dem Experimentieren lehnte er diese Option ab - es gibt zu viele Fehlalarme. Ich bin zum Beispiel zu Hause, das Smartphone ist eingeschlafen, der Router hat das Smartphone verloren, die Kamera ist eingeschaltet - na ja usw. Derzeit verwende ich nur die manuelle Methode.

Fazit


Im Prinzip wollte ich von dem Projekt, was ich bekam. Ich kann die Wohnung „sehen“, wann immer ich möchte, und im Falle eines GSM-Alarms kann ich bereits entscheiden, was als nächstes zu tun ist. Während des Umsetzungsprozesses habe ich eine Reihe von Problemen gelöst, aber ihre Lösung hat durch das erworbene Wissen und die Umsetzung des Plans einen gewissen Nervenkitzel ausgelöst.

Source: https://habr.com/ru/post/de420005/


All Articles