Stdin nur bei bestimmten Präfix reagieren?

  • Hey Leute,

    habe so viel im Internet gesucht und leider nichts gefunden. Habe einen Barcodescanner per USB angeschlossen der wie eine Tastatur die gescannten Codes "ausschreibt". Der Barcodescanner sendet vor jedem eingescannten Code ein Präfix mit (ASCII 02 - STX).
    Jetzt würde ich gerne ein Script im Hintergrund laufen lassen welches nur auf eine Eingabe reagiert wenn dieser Präfix eingegeben bzw gescannt wird. Hat da jemand einen Lösungsansatz wie sowas in Python zu lösen ist? =/

    Habe vorher noch nie was mit Python gemacht.
    Der Hintergrund ist dass das Script unterscheiden muss ob die Eingabe vom Barcodescanner kommt oder ob ich einfach nur am raspberry auf der Tastatur tippe.

    Danke und Gruß

  • Buzzy, bist du sicher, dass du das richtig verstanden hast? Normalerweise legt ein USB-Gerät ein eigenes Device-file an, in dem es dann auch ein ASCII-Protokoll verwenden kann, also schreiben kann wie eine Tastatur, aber nicht automatisch auf stdin. und dann hast du das ganze Problem garnicht.
    Mache dich da nochmal schlau.
    Das einfach "ins Terminal schreiben" habe ich noch nie erlebt und bin ncihteinmal sicher ob das geht

  • geht das dann nicht auch im prinzip einfach wie bei der kommunikation über UART? ...nur das es/ttyUSBX ist?

    vertippt: /dev/ttyUSBX

    Rede wenig, rede wahr, trinke mäßig, zahle bar.:angel:

    Einmal editiert, zuletzt von Kornfeld (29. Juli 2014 um 08:44)

  • Ich hab sowas nur als RFID Leser.
    Dein Ansatz scheitert wohl daran dass du dein Script in nem aktiven Terminal laufen lässt und du mit dem Computer sonst nichts machen kannst weil ja in dem Terminal das Script läuft und wenn du z. B. im Internet surfst, hat das Terminal den Focus nicht mehr und die Eingaben vom Leser kommen im Browser an.
    Es kann schon sein, dass man sowas mit Python machen kann (ich kenn mich mit Python nicht aus :) ), aber ich hab's in C gemacht. Du brauchst sowas wie nen Keylogger der direkt vom Device liest und immer im Hintergrund läuft. Da kannst die Ausgaben des Leser dann nach belieben filtern und weiterverarbeiten.

    Lg

Jetzt mitmachen!

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