Es wurde schon mehrfach beschrieben den Rasperry mittels Schalter runterzufahren. Dafür wurde GPIO Pin 5 als Eingang programmiert und in einer Schleife abgefragt, ob hier der Schaltkontakt geschlossen ist.
Leider benutzt der Hifi Berry genau die beiden GPIOs Pin 3 und Pin 5, so das Ich dann keinen Ton habe.
Ich benutze jetzt GPIO Pin 13 und es funktioniert hervorragend - Ton ist da, runterfahren geht auch. Ich wollte das mal loswerden, weil Ich hier gelesen hatte, das Andere hier auch schon Probleme hatten.
Nebenbei ist mir aufgefallen, das bei einem script, das in die rc.local eingetragen wird, der Name in Anführungszeichen gesetzt werden muß ! Seitdem Ich das gemacht habe, funktioniert das script imme, vorher zufallsbedingt !!
Hier habe Ich alles noch mal einkopiert
[font="Arial"]Raspberry rauf und runterfahren mittels Schalter[/font]
[font="Arial"]Zu allererst m[/font]ü[font="Arial"]ssen wie immer die Paketquellen aktualisiert werden:
[/font]
[font="Arial"]sudo apt-get update[/font]
[font="Arial"]Danach kann dann alles installiert werden, was man zum ansteuern der GPIO Ports via Python braucht:
[/font][font="Arial"]sudo apt-get install python-dev
sudo apt-get install python-rpi.gpio[/font]
[font="Arial"]Um das Script im Home-Verzeichnis zu erstellen, wird zuerst der Editor 'nano' aufgerufen:
[/font]
[font="Arial"]sudo nano /home/pi/shutdown.py[/font]
[font="Arial"]Dabei wird gleichzeitig festgelegt, dass das Script sp[/font]ä[font="Arial"]ter einmal 'shutdown.py' hei[/font]ß[font="Arial"]en wird. In das Editorfenster muss dann folgendes Script kopiert werden:
Code: Alles markieren[/font]
# shutdown script for Raspberry Pi
# watch LOW level on pin 13 to enter sleep mode
# status led on pin 7: ON = ready, BLINK = confirm button
import RPi.GPIO as GPIO
import os
import time
# use the pin number as on the raspi board
GPIO.setmode(GPIO.BOARD)
# set pin 7 as output and HIGH, pin 5 is input
GPIO.setup(7, GPIO.OUT)
GPIO.output(7, True)
GPIO.setup(13, GPIO.IN)
# start the loop for every .5 seconds, waiting for LOW on pin 5
# then 2 short flashes with led to confirm and shutdown to sleep mode
while True:
if not (GPIO.input(13)):
GPIO.output(7, False)
time.sleep(.1)
GPIO.output(7, True)
time.sleep(.1)
GPIO.output(7, False)
time.sleep(.1)
GPIO.output(7, True)
os.system("sudo shutdown -h now")
time.sleep(.5)
[font="Arial"]Speichern mit Strg+o, ( +Return) beenden mit Strg+x ( +Return). Die mit # beginnenden Zeilen sind Kommentare und m[/font]ü[font="Arial"]ssen nicht unbedingt mitkopiert werden.[/font]
[font="Arial"]Danach muss das Script noch mit ausf[/font]ü[font="Arial"]hrbaren Rechten versehen werden:[/font]
[font="Arial"]sudo chmod +x /home/pi/shutdown.py[/font]
[font="Arial"]Damit das Script auch automatisch im Hintergrund startet, wird es in die rc.local eingetragen:[/font]
[font="Arial"]sudo nano /etc/rc.local[/font]
[font="Arial"]Der Aufruf muss vor der Zeile exit 0 stehen. Am Ende sollte es dann so aussehen:[/font]
[font="Arial"]sudo python /home/pi/[/font][font="Arial"]"[/font][font="Arial"]shutdown.py[/font][font="Arial"]"[/font][font="Arial"] &[/font]
[font="Arial"]exit 0[/font]
[font="Arial"]Wieder speichern mit Strg+o und beenden mit Strg+x. Wenn ihr das Script nicht im Home Verzeichnis erstellt habt, m[/font]ü[font="Arial"]sst ihr den Pfad nat[/font]ü[font="Arial"]rlich anpassen.
[/font]