Ich plane ein Kommunikationsprotokoll zwischen einem Android-Gerät und einem benutzerdefinierten Sensor, der ein kommerzielles Bluetooth-Modul verwenden würde. Ich würde das SPP-Profil verwenden, das dem Benutzer "ähnlich wie TCP" einen einfachen und zuverlässigen Datenstrom bietet. "Bluetooth Android RFCOMM/SPP Fehlerbehandlung Vorschläge
Ich bin nicht so vertraut mit der Bluetooth-Technologie und habe einige Fragen über das Entwerfen eines solchen Protokolls.
Zunächst einmal ist es mir nicht klar, wenn ich mir Sorgen machen muss, dass korrupte Daten übertragen werden oder nicht. Wird mir der zugrundeliegende Protocol-Stack garantieren, dass die Bytes, die ich von Android InputStream
gelesen habe, die gleichen sind, die der UART auf der Sensorseite empfängt? Muss ich meine eigenen Datenpakete definieren, die mit CRC oder anderem geschützt sind, oder wäre es zu viel?
Es ist mir aus der Android Bluetooth Dokumentation nicht klar, was in meiner Anwendung passiert, wenn das Signal schwach ist und für eine Weile verloren geht. Bekomme ich sofort IOException
oder die Plattform bietet mir eine versteckte Fehlerbehandlung und Wiederherstellung, die solche kurzen Ausfälle für mich unsichtbar machen würde?
Vielen Dank für jeden Hinweis.
Vielen Dank, diese Antwort ist sehr klar und deckt alles ab, was ich wissen wollte. – jabal
Gern geschehen –