Frage zu Skript

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo,

    ich bin mit Shellscripten noch recht unerfahren und komme im Moment nicht weiter. Ich habe hier eine Anleitung gefunden, wie man einen GPIO-Ausgang mit 3,3V schalten kann, so dass damit eine LED eingeschaltet werden kann. Ich möchte das dazu nutzen, den Status meines Raspberrys anzeigen zu lassen. Wenn ich folgende Befehle eingebe, wird die LED eingeschaltet:

    Code
    gpio mode 0 out
    gpio write 0 1

    Also wollte ich ein kleines Script schreiben, das beim Hochfahren ausgeführt wird, und dann sollte die LED brennen. Ich habe in /etc/init.d das Script "led" mit folgendem Inhalt angelegt:

    Bash
    #!/bin/sh
    gpio mode 0 out
    gpio write 0 1


    Das Skript hat die Rechte 755 und ist ausführbar. Wenn ich mit ./led das Script starte, schaltet sich die LED ein. In /etc/rc2.d Habe ich einen Link angelegt:

    Code
    ln -s ../init.d/led S99led

    Nach dem Hochfahren brennt aber keine LED. Kann mir jemand sagen, was ich falsch mache?

    • Offizieller Beitrag

    für dieses extrem umfangreiche Script ;) ist doch ein init Script total overpowered. Schreib den startaufruf in die rc.local und es sollte laufen. Bei init scripten gibt es einigen mehr zu beachten als ein ein "ln".

    Code
    nano /etc/rc.local


    dort vor dem exit 0 folgendes schreiben

    Code
    /pfad/zu/deinem/script/led.sh

    Der Unterschied zwischen Genie und Wahnsinn definiert sich im Erfolg.

  • Ich hab in die /etc/rc.local /home/pi/led.sh eingetragen. Die LED bleibt trotzdem dunkel.
    Wenn ich /home/pi/led.sh in der Konsole eingebe, geht die LED an. Daher habe ich in das Script led.sh am Ende folgende Zeile eingetragen:

    Code
    echo Stop > /home/pi/test.txt



    Nach dem Reboot gibt es die Datei test.txt und der Inhalt lautet Stop. Also wird das Script ausgeführt, aber die befehle werden aus irgendeinem Grund nicht umgesetzt.

    Edit:
    So funktioniert es:

    Bash
    #!/bin/sh
    su - pi -c 'gpio mode 0 out'
    su - pi -c 'gpio write 0 1'

    Einmal editiert, zuletzt von Gerdchen03 (6. Oktober 2013 um 04:08)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!