WZ Sheriff
Eine kleine Spielerei mit ernstem Hintergrund.
Ich habe es WZ (Wohnzimmer) Sheriff genannt, da es das Wohnzimmer und in gewissen Grade
auch mich überwachen soll.
Das Bild zeigt den rasnxc mit dem Aufbau
Szenario
- Status
Es gibt den Status anwesend und abwesend.
- anwesend
Wird im Laufe des Tages eine Bewegung entdeckt, wird der Sensor abgeschaltet, Datum und Zeit
der Bewegung in einer MySQL Tabelle festgehalten.
Wird bis zu einer festgelegten Zeit keine Bewegung entdeckt, wird eine E-Mail an den
Verteiler verschickt. Es wird in MySQL protokolliert.
- abwesend
Wird eine Bewegung entdeckt, wird eine E-Mail an den
Verteiler verschickt. Es wird in MySQL protokolliert.
Es werden 10 Bilder (eins / sec) zu einem Video gemacht und gespeichert.
Der Sensor wird neu gestartet.
- Zeiten
Der Sensor wird jeden Tag um 3:00 / 14:00 Uhr eingeschaltet.
Über die crontab wird alle 10 Minuten geprüft, ob der Start Trigger gesetzt ist.
Hardware
- rasnxc
Ist ein Raspberry 3B mit 64 GB.
Neben dem WZ Sheriff steuert er noch Steckdosen, misst die Temperatur, hat Nextcloud installiert.
- Infrarot Sensor
Soll auf Bewegungen im WZ reagieren.
Der Sender für die Steckdosen darf nicht zu nahe am Sensor sein, da ansonsten bei einem
Schalt-Signal der Sensor das als Bewegung interpretiert.
- Camera
Ist eine Infrarot Camera für Bilder.
Software
- Python Programm
Das unten angezeigte Python Programm überwacht den Sensor und ist modifiziert entsprechend dem Beispiel
für PIR aus ModMyPi.
Es wird der gesetzte Status gelesen, auf Zeiten geprüft und ein exit Status für
das steuernde Shell Script zurück gegeben.
- Shell Scripte
Das Shell Script wz.sh startet das Python Programm und wertet den exit status aus.
Falls der Status abwesend ist und eine Bewegung entdeckt wurde, werden mit der Camera
im Abstand von 1 Sekunde 10 Bilder gemacht und über ffmpeg ein Video erstellt.
Im Falle anwesend mit Zeitüberschreitung ohne Bewegung wird über sendmail eine Text Nachricht
verschickt.
Das 2. Shell Script pstart.sh prüft den Start Trigger und startet, falls gesetzt, das Shell
Script wz.sh (falls nicht schon aktiv).
Der Start wird in MySQL protokolliert.
- Mail
Das Video wird lokal gespeichert.
Eine einfache Text Nachricht wird mit sendmail verschickt.
- MySQL
In der MySQL Datenbank ulli auf dem rasowc eine Tabelle für den WZ Sheriff angelegt.
Eingetragen werden Datum, der Status (anwesend / abwesend) und ein kurzer Text über die Art des
Ereignisses.