[gelöst] IP-Cam: Motion-Alarm als Trigger für SMS

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
TomL

[gelöst] IP-Cam: Motion-Alarm als Trigger für SMS

Beitrag von TomL » 05.08.2017 14:30:26

Moin

Ich habe vor, als Ersatz für eine alte Web-Cam eine neue handelsübliche günstige IP-Cam einsetzen, die die spannende Aufgabe übernehmen soll, von innen auf die geschlossenen Rolladen von Tür und Fenster zu schauen. Mir gehts dabei um den Zustand, dass auf einmal diese Rolladen nicht mehr geschlossen sind, obwohl wir allesamt außer Haus sind. Das ist dann der Moment, wo ich gerne informiert werden möchte. Die ausgewählte Cam beherrscht schon Push-Mails und -SMS. Allerdings braucht es dafür einen Server-Service des Herstellers und da widerstrebt es mir total, einer proprietären Webserver-Software einer Wohnraum-Webcam vollen Zugang zum Internet und zu dieser Firma zu gewähren. Die Cam kann aber auch einen FTP-Upload - und der geht ja dann via definierten Port auf meinen Web-Space. Und da hatte ich jetzt die Idee anzusetzen, weiß aber nicht, ob das so überhaupt möglich ist. Folgende Idee:
  • Jede Web-Cam muss ja über das Gateway (idealerweise der Router) informiert werden.
  • Ich würde aber den Traffic umleiten und als Gateway einen derzeit ungenutzten Banana PI einsetzen
  • Auf dem BPi werkelt Iptables und wenn es ein passendes Paket bekommt, wird ein Script gestartet , welches die SMS via Gammu sendet.
  • Danach sendet der BPi das Paket weiter über den Router an den FTP-Server
In der Theorie klingt das einfach.... aber geht das auch in der Praxis?

Diese Idee hatte ich:
iptables (-j LOG --log-prefix "FTP-PAKET ")

Das Firewall-Log wird mit "tail" monitored und im Bedarf die SMS gesendet:
tail -f /var/log/firewall.log | awk '/FTP-PAKET/ {system("/usr/local/bin/sendsms.sh")}'

Mein Problem ist nun, das eingehende FTP-Paket auf dem Pi zu identifizieren, den Log-Eintrag zu erstellen und es dann einfach an den Router weiterzuleiten.

Wie müsste ich das anfangen? Ich freu mich über etwas Hilfe.
Zuletzt geändert von TomL am 11.08.2017 15:03:47, insgesamt 1-mal geändert.

Benutzeravatar
Lord_Carlos
Beiträge: 5578
Registriert: 30.04.2006 17:58:52
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Dänemark

Re: IP-Cam: Motion-Alarm als Trigger für SMS

Beitrag von Lord_Carlos » 05.08.2017 15:16:10

TomL hat geschrieben: ↑ zum Beitrag ↑
05.08.2017 14:30:26
Die Cam kann aber auch einen FTP-Upload - und der geht ja dann via definierten Port auf meinen Web-Space.
Du meinst, die Webcam sendet nur ein FTP Bild/Video wenn sich was bewegt?
Ich verstehe nicht warum mit iptables gearbeitet werden muss, waere es nicht einfacher den FTP ordner zu ueberwachen und bei einer neuen Datei eine sms zu senden?

Wenn du mehrere webcams hast, koennte sich auch sowas hier lohnen: https://zoneminder.com/

Code: Alles auswählen

╔═╗┬ ┬┌─┐┌┬┐┌─┐┌┬┐╔╦╗
╚═╗└┬┘└─┐ │ ├┤ │││ ║║
╚═╝ ┴ └─┘ ┴ └─┘┴ ┴═╩╝ rockt das Forum!

TomL

Re: IP-Cam: Motion-Alarm als Trigger für SMS

Beitrag von TomL » 05.08.2017 20:33:41

