GPIO per Cronjob steuern

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Hallo,
    ich habe eine kleine Steuerung mithilfe der GPIOs gebastelt und
    ein Shell Script dazu geschrieben. Dieses möchte ich jetzt per Cronjob ausführen.
    Allerdings werden die GPIOs nicht geschaltet, wenn der Cronjob das Script ausführt.
    Wenn ich das Script manell ausführe funktioniert alles.
    Ich habe mal im Syslog nachgeschaut, konnte aber auch nichts auffälliges finden.
    Das Script:

    #!/bin/sh
    gpio export 23 out
    sleep 10
    gpio export 23 in

    Bei mir wird der GPIO Pin sofort aktiviert, wenn ich ihn exportiere, deswegen spare ich mir gpio write.
    Hat jemand eine Idee, woran es liegen, könnte das es nicht funktioniert.
    Flupilz

  • Hallo.


    Bei mir wird der GPIO Pin sofort aktiviert, wenn ich ihn exportiere, deswegen spare ich mir gpio write.


    ...das wage ich zu bezweifeln, denn :

    Zitat

    We can set the pin as an input or output by writing either 'in' or 'out' to the direction file. We can also read the file to query the current function of the pin. By default, output pins are configured and set low. Writing 'high' or 'low' to the direction file configures the pin as an output initially set at that level.


    d.h. als out geschaltet wird der Pin defaultmäßig 0, als in wird er hochohmig und "schwebt" irgendwo wenn er unbeschaltet ist.

    Hast Du auch die Rechte berücksichtigt?

    Zitat

    Allowing None Root Device Permissions

    By default, only root can export and unexport files and write to the gpio pin files. The device manager on Linux is called udev and we can provide rules for udev that control the permissions on the device files that it creates.

    With default settings the files in /sys/class/gpio are owned by user root and group root. Only the root user will have read/write permissions.

    We can change this with a udev rule. We create a file in /etc/udev/rules.d that contains the line:

    KERNEL=="gpio*", SUBSYSTEM=="gpio", ACTION=="add", PROGRAM="/usr/local/bin/hipi-expin gpio /sys%p"

    gruß root

  • Zitat

    ... als in wird er hochohmig und "schwebt" irgendwo wenn er unbeschaltet ist.

    :geek: Stimmt nicht ganz. Nur wenn kein Pull-up/down Widerstand am Eingang gesetzt ist "schwebt er".

    Einmal editiert, zuletzt von WernerPI (6. September 2015 um 16:06)


  • Hallo.


    ...das wage ich zu bezweifeln, denn :


    d.h. als out geschaltet wird der Pin defaultmäßig 0, als in wird er hochohmig und "schwebt" irgendwo wenn er unbeschaltet ist.

    Hast Du auch die Rechte berücksichtigt?

    gruß root

    Ich führe das Script als Root aus, also sollte es mit den Rechten keine Probleme geben.
    Die GPIOs sind an ein Relais angeschlossen, welches einen Motor betreibt und wenn ich den gpio exportiere wird das Relais aktiviert.

  • Hi


    Ich führe das Script als Root aus, also sollte es mit den Rechten keine Probleme geben.
    Die GPIOs sind an ein Relais angeschlossen, welches einen Motor betreibt und wenn ich den gpio exportiere wird das Relais aktiviert.


    Das sagt noch nicht viel.Welches Relais? Wird es gegen Masse gezogen aktiv?.Denn wenn der GPIO als "out" definiert wird, wird er defaultmäßig "0", ohne einen Wert rauszuschreiben.
    Schaltplan (und Relaistyp) wäre da hilfreich.

    gruß root

Jetzt mitmachen!

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