Tastenausgabe nach GPIO Aktivierung

  • Hallo zusammen, ich bin seit nem guten Tag auf der suche nach einer Lösung für folgendes Problem:

    Ich habe einen Raspberry PI - an den GPIOs 27 / 22 / 23 / 24 wurde jeweils ein Taster angeschlossen.

    Über folgendes Script Überwache ich den Zustand der GPIO's. In diesem Fall GPIO 27.

    Bash
    #!/bin/bash
    while true; do
      wert=$(cat /sys/class/gpio/gpio27/value)
      if [ $wert = "0" ]; then
        ./script.sh
      fi
      sleep 1s
    done

    Mein Problem: Wenn z.B. der GPIO 27 aktiviert wurde (value=1) soll eine Tastenausgabe statt finden. Zum Beispiel die Taste "A" bzw. "B". etc. soll simuliert werden. Habt ihr dafür einen Lösungsvorschlag? Ich wäre euch sehr dankbar. (Also wie müsste in diesem Fall die ./script.sh aussehen? - Lässt es sich überhaupt über diesen Code bewerkstelligen?)

    MfG,
    Narkima aka. Tim:helpnew:

    Einmal editiert, zuletzt von narkima (21. März 2014 um 16:33)

  • Hallo Narkima,

    wie wäre es mit

    Code
    echo A


    echo zeigt die darauffolgende Zeichenkette an.

    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.


  • Zum Beispiel die Taste "A" bzw. "B". etc. soll simuliert werden. Habt ihr dafür einen Lösungsvorschlag? Ich wäre euch sehr dankbar. (Also wie müsste in diesem Fall die ./script.sh aussehen? - Lässt es sich überhaupt über diesen Code bewerkstelligen?)

    Hallo narkima,

    Du schreibst "... soll eine Tastenausgabe stattfinden". Was ist denn eine "Tastenausgabe" - Tasten sind Eingabegeräte!
    Du meinst sicher, ein Tastendruck soll - parallel zu der Möglichkeit, manuell die Taste zu drücken - simuliert werden!? Verstehe ich es so richtig?

    Falls es so ist, hast Du einen recht krassen Denkfehler. ;)
    Der GPIO bleibt grundsätzlich auf "INPUT". Für einen simulierten Tastendruck rufst Du einfach die Routine auf, als hätte jemand die Taste gedrückt - das hat hardwaremässig mit dem GPIO ja nichts zu tun.

    Gruß, mmi

  • Mh erst einmal danke für die Antworten.
    Was ich meine ist folgendes:

    Ich habe eine Software die Audiodateien über die Tastaturtasten A / B / C / D abspielt.
    Anstatt einer Tastatur habe ich lediglich einen Taster (z.B. Klingeltaster).
    Wenn dieser gedrückt wird soll das File im Ordner A abgespielt werden. (Das würde ebenfalls über die Tastatur Taste "A" funktionieren). Eine Tastatur ist jedoch nicht vorhanden nur ein Klingeltaster.

  • Hallo.


    Ich habe eine Software die Audiodateien über die Tastaturtasten A / B / C / D abspielt.
    Anstatt einer Tastatur habe ich lediglich einen Taster (z.B. Klingeltaster).
    Wenn dieser gedrückt wird soll das File im Ordner A abgespielt werden. (Das würde ebenfalls über die Tastatur Taste "A" funktionieren). Eine Tastatur ist jedoch nicht vorhanden nur ein Klingeltaster.


    ...mach's doch noch einfacher mit nur einem GPIO und einem Taster.
    GPIO als Eingang Flankenerkennent schalten. Nach erkennen der 1. steigenden Flanke ein Zeitfenster von ~5 sec starten und zählen wie oft die Taste im Zeitfenster gedrückt wurde.
    Dann je nachdem File A/B/C/D abspielen. Fertig.
    Aber Achtung, Tasten prellen immer, also noch per Software entrellen (Bouncetime).

    gruß root

    Einmal editiert, zuletzt von root (22. April 2016 um 22:54)

Jetzt mitmachen!

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