Ja klar, das geht natürlich auch. Nur finde ich diese Lösung aufwendig. Ich stell mir dabei vor, dass ich im Minutentakt das Inhaltsverzeichnis des FTP-Servers lesen muss und dann vergleich ich, ob sich was geändert hat. Via IPTables hätte es doch den Vorteil, dass es wie ein Eventhandler funktioniert, wenn die Cam nix speichern will, passiert auch nix, es sind keine Aktionen notwendig. "Tail -f" wartet ja ganz geduldig ewig und beansprucht Null CPU-Zeit und verursacht Null Traffic in dieser Wartezeit.

Wie würdest Du denn den FTP-Server überwachen? Wie macht man das am besten?

Benutzeravatar
Lord_Carlos
Beiträge: 5578
Registriert: 30.04.2006 17:58:52
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Dänemark

Re: IP-Cam: Motion-Alarm als Trigger für SMS

Beitrag von Lord_Carlos » 05.08.2017 20:57:21

Nach kurzen suchen gefaellt mir Debianinotify-tools

Dann kann man mit inotifywait -r -m -e create /mein/ftp/verzeichnis rumspielen.
Immer wenn eine neue Datei erstellt wird, gibt es eine neue Linie.

Gefunden habe ich auch dieses kleine script:

Code: Alles auswählen

#!/bin/sh
while inotifywait -e modify /var/log/messages; do
  if tail -n1 /var/log/messages | grep apache; then
    kdialog --msgbox "Blah blah Apache"
  fi
done
modify mit create ersetzen und dann anstatt if deine SMS script starten.

Vor 5 minuten kannte ich inotify noch nicht. Am besten mal selber damit experimentieren.
Fuer mich waere das weit aus einfacher als alles mit iptables. Vor allem weil iptables auch schon wieder veraltet ist.

Code: Alles auswählen

╔═╗┬ ┬┌─┐┌┬┐┌─┐┌┬┐╔╦╗
╚═╗└┬┘└─┐ │ ├┤ │││ ║║
╚═╝ ┴ └─┘ ┴ └─┘┴ ┴═╩╝ rockt das Forum!

TomL

Re: IP-Cam: Motion-Alarm als Trigger für SMS

Beitrag von TomL » 06.08.2017 10:56:33

Ich muss gestehen, ich bin ziemlich verunsichert, welche nun tatsächlich die bessere Lösung ist. Der erste Eindruck ist, dass die Überwachung des FTP-Ordners enorm aufwendig ist:
Fuse einrichten, curlftpfs installieren und einrichten, die Inotify-Tool installieren und einrichten, Mechanismen entwickeln und installieren, die auf die 24-h-Zwangstrennung reagieren und ggf. einen FTP-ReLogin durchführen und bei Abrissen neu mounten. Darüber hinaus habe ich dann eine 24/7 offene Verbindung mit vermutlich permanent Traffic, weil FTP-Seitig ja keine Push-Messages möglich sind.

Wenn ich das via IpTables mache, brauche ich m.M.n. lediglich 3 Zeilen im Paketfilter in der Forward-Chain und einen schlafenden Tail. Kein 24h-Traffic, keine CPU-Last, keine ReLogin-Mechanismen. Aktionen passieren nur, wenn was passiert. Ist meine Einschätzung denn hier so falsch?

Benutzeravatar
Lord_Carlos
Beiträge: 5578
Registriert: 30.04.2006 17:58:52
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Dänemark

Re: IP-Cam: Motion-Alarm als Trigger für SMS

Beitrag von Lord_Carlos » 06.08.2017 11:18:20

Warum kann das SMS script nicht auf dem FTP server laufen?
Warum kann der FTP server nicht lokal sein?

Code: Alles auswählen

╔═╗┬ ┬┌─┐┌┬┐┌─┐┌┬┐╔╦╗
╚═╗└┬┘└─┐ │ ├┤ │││ ║║
╚═╝ ┴ └─┘ ┴ └─┘┴ ┴═╩╝ rockt das Forum!

TomL

Re: IP-Cam: Motion-Alarm als Trigger für SMS

Beitrag von TomL » 06.08.2017 12:20:52

Ohhh... das war das fehlende Puzzle-Teil.... ich hatte immer den FTP bei meinem WebSpace-Hoster im Kopf.... :facepalm:

TomL

Re: IP-Cam: Motion-Alarm als Trigger für SMS

