iOS - MTU-Größe für die BLE-Daten-übertragung zwischen iOS-Gerät und dem Externen Zubehör(BluetoothWatch)

Ich bin auf iOS-Applikation(Objective-C) für Bluetooth-Uhr, die mit BLE(CoreBluetooth), und meine Uhr ist mit GATT-Bluetooth-Profil, iOS-Anwendung minimale Unterstützung von iOS7.

Ich will wissen, Wie können wir tun, Daten-transfer zwischen iOS-Gerät und dem externen Gerät mit Core-Bluetooth-framework.

Eigentlich arbeite ich an der Firmware-upgrade-Abschnitt von meine Bluetooth-Uhr,
Meine iOS-Anwendung erhalten Firmware-code (Binär-Daten) von web-service-Wann immer ein update erhalten und dann es wird das senden von Daten an Bluetooth-Uhr.

Ich habe gesucht und habe eine Apple-Beispielcode:
BTLE_Transfer: https://developer.apple.com/Library/ios/samplecode/BTLE_Transfer/Introduction/Intro.html

Ich denke Beispielcode war nicht hilfreich in meinem Fall als seine zentrale und Periphere code und die übertragung von Daten zwischen zwei iOS-Gerät.

gibt es eine andere Möglichkeit abgesehen von diesem Beispiel-code für die BLE-Daten übertragen? oder es ist möglich, mit diesem Beispiel-code nur?(wenn ja, wie?)

AKTUALISIERT:

Mein Gerät haben 1 service, 2 Merkmal eine für Lesen und eine für schreiben.

Laut meinen workflow mit schreiben charateristic:

  1. Mit WRITECHARACTERISTIC ich bin senden von Daten von firmware-code in Blöcken

[MYDEVICEINSTANCE writeValue:NSDATACHUNK
forCharacteristic:WRITECHARACTERISTIC
Typ:CBCharacteristicWriteWithResponse];

  1. und in der delegate-Methode "didWriteValueForCharacteristic" - Methode bin ich die Benachrichtigung gelesen Merkmal, wie unten

[MYDEVICEINSTANCE setNotifyValue:TRUE
forCharacteristic:READCHARACTERISTIC];

  1. die fordert, "didUpdateNotificationStateForCharacteristic" Delegat-Methode im inneren, dass ich Kontrolle wenn READCHARACTERISTIC isNotifying oder nicht, dann rufe ich
[MYDEVICEINSTANCE readValueForCharacteristic:READCHARACTERISTIC];
  1. die call delegate-Methode "didUpdateValueForCharacteristic" und ich lese response mit READCHARACTERISTIC.Wert

Meine Abfrage:

Ich will, um zu bestätigen, MTU-maximum-Grenze zulässig, die von Apple für Externes Gerät die Kommunikation von iOS-Anwendung, die ich bin ab Schritt 1 durch senden NSDATACHUNK zu BLE-Uhr von iOS-app mit writeValue

Habe ich getestet, dass kann ich senden NSDATACHUNK von MTU=255 Größe und BLE-Uhr ist Empfang gleich erfolgreich.

Habe ich gefunden in "Apple Beispielcode: BTLE_Transfer" Sie sind mit MTU=20 aber ich denke, dass Beispiel-code für iOS-Gerät zu iOS-Gerät-Kommunikation (Bitte, korrigieren Sie mich, wenn ich falsch Liege)

So, Wenn ich MTU=250 in meiner iOS-Anwendung für BLE-Kommunikation gibt es eine chance, dass apple lehnt meine Bewerbung?

Oder ist es eine, die sagen kann, was ist das maximale limit erlaubt von Apple für MTU?

Jede Anregung sind willkommen,

Vielen Dank im Voraus

InformationsquelleAutor RayofHope | 2014-11-03
Schreibe einen Kommentar