Tastaturabfrage

  • Hallo,
    ich habe einen RFID Reader der wie eine Tastatur funktioniert.
    Möchte nun ein Shellscript schreiben, indem die Tastatur abgefragt wird wenn.
    Der Code des RFID Chips ist 50008874a7
    Wird nun der korrekte Chip drangehoben, so leuchtet eine LED des Pís.


    Habe mir mal was zusammengestellt...


    #!/bin/sh
    variable=50008874a7
    if [ $variable -eq 50008874a7 ];then
    echo "out" >/sys/class/gpio/gpio17/direction
    echo "1" > /sys/class/gpio/gpio17/value
    sleep 0.5;
    else
    echo "0" > /sys/class/gpio/gpio17/value
    sleep 0.5;
    fi


    irgendwie möchte es aber noch nicht funktionieren.
    Hoffe ihr könnt mir helfen ;)

  • 50008874a7 kann man zwar als hexadezimale Zahl sehen.


    In dem Ausdruck


    [ $variable -eq 50008874a7 ]


    wird 50008874a7 aber als String interpretiert. Und dann funktioniert "-eq" nicht.


    Das sollte gehen:


    [ $variable = 50008874a7 ]


    Mal im Terminal ausprobieren:


    Keep it simple [,&] stupid

    Edited once, last by kungel ().

  • genau


    der erste Test liefert eine Fehlermeldung zurück, da 50008874a7 nicht als Zahl erkannt wird.
    Ein Stringvergleich (Test 2 und 3) funktioniert.

    Keep it simple [,&] stupid

  • ok, danke dir!
    Wie grieg ich denn das jetzt auf die Reihe,
    dass ich den Code speichere in einer Variable
    und eine andere Variable ist leer, hebe ich dann den Chip dran mit dem Code,
    wird der Code des Chips in eine andere Variable geschrieben und die beiden Variablen werden miteinander verglichen.

  • ich habe hier keinen RFID Reader und kann daher nicht sagen, wie man den ausliest.
    sorry

    Keep it simple [,&] stupid

  • ist praktisch wie eine Tastatur, ich hebe ein Chip dran und es wird eingegeben wie eine Tastatur.
    Sprich man müsste eig nur. einmal einen Tastendruck (Rfid Chip) in eine Variable eingeben und den vorgegebenen Code in eine Variable,
    dann beide miteinander vergleichen.
    Aber an der Umsetzung scheiterts momentan =(