2013-08-08 6 views
6

Hat jemand erfolgreich implementiert Ymodem in Java, um Dateien über Bluetooth (SPP) zu senden?Android Ymodem über Bluetooth in Java

Ich hatte einen Blick auf this Option und würde nichts dagegen haben, versuchen, einige C/C++ Code für Android zu kompilieren, aber ich möchte nicht das Tablet root, ist es wirklich benötigt? Warum?

+0

SPP oder RFCOMM? Ich könnte wütend sein, aber aus dem Gedächtnis SPP ist auf RFCOMM gebaut, die im Wesentlichen ein roher Datenstrom ist. –

+0

Ja, SPP ist auf RFCOMM. Aus der Spezifikation: Basisband> LMP & L2CAP> RFCOMM & SDP> Serielle Port-Emulation oder andere API. Offizielle Dokumentation auf Bluetooth.org Wo RFCOMM ist das Transportprotokoll und SDP ist das Service Discovery Protocol –

Antwort

1

Wie Sie wies darauf hin, ist this eine sehr gute Erklärung darüber, wie Daten ymodem Protokoll Trog Tixy ‚s Implementierung auf Android übertragen werden.

Ich denke, dass ein verwurzelt Gerät notwendig ist, weil Ihre Anwendung niedrigen Level-Zugriff auf die serielle Schnittstelle/Modem, um folgende Daten zu übertragen, muss die ymodem specification (ohne High-Level-Einkapselung extra Daten).

1

Sie müssen root weil die serielle Kommunikation in Android (und anderen Linux-Systemen) immer /dev/ttys.. geht über

Und die Berechtigungen für /dev/ttys.. sind in der Regel auf rw für root nur gesetzt.

Es könnte sein, dass auf einigen Android-Roms Zugang zu den Geräten besteht, aber normalerweise wird das nicht der Fall sein.

Aber Wenn Sie Rohdaten über Bluetooth (Java) senden können, müssen Sie den Ymodem-Quellcode ändern, der das Datenpaket zurückgibt. Senden Sie das zurückgegebene Datenpaket und Sie sind auf einem guten Weg.

EDIT

Es gibt einige Möglichkeiten, rohe Pakete zu senden:
http://www.intorobotics.com/how-to-develop-simple-bluetooth-android-application-to-control-a-robot-remote/