Praxis

Raspberry Pi - Bewegungsmelder-Check

Raspberry Pi

Die Anleitung ergänzt die Artikelserie über die Raspberry-Pi-Kamera ab FOTO HITS 12/2016. Auf dieser Seite kann man den Code kopieren, der den Bewegungsmelder überprüft. Im nächsten Artikel "Bewegungsmelder-Code" ist das Programm für die komplette Anwendung zu finden, die Naturfotografen hilft oder die Wohnung überwacht.

Bild
GPIO-Leiste: Lila Kabel: Fünf Volt, Pin 4. Rotes Kabel: Ground, Pin 9. Grünes KabelGPIO-Port 23, Pin 16. Bewegungsmelder (von oben nach unten): Versorgungsspannung VCC mit fünf Volt. „Out“ an einen freien GPIO-Port, hier ist es Pin Nummer 16, der auf dem Raspberry Pi den GPIO 23 anspricht. Ganz unten ist die Erdung (Ground , kurz GND).

Das Skript dient erstens dazu, grundsätzlich festzustellen, ob der Bewegungsmelder funktioniert. Im nächsten Schritt nimmt man die Feinjus­tierung vor. Hierfür stehen am PIR zwei Schrauben bereit. Die linke (von vorne gesehen) legt die Verzögerung fest, die rechte die Empfindlichkeit. Dies erfordert Geduld, da der Bewegungsmelder anfangs unkontrolliert erscheint: Er löst dauern oder gar nicht aus. Anfangs kann die Schraube für Empfindlichkeit auf das Maximum gesetzt sein und die Verzögerungszeit auf das Minimum. Dann dreht man sie mit dem Schraubenzieher, um per Versuch und Irrtum die beste Einstellung zu finden.

Die Redaktion empfiehlt, das fertige Skript check.py herunterzuladen. Nach einem Rechtsklick auf den folgenden Link bietet das Kontextmenü je nach Browser etwa an: "Link speichern unter ...": Download Code

Wichtig ist:

  1. Niemals den Code in einem Textverarbeitungssystem bearbeiten. Dafür darf nur ein Text-Editor verwendet werden, wie ihn Rasperry unter "Zubehör - Editor" bereitstellt.
  2. Am einfachsten markiert man die Zeilen unten mit dem Mauszeiger und kopiert sie etwa mit dem Tastenbefehl Strg und c. Dann werden sie etwa mit Strg und v in den Texteditor eingefügt.
  3. Die Zeilen müssen so wie auf der Website gezeigt eingerückt werden. Das darf keinesfalls per Leerzeichen geschehen, sondern es muss die Tab-Taste links oben auf der Tastatur genutzt werden – „Python“ ist hier eigen. Wer das Skript unten kopiert, entfernt sicherheitshalber zuerst die Einrückungen, falls sie aus Leerzeichen bestehen. Dann drückt man etwa bei "os.system" ein Mal die Tab-Taste, bei "time.sleep" zwei Mal die Tab-Taste. 
  4. Das Ergebnis erhält etwa den Dateinamen check.py.

Nachfolgend steht der Code auch zum Kopieren bereit.

#!/usr/bin/env python
# Code übernommen von von klenzel.de
import RPi.GPIO as GPIO
import time
import os
GPIO.setmode(GPIO.BCM)
PIR_PIN = 23
GPIO.setup(PIR_PIN, GPIO.IN)
def MOTION(PIR_PIN):
os.system("echo "Bewegung erkannt"")
print "PIR Testskript (STRG+C zum beenden)"
time.sleep(2)
print "Bereit"
try:
GPIO.add_event_detect(PIR_PIN, GPIO.RISING, callback=MOTION)
while 1:
time.sleep(100)
except KeyboardInterrupt:
print "Beenden"
GPIO.cleanup()