String über USB einlesen

  • Hallo,


    ich würde gerne einen Datenstring von RS232 über USB einlesen. Dabei bin ich auf das Digitus Android zu RS232-Kabel gestoßen. Leider habe ich keinen Ansatz wie ich das bewerkstelligen könnte. Kann mir jemand helfen?


    Vielen Dank!

  • Also im Groben:
    USB-Port öffnen
    Input Stream darauf legen
    Auf Daten warten

    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Daraus folgt: je mehr Käse, desto weniger Käse.


    »Dies ist ein Forum. Schreibt Eure Fragen in das Forum, nicht per PN!«

  • Da gibts was von Android selbst:
    Zum Einen einen ziemlich speziellen Missile Launcher.
    https://github.com/android/pla…mples/USB/MissileLauncher


    Zum Anderen einen etwas allgemeineren AdbTest.
    https://github.com/android/pla…aster/samples/USB/AdbTest


    Beide werden im USB Host Dokument der Android Dokumentation erwähnt:
    http://developer.android.com/g…onnectivity/usb/host.html


    Hinweis:
    Dokumentation und Sourcen sind 'arschalt'. In Zahlen: 3 Jahre und auf Android 3.1 angepasst.
    In den normalen Android Sample Codes sind sie auch gar nicht mehr zu finden, lediglich in den Samples der Android Sourcen liegen sie noch rum.
    Es kann also gut sein, dass viele Dinge davon so nicht mehr funktionieren.

    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Daraus folgt: je mehr Käse, desto weniger Käse.


    »Dies ist ein Forum. Schreibt Eure Fragen in das Forum, nicht per PN!«

  • Ich habe jetzt folgenden Code:



    Allerdings funktioniert das noch nicht. Kann jemand helfen?

  • Dann ist entweder Dein Setup oder Deine App zum Debug ungeeignet.


    Ich sehe da erst mal drei Möglichkeiten:

    • Bau Dir ein ListView oder TextView, welches all das anzeigt, was Du eigentlich im Log anzeigen würdest. Dann hast Du immerhin einen Blick auf die Logausgaben und kannst ungefähr eingrenzen, wo was passiert.
    • Teste das Ganze erst einmal mit einem anderen Input Stream, beispielsweise aus einem selbst geschriebenen Service. Oder einem selbst erstellten Unit Test. Oder sonstwas. Dann hast Du den Port für das Debug Kabel frei und kannst so lange mit dem Debugger arbeiten, bis das alles so funktioniert, wie Du es Dir gedacht hast. Anschließend testest Du dann irgendwie die USB Seite um sicherzustellen, dass auch alles am anderen Ende ankommt, das Du am einen Ende schickst. (Irgendwie könnte stumpf die Ausgabe aller empfangenen Bytes in ein Textfeld sein – auch hier erst die App Seite mit dem Debugger und einem anderen Input Stream fertig bauen)
    • Bastel oder besorg Dir ein USB Bridging Board. Es dürfte doch sicherlich möglich sein, sowohl im Debug Mode auf den Daten zu lauschen als auch die Daten zu übertragen. Du müsstest halt fürs Erste die Einstellungen so vornehmen, dass der eine USB Port am Bridging Board die Daten sendet und der andere Port die Daten empfängt. So kommst Du zumindest an die Log Ausgaben. Breakpoints setzen etc.pp. wird dann ein wenig komplizierter, weil der zweite Port dann beides können muss und das Bridging Board die Dinge richtig zuordnen können sollte.

    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Daraus folgt: je mehr Käse, desto weniger Käse.


    »Dies ist ein Forum. Schreibt Eure Fragen in das Forum, nicht per PN!«

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!