Beitrag von TomL » 08.08.2017 11:12:04

Lord_Carlos hat geschrieben: ↑ zum Beitrag ↑
06.08.2017 11:18:20
Warum kann der FTP server nicht lokal sein?
Vor zwei Monaten hatte ich mir einen Banana PI M3 bestellt. Und nach einigen Tests habe ich den als "eigentlich untauglich" klassifiziert und ihn in die Keller-Kiste gepackt. Er ist nur ein schlechter Raspberry-PI-Abklatsch, mit veraltetem Kernel - wenn man keinen weiteren Aufwand betreiben und nur das Image installieren möchte.

Jetzt habe ich ihn wieder ausgekramt, Image noch mal installiert, dann FTP- und Sambaserver installiert und - was soll ich sagen- für solch anspruchslose Aufgaben ist er richtig klasse. Und zwar wegen des Umstands, dass er einen 2GB RAM hat. Ich habe jetzt 1 GB als tmpfs gemountet und das reicht für 32.000 Aufnahmen meiner alten CAM. Von gestern Nachmittag bis gerade sind knapp 900 Aufnahmen entstanden, die nur 21 MB beanspruchen. Ich habe mir jetzt folgende Lösung überlegt:

Ich bastel mir einen Bash-Job, der im 4-Stunden-Rhytmus 6 mal am Tag alle Aufnahmen in ein Archiv packt, die alter als 8 Stunden sind, sie also packt, das Archiv speichert und diese Aufnahmen löscht. Die Archive werden von 1-6 durchnummeriert, 04:00 Uhr speichert also 1, 8:00 Uhr speichert 2, 12:00 speichert 3, usw. Das heisst, nach 24 Stunden wird jeweils das ältere Archive mit gleichem Namen einfach überschrieben.

Eine Sonderbehandlung passiert bei einem Alarm, da werden einfach 1 Stunde lang im 5-Minuten-Rhytmus die Aufnahmen der letzten Stunde gepackt und hochgeladen.

Damit hätte ich immer 24 Stunden rückwirkend verfügbar. Im Moment bin ich nur unsicher, ob das konzeptionell ein guter Ansatz ist. Damit hätte ich die Aufnahmen erst mal auf eigenem lokalen FTP-Server. Wie ich jetzt den Alarm feststelle... inotify oder via iptables->Port 21 ...?... weiss ich noch nicht. Wie ist Deine Meinung?

Benutzeravatar
Lord_Carlos
Beiträge: 5578
Registriert: 30.04.2006 17:58:52
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Dänemark

Re: IP-Cam: Motion-Alarm als Trigger für SMS

Beitrag von Lord_Carlos » 08.08.2017 20:05:22

Ich dachte die Kamera sendet nur was wenn sie Bewegung entdeckt, wenn sie 24/7 Bilder sendet, wie willst du dann ein Alarm feststellen?

Code: Alles auswählen

╔═╗┬ ┬┌─┐┌┬┐┌─┐┌┬┐╔╦╗
╚═╗└┬┘└─┐ │ ├┤ │││ ║║
╚═╝ ┴ └─┘ ┴ └─┘┴ ┴═╩╝ rockt das Forum!

TomL

Re: IP-Cam: Motion-Alarm als Trigger für SMS

Beitrag von TomL » 08.08.2017 20:53:55

Ja, so ist es geplant. Aber weil ich nicht weiss, was sich durch Bewegungsalarm ansammelt, wollte ich eine Worst-Case-Logik aufbauen, damit eben im Fall der Fälle auch viele Daten gehandhabt werden können. Darüber hinaus will ich natürlich den "Betrieb" schon ca. 1 Woche vorher aufnehmen, ganz einfach, um zu beobachten, ob alles planmäßig läuft. Und in der Woche würde natürlich ne Menge an Datenmaterial anfallen. Ich denke, wenn das System diesen Fall handhaben kann, kommt es mit weitaus weniger -also nur im Alarmfall- bestens klar.

Benutzeravatar
Lord_Carlos
Beiträge: 5578
Registriert: 30.04.2006 17:58:52
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Dänemark

