Raspberry PI 3 b+ script über gpio starten?
hallo, ich möchte gerne das backlight des lcds über einen schalter an und auschalten...
dies funktioniert mit folgenden befehlen:
On:
echo 0 > /sys/class/backlight/rpi_backlight/bl_power
Off:
echo 1 > /sys/class/backlight/rpi_backlight/bl_power
wie muss das script aussehen das das alles funktoniert....
danke schonmal für die hilfe!
2 Antworten
geht das vielleicht etwas genauer..?
was soll das auslösende event sein?
gpio ist jediglich die schnittstelle
Du kannst das Tool "gpio" nutzen. Die Portnummer kann entweder nach dem "wiring pi"- Schema oder nach der Broadcom-internen Verdrahtung erfolgen (letzteres dann mit "gpio -g ..."). Eine Übersicht über den kompletten Schaltzustand bekommst Du mit "gpio readall".
Einzelne Pins kann man mit "gpio [-g] read <portno>" abfragen. Das Ergebnis lässt sich auch per Shellskript verwursten.
Beispiel für ein einfaches Skript:
#!/bin/sh
portnum=12 # hier gewünschte Portnummer eintragen
state=`gpio read $portnum`
if [ "x$state" = "x1" ]
then
# Aktion für "Bit gesetzt" hier einfügen
else
# Aktion für "Bit nicht gesetzt" hier einfügen
fi
exit 0
Theoretisch könnte man nun sowas auch in einer Abfrageschleife laufen lassen. Allerdings ist sowas mit einem Shellskript ineffektiv.
Besser deswegen ein kleines C-Progrämmchen o. ä. schreiben, was z. B. alle 500 Millisekunden eben kurz über den Library-Call die Zustandsabfrage macht und dann ggf. bei einem Zustandswechsel des Ports per system() ein externes Handlerskript aufruft. Da kannst Du dann Deine Ein-/Ausschaltkommandos reinsetzen und hättest bezogen auf die eigentliche Pin-Abfrage dann eine generische Lösung, die Du nur einmal programmieren müsstest, und dann auch für zukünftige andere Aktionen weiterverwerten könntest.