Anschluss der Status-LED´sDazu muss man eigentlich gar nicht viel sagen. Was du brauchst sind 2x LED´s und 2x 270 Ohm Widerstände. Anschließen tust du Sie wie auf dem Bild zu sehen. Die rote LED zeigt dabei an ob dein Pi an den Strom angeschlossen ist. Die grüne LED zeigt dir an, ob der Pi momentan läuft.
Power On/Off ButtonHier wird es schon ein wenig kniffliger. Das Problem ist hierbei, dass die GPIO´s bei Openelec nicht freigeschalten sind. Diese müssen wir also zuerst Schritt aktivieren. Hierbei ist zu unterscheiden, ob du Openelec 5 oder Openelec 6 installiert hast. Die folgende Anleitung basiert auf Openelec 6. Für Openelec 5 siehe Ende des Artikels.
1. Ggf. Update auf das neuste Openelec durchführen. Siehe hierfür Akis Anleitung:
http://powerpi.de/so-einfach-fuehrst-du ... lec-durch/2. GPIO´s aktivieren
Verbinde dich über SSH als
root mit deinem Raspberry Pi.
Downloade die folgende Library:
Code: Alles auswählen
wget http://www.barryhubbard.com/wp-content/uploads/2016/01/RPi.GPIO_flub_quad_core.tar.gz
Nun entpackst du die eben geladene Datei mit:
Durch diesen Code wird ein /storage/lib Ordner erstellt der alle notwendigen Python Skripte erstellt
3. Shutdown Button Script
Als erstes erstellen wir hierfür ein Verzeichnis im /storage Ordner:
Erstellen des Python-Skripts:
Dort fügen wir folgenden Code ein:
Code: Alles auswählen
#!/usr/bin/python
import os
import sys
sys.path.append('/storage/lib')
import RPi.GPIO as GPIO
import time
import subprocess
# we will use the pin numbering to match the pins on the Pi, instead of the
# GPIO pin outs (makes it easier to keep track of things)
GPIO.setmode(GPIO.BOARD)
# use the same pin that is used for the reset button (one button to rule them a$
GPIO.setup(5, GPIO.IN, pull_up_down = GPIO.PUD_UP)
oldButtonState1 = True
while True:
#grab the current button state
buttonState1 = GPIO.input(5)
# check to see if button has been pushed
if buttonState1 != oldButtonState1 and buttonState1 == False:
#Schalte Hyperion aus
os.system ("killall hyperiond")
#Fahre den Pi runter
subprocess.call("shutdown -h now", shell=True,
stdout=subprocess.PIPE, stderr=subprocess.PIPE)
oldButtonState1 = buttonState1
time.sleep(.1)
mit folgendem Code kann unser Skript getestet werden:
wenn soweit alles funktioniert setzen wir unser Skript in den Autostart:
Editieren der autostart.sh:
Normalerweise ist das autostart.sh Skript leer. Hier fügst du einfach diesen Code ein. (Sollte doch etwas ein diesem Skript stehen, dann fügst du ganz am ende einfach den Code an)
4. LED-Stripe abschalten bevor das System herunterfährt:
Diese Funktion habe ich schon in das obige Skript eingebaut. Möchtest du, aus welchen Gründen auch immer, dass die Stripes eingeschaltet bleiben, dann setze in dem shutdown.py Skript vor die Zeile
und
jeweils eine Raute #
5. Schalter anschließen:
siehe hierfür einfach nur das Bild.
6. Raspberry neu starten und Daumen drücken
Zusatz:#1 Wenn ein Openelec System vor Openelec 6.0 verwendet wird, kann (wohl) folgende Anleitung verwendet werden:
http://www.barryhubbard.com/raspberry-p ... sing-gpio/Es ist aber dazu zu sagen, dass ich es zu Beginn nach dieser Anleitung versucht aber einfach nicht geschafft habe.
#2 die blauen LED`s (davon gibt es 3x, nur eine leuchtet) auf dem Bild von meinem Gehäuse sind nicht direkt an den Pi angeschlossen. Sie gehören zu meinem HDMI Switch mit dem ich zwischen den externen Geräten wechseln kann.
Möchtest du aber einfach nur eine Gehäusebeleuchtung, dann schleiße diese Beleuchtungs-Leds einfach genauso an wie die "rote Strom LED".
Quellen:
http://www.barryhubbard.com/raspberry-p ... sing-gpio/
http://www.barryhubbard.com/raspberry-p ... out-addon/