Re: IP-Cam: Motion-Alarm als Trigger für SMS

Beitrag von Lord_Carlos » 08.08.2017 20:56:09

Da ich mich kaum mit iptable auskenne und auch nicht motiviert bin, wuerde ich es via inotify machen.

Code: Alles auswählen

╔═╗┬ ┬┌─┐┌┬┐┌─┐┌┬┐╔╦╗
╚═╗└┬┘└─┐ │ ├┤ │││ ║║
╚═╝ ┴ └─┘ ┴ └─┘┴ ┴═╩╝ rockt das Forum!

TomL

Re: IP-Cam: Motion-Alarm als Trigger für SMS

Beitrag von TomL » 08.08.2017 21:08:37

Lord_Carlos hat geschrieben: ↑ zum Beitrag ↑
08.08.2017 20:56:09
Da ich mich kaum mit iptable auskenne und auch nicht motiviert bin, wuerde ich es via inotify machen.
Iptables wären einfach, ich würde einfach auf ein TCP-Paket auf Port 21 reagieren - ein Port, wo sonst nix passieren kann. Aber ich habe die Idee schon wieder verworfen. Mit inotify bin ich noch unstimmig. Ich glaube, beide Varianten sind nicht optimal, weil beide direkt im Moment des Events reagieren.

Im Moment überlege ich, ob nicht Verzögerung von 5 Minuten besser wäre. In dem Fall liegen im echten Alarmfall auch viele Aufnahmen vor. Ich hatte mir überlegt, ob es nicht ausreichend ist, einfach im 5-minuten-Takt mit "find" nach Dateien suchen zu lassen, die jünger als 5-Minuten sind. Und wenn deren Bilder-Zeit mehr als 10 Sekunden umfasst, dann wird eine Nachricht per SMS gesendet.. Ich will doch keine SMS, weil durch einen Blitz beim Gewitter kurz das Zimmer ausgeleuchtet wird, oder weil ein Autoscheinwerfer beim Wenden irgendwie das Haus streift, oder wenn vom Nachbargrundstück beim Schließen eines Fensters die Sonne nach uns reflektiert wird.

Technisch ist das alles gar nicht so schwierig..... ich tue mich eher mit dem Konzept so schwer..... da fehlen mir einfach andere Gedanken, Ideen... so wie mit dem FTP-Server.... die war echt klasse.

BenutzerGa4gooPh

Re: IP-Cam: Motion-Alarm als Trigger für SMS

Beitrag von BenutzerGa4gooPh » 09.08.2017 10:12:37

TomL hat geschrieben: ↑ zum Beitrag ↑
08.08.2017 21:08:37
... da fehlen mir einfach andere Gedanken, Ideen...
Warum verzichstest du nicht auf eine "aufwändige Bildauswertung" und benutzt einen oder mehrere Bewegungsmelder (mit potentialfreien Relaisausgängen) und GPIO-Pins des Banana? Fehlalarme könnte man einschränken, in dem erst nach der 2. oder 3. Erkennung innerhalb kurzer Zeit alarmiert wird. Bildaufnahmen des Verbrechers während Bewegungserkennung -> SMS (und Attachment für E-Mail?) -> Remotezugriff auf aktuelles oder gespeichertes Video. Könntest so bei korrekter Alarmierung Polizei aus der Ferne benachrichtigen. Nicht dass du aus dem Urlaub heimkehrst, nur weil die Nachbarin Blumen gießt und du von dieser Aufgabendelegierung durch andere nix wusstest. Oder die hilfsbereite Nachbarin verhaftet wird. :roll:

Damit müsste auch die Kamera nicht zwangsläufig auf Fenster gerichtet sein, könnte für Gesichtserkennung besser oder zentral (Flur?) positioniert sein. Nur eine (versteckte) Kamera/Anlage wäre bei zentraler Positionierung erforderlich. Nach deiner Methode müsstest du ja jede Fensterfront pro Raum beobachten lassen. Und die Haustür. Bist gebunden an Standort auf gegenüberliegende Seite: Kamera-Versteck dort immer möglich?

