Hallo
Ich möchte eine LED über ein Python script steuern.
Dabei soll beim booten des raspi automatisch das script starten um die ports zu initialisieren. Später soll eine Funktion (via php) aufgerufen werden, die die LED aktiviert.
Das Script sieht folgender maßen aus.
#!/usr/bin/python
import wiringpi2
import time
import sys
def init():
#LED initalisieren
wiringpi2.pcf8574Setup(65,0x20)
wiringpi2.pinMode(65,1)
wiringpi2.digitalWrite(65,0)
def LED_toggle():
read_value = wiringpi2.digitalRead(65)
if read_value:
wiringpi2.digitalWrite(65,0)
else:
wiringpi2.digitalWrite(65,1)
if __name__ == "__main__":
import sys
if (int(sys.argv[1]) == 1):
init()
Alles anzeigen
Um die Sache zu vereinfachen lasse ich php und das starten über autostart erst einmal weg.
Die initialisieren des GPIO Ports (I2C Expander pcf8574) erfolgt über
"sudo python beispiel.py 1"
-> die Funktion init() wird ausgeführt.
Danach möchte ich über ein script die LED toggeln lassen
"sudo python"
Python 2.7.3 (default, Jan 13 2013, 11:20:46)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import beispiel as b
>>> b.LED_toggle()
>>> b.LED_toggle()
Leider ändert sich nach dem Aufrufen der LED_toggle()- Funktion der Zustand der LED nicht.
Scheinbar habe ich da ein grundsätzlichen Fehler. Was mache ich Falsch?
Wenn ich das script aufrufe und die init-Funktion mit ausführe, dann Funktioniert das alles wunderbar.
Es macht ja aber keinen Sinn, jedesmal die Ports neu zu initialisieren. Einmal sollte ja reichen.
Wie kann man so was realisieren?
Vielen dank im Voraus Gruß
croeh