/* Space-Events */
[stratum0-wiki.git] / Infodisplay.mw
1 {{Projekt
2 |kontakt=drc
3 |status=aktiv
4 |beschreibung=S0 Infodisplay
5 |bild=S0 Infodisplay.jpg
6 |bildbeschreibung= Das Infodisplay im Flur des Spaces
7 |interessenten=
8 |source=https://gitli.stratum0.org/drc/python-infodisplay
9 |lizenz=
10 |download=
11 |version=
12 }}
13 [[Datei:Bewegungsmelder am Infodisplay-Pi.jpg|thumb|Bewegungsmelder]]
14
15 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.
16
17 Der Pi infodisplay.s0 am Display selbst zeigt dazu eine Webseite im Kioskmodus an. Die Webseite selbst ist auf http://ingodisplay.s0:8888/ gehostet.
18
19 Das Display wird von einem Bewegungsmelder aufgeweckt.
20
21 <pre>#!/usr/bin/env python3
22
23 import RPi.GPIO as GPIO
24 import time
25 from subprocess import call
26 GPIO.setmode(GPIO.BCM)
27
28 GPIO.setup(4, GPIO.IN)
29 #GPIO.setup(4, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
30 print("works so far")
31
32 pir = 4
33 previous_state = 0
34 current_state = 0
35
36 try:
37 while True:
38 time.sleep(0.1)
39 current_state = GPIO.input(pir)
40 if current_state == 1 and previous_state == 0:
41 print("GPIO pin %s is %s, turning screen on" % (pir, current_state))
42 call("echo on 0 | cec-client -s -d 1", shell=True)
43 previous_state = 1
44 elif current_state == 0 and previous_state == 1:
45 print("GPIO pin %s is %s, turning screen off" % (pir, current_state))
46 call("echo standby 0 | cec-client -s -d 1", shell=True)
47 previous_state = 0
48 time.sleep(0.01)
49
50 except KeyboardInterrupt:
51 pass
52 finally:
53 GPIO.cleanup()
54 </pre>
This page took 0.045447 seconds and 5 git commands to generate.