Moin Leute und frohe Ostern,
ich bin Raspberry bzw. Python Anfänger und habe ein Projekt. Ein Radio, das mit dem offiziellem Display bedient wird. Der Raspberry und das Display bekommen immer Strom, sind also 24/7 in Betrieb. Um den Verstärker an zu schalten bedient ein Kippschalter ein 5V Relais mit 2 Relais. Eines der Relais schaltet die 230V für den Verstärker. Das andere Relais Soll PIN 15 ( GPIO 22 ) mit GND verbinden, um das Display an bzw. aus zu schalten. Das ganze möchte ich gerne mit einem Python Script bewerkstelligen. Ich habe einen Code aus dem Internet bearbeitet und wollte es damit versuchen. Jetzt schmeißt er mir aber einen Fehler raus:
subprocess.Popen("sudo echo 1 > /sys/class/backlight/rpi_backlight/bl_power", shell=True)
^
IndentationError: unexpected indent
Ich hoffe ihr könnt mir da helfen. Ich bedanke mich im Voraus und wünsche noch frohe Ostern.
Beste Grüße
Philipp
#!/usr/bin/env python
#coding: utf8
import time
import RPi.GPIO as GPIO
import subprocess
# Zählweise der Pins festlegen
GPIO.setmode(GPIO.BOARD)
# Pin 18 (GPIO 22) als Eingang festlegen
GPIO.setup(15, GPIO.IN, pull_up_down = GPIO.PUD_DOWN)
# Schleifenzähler
i = 0
# Ereignis-Prozedur für Eingang HIGH
def doIfHigh(channel):
# Zugriff auf Variable i ermöglichen
global i
if GPIO.input(channel) == GPIO.HIGH:
# Wenn Eingang HIGH ist, Ausgabe im Terminal erzeugen
print "Display AUS " + str(i)
subprocess.Popen("sudo echo 1 > /sys/class/backlight/rpi_backlight/bl_power", shell=True)
else:
# Wenn Eingang LOW ist, Ausgabe im Terminal erzeugen
print "Display AN " + str(i)
subprocess.Popen("sudo echo 0 > /sys/class/backlight/rpi_backlight/bl_power", shell=True)
# Schleifenzähler erhöhen
i = i + 1
# Ereignis deklarieren
GPIO.add_event_detect(15, GPIO.BOTH, callback = doIfHigh, bouncetime = 200)
# Eigentlicher Programmablauf
while 1:
time.sleep(0.1)
Alles anzeigen