{{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