Barcode Scanner

F

fatzke

Jungspund
Hallo Unixboard!

Ich versuch momentan einen Barcode Scanner unter Debian zu zähmen.
Der Scanner wird an die Serielle Schnittstelle angeschlossen (könnte auch an einen USB kommen) und kann
somit als eine Art Tastatur angesehen/verwendet werden.

Einlesen von Barcodes mittels C oder Shell Skript funktioniert auch
soweit ("/dev/tty" geht, "/dev/ttyS*" geht nicht)...jetzt mein Problem:

Kann man auch wenn das Skript, egal ob Shell oder C, nicht im Vordergrund ist, ständig den Input eines speziellen Ports überwachen? Das wird später nämlich nötig sein! Sprich es läuft eine Anwendung im Vordergrund (z.B. Video) solange bis ich einen Barcode an den Scanner halte. Dann sollte direkt der Input verarbeitet werden können.

Hoffe ich konnte das in etwa vermitteln...ich poste mal noch meinen C Code und freue mich auf Antworten.

Grüße Frank


Code:
/* scan.c */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>

int main (void) {

        FILE *source, *target;
        int c, n;

        source = fopen("/dev/tty...", "rb");
        target = fopen("/home/frank/apache/wineportal/barcode_part/tmp.txt", "wb
");

        if(target == NULL){
                printf("%s\n", strerror(errno));
                printf("Fehler beim Öffnen von tmp!\n");
                return EXIT_FAILURE;
        }

        if(source == NULL){
                printf("%s\n", strerror(errno));
                printf("Fehler beim Öffnen von tty*!\n");
                return EXIT_FAILURE;
        }

        while((c=fgetc(source)) != '\n'){
                fputc(c, target);
        }

        fclose(source);
        fclose(target);
        return EXIT_SUCCESS;
}
 
Ich bin mir nicht sicher was du mit 'im Vordergrund' meinst, aber das klingt für mich nach einer Typischen Aufgabe für Threads.

Gruß
D.
 
Mit "im Vordergrund" meine ich, das z.B. das Video nicht auf einen Input wartet. Oder das ne PHP Seite auch nicht auf einen Tastaturinput wartet. Trotzdem soll dieser registriert werden.
 
Wie madfool schon sagte währe das der Aufgabenbereich für Threads

mfg element
 
...Ok...dann kümmer ich mich jetzt mal um threads ;)
Danke für die Hilfe...falls iher irgendwelche besonderen Tutorials bezüglich threads kennt, lasst es mich wisssen.

Grüße Frank
 

Ähnliche Themen

"non blocking console input" wieder rückgängig machen?

Unix Webserver mit HTML Seite erstellen

Prozesskommunikation mit PIPES - wie funktioniert das?

Ausführbare C-Datei von Mac OS auf Embedded Linux ausführen

Samba 4 Gast Zugang unter Ubuntu funktioniert nicht

Zurück
Oben