Anzeige:
Ergebnis 1 bis 4 von 4

Thema: USB Daten lesen

  1. #1
    Panda
    Gast

    USB Daten lesen

    Hallo ,

    ich möchte von einem USB-Gerät Daten lesen.
    Das USB-Gerät versendet Daten wenn dies am Gerät veranlasst wird.
    Der Rechner muss also bereit sein wenn die Daten kommen .
    Oder kann man das anhand von einem Interrupt erkennen ?

    Wie muss ich vorgehen , damit ich die Daten lesen kann.
    Schiebt mich mal in die erforderliche Richtung.
    Bin Anfänger.

    Bin jetzt soweit , das ich erkenne das /dev/ttyUSB0 bereit ist und eine Text-Datei kann ich auch öffnen.


    Linux , Ubuntu

    Danke
    Geändert von Panda (11-02-2007 um 16:20 Uhr)

  2. #2
    Panda
    Gast
    Juchu ich kann Daten lesen
    Ach bin ich stolz

    Code:
    #include <iostream>//I-O Header
    #include <unistd.h>
    #include <time.h> //Zeit Header
    #include <usb.h>
    
    using namespace std;
    
    int main()
    {
        	char ch;
    	
    	FILE *datei,*nano;
    
    
    cout << "\n\nPhotometer Nanocolor 500D  \n";
    cout.flush();
    sleep(0);
    
    
    datei = fopen ( "nano.txt" , "a+" );
    nano = fopen ( "/dev/ttyUSB0" , "r" );
    if (datei == NULL )
    {
    printf ("\nDie Datei konnte nicht geöffnet werden.!\nBitte überprüfen sie die Rechte der Datei nano.txt \n");
    }
    else
    {cout << "nano.txt wurde erstellt bzw. konnte geöffnet werden. \n";}
    
    
    if (nano == NULL){printf( "Nanocolor Fehler \n");}else{printf ("Nanocolor erreichbar \n");
    
    while (ch < 5)
    {
    putchar(fgetc(nano));
    }
    }
    
    
    fclose (datei);
    
    cout << "\n\nProgramm bendet \n\a";
    
    
    return 0;
    }

    Was jetzt noch nicht klapt ist , das wenn ich das Gerät ausschalte oder den Stecker ziehe sich das Prog beendet.

    Es werden dann Sonderzeichen ausgegeben �����������������������

    Wer hat nen Tip ?

    Die While - Schleife muss ich dann noch an einer Bedingung knüfen. Die Daten werden dann noch in eine Datei geschrieben und mit PHP gelesen und in meine Datenbank (MySQL) geschrieben. Kann ich die Daten auch gleich in MySQL schreiben ?

    Das meckern über den Code ist erlaubt

  3. #3
    Registrierter Benutzer
    Registriert seit
    23.12.2005
    Beiträge
    16
    Unter Linux soll die libusb ganz gut sein, aber schlecht dokumentiert. Hab's selbst aber selbst noch nicht verwendet.

    Wenn Du mit USB Geräten arbeitest, hilft es, die Einführungskapitel vom USB Standard zu lesen. USB Geräte sind keine einfachen Character-Devices wie z.B. Modems, da steckt mehr dahinter und man spürt, dass bei der Entwicklung Microsoft die Finger im Spiel hat(te)

  4. #4
    Registrierter Benutzer
    Registriert seit
    16.06.2003
    Beiträge
    73
    Hi,

    wenn du dein Gerät über ttyUSB0 erreichen kannst, ist es dann überhaupt ein richtiges USB Gerät? Oder hängt das per RS232 Schnittstelle einfach an einem "USB to Serial" Adapter.
    Den Devicenamen ttyUSB kriegen normalerweise solche Adapter. Damit unterliegt die Schnittstelle dann aber auch den üblichen Beschränkungen einer seriellen Schnittstelle und erkennen ob was dran ist oder nicht läuft dann nur über Timeouts in der Kommunikation.
    Ansonsten kannst du dir mit der USB Device Liste im /proc oder /sys Dateisystem weiterhelfen.

    Gruß

    almoeli

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •