MotionDetection – Bewegungserkennung mit dem Raspberry Pi

Schaltung des Raspberry Pi mit dem HC-SR501

Im Rahmen des MagicMirror Projekts habe ich den Bewegungssensor HC-SR501 an meinem Raspberry Pi angeschlossen, um damit den Bildschirm aus und wieder einzuschalten, wenn jemand vor dem MagicMirror steht. Dadurch wird nicht unnötig viel Strom verbraucht. Damit ihr auch was davon habt, habe ich das Python-Projekt auf GitHub hochgeladen: https://github.com/deckersoftware/MotionDetector.

Um die MotionDetection auf eurem Raspberry Pi zu installieren, müsst ihr den Bewegungssensor zunächst wie auf dem Schaltplan anschließen und euch anschließend euch mit dem Raspberry Pi verbinden. Mit den folgenden Befehlen holt ihr euch das Repository auf euren Raspberry Pi, wechselt in das Verzeichnis und startet letztlich die Bewegungserkennung mit python3.

git clone https://github.com/deckersoftware/MotionDetector.git
cd MotionDetector
python3 main.py

Mit Strg + C könnt ihr die Ausführung beenden. Möchtet ihr die Bewegungserkennung mit Systemstart aktivieren, könnt ihr diese durch folgende Befehle erreichen. Diese erstellen zunächst einen symbolischen Link aus dem Repository in das /etc/systemd/system/-Verzeichnis, aktivieren dann den motion_detector.service und starten diesen im Anschluss.

sudo ln -s `pwd`/motion_detector.service /etc/systemd/system/motion_detector.service
sudo systemctl enable motion_detector.service
sudo systemctl start motion_detector.service

Zur Konfiguration wird beim erstmaligen Start eine config.json-Datei angelegt, die ihr individuell an eure Bedürfnisse anpassen könnt. Die genaue Beschreibung findet ihr im Repository. Es lassen sich so die Aktionen frei konfigurieren, die ausgeführt werden sollen, wenn eine Bewegung erkannt wurde oder wenn keine Bewegung mehr erkannt wird. Es können auch Zeiten definiert werden, in denen die Bewegungserkennung aktiviert ist, damit beispielsweise nachts nichts passiert, wenn eine Bewegung erkannt wurde und ein paar Dinge mehr.

Ich hoffe ihr habt Spaß mit der Bewegungserkennung. Wenn ihr Fragen oder Anregungen habt, dann könnt ihr mich gerne kontaktieren. Sollten euch Verbesserungen oder Fehler auffallen, dann könnt ihr auch gerne auf GitHub ein Issue erstellen.


Geschrieben von Christian Decker am 31.08.2018