Evtl. IR-Beleuchtung/IR-Kamera für stillen Alarm. Zur Abschreckung ist aber wohl Lichteinschalten besser. Und eine Bildspeicherung nur im RAM würde ich überdenken. Wenigstens mit Akkubetrieb.

TomL

Re: IP-Cam: Motion-Alarm als Trigger für SMS

Beitrag von TomL » 09.08.2017 15:03:54

Jana66 hat geschrieben: ↑ zum Beitrag ↑
09.08.2017 10:12:37
Warum verzichstest du nicht auf eine "aufwändige Bildauswertung" und benutzt einen oder mehrere Bewegungsmelder (mit potentialfreien Relaisausgängen) und GPIO-Pins des Banana?
Dir ist aber schon klar, dass das die mit Abstand teuerste und aufwendigste Methode überhaupt ist.... oder? Das bedeutet, zu den Bewegungsmeldern kommt jeweils noch das GPIO-taubliche Modul zu Relaissteuerung hinzu. Und natürlich - nicht zu vergessen- 230V Stromversorgung und die Signalleitung (k.A. ob 4*,075 mm² reicht), damit überhaupt ein Signal gesendet werden kann.

Dann kommt hinzu, dass der Bewegungsmelder die Nachbarin nicht erkennt, sondern tumb das Alarmsignal gibt. Das bedeutet, zur Kontrolle müsste ich also die CAM auch noch parallel in Betrieb nehmen, damit ich sehe, dass es nur die Nachbarin ist. Wie würde es Dir eigentlich gefallen, auf dem Wohnzimmerschrank eine PTZ-Cam und einen Bewegungsmelder stehen zu haben, mit dem ganzen Kabeldgedöns und natürlich eine Überlastungsschutz-5-fach-Steckdosenleiste? *lol*... für uns kann ich das beantworten... die Chefin wird mich verkloppen. *fg* Darüber hinaus löst unser Nicht-Billig-Bewegungsmelder draussen im Garten aus, wenn bei Restlicht noch die Dohlen im Garten picken, die Fledermäuse bei Dunkelheit dran vorbeifliegen, der elende Karnickel nachts unseren Garten als Klo missbraucht, der Wind den zusammengeklappten großen 4-m-Schirm lose flattern lässt, weil wir wieder vergessen haben, das Klettband drum zu binden. Und bei jedem Mal krieg ich dann eine SMS und schick die Bullen los.... :lol: ... ich glaub die werden sich freuen....

Dem hingegen kann jede Billig-Cam für 39 €uro sich via WLAN verbinden und die Bilder an einen FTP-Server senden. Das ist fast eine Standard-Funktion. Darüber beherrschen viele Biiligcams den Motion-Detect. Dabei vergleichen sie einfach 2 oder mehr Bilder nach einstellbarer Sensitivität. Und wenn sich die Bilder unterscheiden, lösen sie eine einstellbare Alarmaktion aus, wie Bilder senden, EMail, SMS, GPIO-Signal , je nach Modell. Der billige Chinaschrott von Wansview kann das alles, sogar schon meine 3 Jahre alte PTZ-Cam für 39 € beherrscht das schon... allerdings noch (nur) in VGA-Auflösung... aber dennoch ausreichend, um Schäden zu sehen, oder besser, um zu erkennen, dass Tür, Fenster und Rolladen noch intakt sind. Und die Nachbarin kann ich auch erkennen.

Die Cams sind meiner Meinung nicht nur eine billige Lösung, die tadellos funktioniert, sondern die billigste Lösung, die auch noch richtig gut funktioniert... und die weder draußen im Garten, noch im Haus verteilt irgend einer weiteren Infrastruktur bedarf. Die Bildauswertung muss ich gar nicht selber machen, das kann die Cam von sich aus. Ich muss allenfalls durch Überwachung meines Bananen-FTP-Servers nur drauf achten, wiie lange Bewegung passiert ist, wenn überhaupt... aber das geht einfach über Bilderzählen.... was "find | wc" sowieso kann.

