2012-04-20 7 views
8

Ich habe in letzter Zeit etwas mit den BLE (Bluetooth Low Energy) Konnektivitätsklassen herumgebastelt und war nicht in der Lage, Daten schneller als 1KB/5 Sekunden zu übertragen. Ich glaube, in der Dokumentation steht, dass die maximale Geschwindigkeit 60 Bytes pro 20 Millisekunden beträgt. Mit der Datenübertragung und dem Zählen der Ack-Übertragung nach jedem Satz von Paketen glaube ich, dass wir in der Lage sein sollten, so schnell wie 1,5 KB pro Sekunde zu gehen. Also ist mein Code etwa 7-8 mal langsamer als es sein sollte.iPhone 4S - BLE Datenübertragungsgeschwindigkeit

Ich frage mich nur, ob jemand Daten in BLE so schnell übertragen konnte, wie es in der Dokumentation heißt. Was für eine Geschwindigkeit bekommst du schneller als meine?

Vielen Dank

Antwort

2

helfen könnte, wenn Sie in der Lage, höhere MTU-Größe zu verwenden (vom iOS ausgehandelt) dann wären Sie in der Lage, die Bandbreite sogar noch mehr zu erhöhen, weil es einen 4-Byte-L2CAP-Header und einen 3-Byte-ATT-Header gibt, der nicht mehr als in einem Paket übertragen würde.

Wenn Sie in der Lage sind, 6 Pakete pro Verbindungsintervall zu übertragen, dann könnten Sie pro Verbindungsintervall 35 Byte extra einfügen (der 7-Byte-Header wäre immer noch für das erste Paket vorhanden). Die MTU-Größe könnte auch sein Split über mehrere Verbindungsintervalle, Erhöhung des Durchsatzes mit 7 weiteren Bytes pro Verbindungsintervall. (Dauert nur mehr Zeit, um das Paket wieder zusammenzusetzen.) Die maximale MTU Größe von ATT ist 515 Bytes (Max Größe von att ist 512 Bytes + 3 Byte Header für Opcode + Handle)