Infodisplay: Unterschied zwischen den Versionen
Aus Stratum 0
Dadada (Diskussion | Beiträge) |
Drc (Diskussion | Beiträge) (Ausrollen von Änderungen dokumentiert) |
||
Zeile 53: | Zeile 53: | ||
GPIO.cleanup() | GPIO.cleanup() | ||
</pre> | </pre> | ||
+ | |||
+ | |||
+ | == Ausrollen von Änderungen aus dem git == | ||
+ | |||
+ | * Login auf ingodisplay.s0: <code>ssh stratum0@ingodisplay.s0</code> | ||
+ | * Auf Nutzer infodisplay wechseln: <code>sudo -iu infodisplay</code> | ||
+ | * Ins Arbeitsverzeichnis wechseln: <code>cd /opt/infodisplay/python-infodisplay</code> | ||
+ | * Aktualisierungen abrufen: <code>git pull</code> | ||
+ | * Zurück zum Nutzer stratum0 wechseln: <code>exit</code> | ||
+ | * Dienst neustarten: <code>sudo systemctl restart infodisplay.service</code> |
Aktuelle Version vom 17. Dezember 2024, 16:26 Uhr
Infodisplay | |
---|---|
Das Infodisplay im Flur des Spaces | |
Beschreibung: | S0 Infodisplay |
Kontakt: | drc |
Status: | aktiv (Was heißt das?) |
Quellcode: | https://gitli.stratum0.org/drc/python-infodisplay |
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