{{Projekt |kontakt=drc |status=aktiv |beschreibung=S0 Infodisplay |bild=S0 Infodisplay.jpg |bildbeschreibung= Das Infodisplay im Flur des Spaces |interessenten= |source=https://gitli.stratum0.org/drc/python-infodisplay |lizenz= |download= |version= }} [[Datei:Bewegungsmelder am Infodisplay-Pi.jpg|thumb|Bewegungsmelder]] Im Flur hängt ein großer Fernseher, der ein paar Infos anzeigt, die im Vorbeigehen interessant sein könnten, wie z.B. das Wetter draußen, die nächsten Termine im Kalender und die aktuelle CO2-Konzentration. Der Pi infodisplay.s0 am Display selbst zeigt dazu eine Webseite im Kioskmodus an. Die Webseite selbst ist auf http://ingodisplay.s0:8888/ gehostet. Das Display wird von einem Bewegungsmelder aufgeweckt.
#!/usr/bin/env python3

import RPi.GPIO as GPIO
import time
from subprocess import call
GPIO.setmode(GPIO.BCM)

GPIO.setup(4, GPIO.IN)
#GPIO.setup(4, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
print("works so far")

pir = 4
previous_state = 0
current_state = 0

try:
    while True:
        time.sleep(0.1)
        current_state = GPIO.input(pir)
        if current_state == 1 and previous_state == 0:
            print("GPIO pin %s is %s, turning screen on" % (pir, current_state))
            call("echo on 0 | cec-client -s -d 1", shell=True)
            previous_state = 1
        elif current_state == 0 and previous_state == 1:
            print("GPIO pin %s is %s, turning screen off" % (pir, current_state))
            call("echo standby 0 | cec-client -s -d 1", shell=True)
            previous_state = 0
        time.sleep(0.01)

except KeyboardInterrupt:
    pass
finally:
    GPIO.cleanup()
== Ausrollen von Änderungen aus dem git == * Login auf ingodisplay.s0: ssh stratum0@ingodisplay.s0 * Auf Nutzer infodisplay wechseln: sudo -iu infodisplay * Ins Arbeitsverzeichnis wechseln: cd /opt/infodisplay/python-infodisplay * Aktualisierungen abrufen: git pull * Zurück zum Nutzer stratum0 wechseln: exit * Dienst neustarten: sudo systemctl restart infodisplay.service