Im Moment habe ich den Standard-Betrieb fertig konfiguriert. Alle 6 Stunden werden die letzten 4 Stunden vom lokalen FTP-Server als Tar-File auf meinen Web-Space-FTP-Server übertragen, und dann wird alles lokal gelöscht, was in dem Moment älter als 24 Stunden ist. Das macht ein 10-Zeilen-Bash-Script. Die hochzuladenden Tarf-Files kriegen die Stunde ihrer Startzeit im Namen , z.B. 00 Uhr, 04, 08, 12,16,20. Und weil das via Crontab passiert, sind die rollierend immer gleich und damit überschreiben sie sich automatisch vom Vortag. Und vor dem Hochladen schick ich sie einmal durch OpenSSL, somit wird eine einfach verschlüsselte Datei erstellt und hochgeladen.

Jetzt bastel ich nur noch an der Reaktion auf die Alarm-Auslösung....

BenutzerGa4gooPh

Re: IP-Cam: Motion-Alarm als Trigger für SMS

Beitrag von BenutzerGa4gooPh » 09.08.2017 16:32:17

TomL hat geschrieben: ↑ zum Beitrag ↑
09.08.2017 15:03:54
Das bedeutet, zu den Bewegungsmeldern kommt jeweils noch das GPIO-taubliche Modul zu Relaissteuerung hinzu.
Relaisausgang (potentialfrei) des Bewegungsmelders mit GPIO-tauglicher Spannung nutzen (Betriebsspannung des Banana oder davon abgeleitet). Okay, Signalkabel zum Bewegungsmelder erforderlich. Bei entsprechender Positionierung kann Banana und Melder eine Einheit mit einem Netzkabel sein. Mit entsprechendem Gehäuse sollte eine Aufstellung akzeptabel sein. Hatte eigentlich mehr an temporäre Nutzung im Urlaub gedacht.
TomL hat geschrieben: ↑ zum Beitrag ↑
09.08.2017 15:03:54
Das bedeutet, zur Kontrolle müsste ich also die CAM auch noch parallel in Betrieb nehmen, damit ich sehe, dass es nur die Nachbarin ist.
Der Banana mit seiner Cam on board sollte doch ständig laufen und zyklisch speichern (240 min?) oder eben ab Erkennung einer Bewegung für etwa 60 min, wiederum zyklisch speichern. Auf den aktuellen Speicher oder/und aktuelle Kamerabilder bei vom Bewegungsmelder getriggerten Alarm (SMS) remote zugreifen und entscheiden, ob/wer verhaftet wird. Methode "Wildkamera" - aber mit zyklisch gespeicherten Videos, Alarm-SMS und remote-Zugriff.
TomL hat geschrieben: ↑ zum Beitrag ↑
09.08.2017 15:03:54
die Chefin wird mich verkloppen.
Kündigungsgrund oder Scheidung mit Schmerzensgeld-Klage!
TomL hat geschrieben: ↑ zum Beitrag ↑
09.08.2017 15:03:54
wenn bei Restlicht noch die Dohlen im Garten picken, die Fledermäuse bei Dunkelheit dran vorbeifliegen, der elende Karnickel nachts unseren Garten als Klo missbraucht, der Wind den zusammengeklappten großen 4-m-Schirm lose flattern lässt, weil wir wieder vergessen haben, das Klettband drum zu binden.
Umzug in sterile Großstadt? Garten asphaltieren? Somit verschwindet die prügelnde Chefin von selbst und du kannst aufstellen, was und wo du willst. Musst nicht mal mehr Rasen mähen, Frau zuhören, reden. Alles gewonnene Zeit zum Basteln :mrgreen:

Benutzeravatar
CH777
Beiträge: 1464
Registriert: 27.05.2008 16:37:17

Re: IP-Cam: Motion-Alarm als Trigger für SMS

Beitrag von CH777 » 10.08.2017 08:21:32

TomL hat geschrieben: ↑ zum Beitrag ↑
05.08.2017 14:30:26
Mir gehts dabei um den Zustand, dass auf einmal diese Rolladen nicht mehr geschlossen sind, obwohl wir allesamt außer Haus sind. Das ist dann der Moment, wo ich gerne informiert werden möchte.
Warum sollte ein Einbrecher die Rollläden aufmachen? 8O

Antworten