2016-06-05 17 views
0

Im Zusammenhang mit BLE (Bluetooth Low Energy) können Schreibbefehle verwendet werden, um von einem Client auf den Server zu schreiben, und Benachrichtigungen, um vom Server auf den Client zu schreiben. In meinem Setup ist der Client ein zentrales Gerät (Android-Telefon) und der Server ist ein Peripheriegerät (Dev-Board).BLE: Warum sind Write Commads langsamer als Benachrichtigungen?

Nachdem ich mehrere Datendurchsatztests mit mehreren Telefonen durchgeführt habe, ist mir aufgefallen, dass der Durchsatz stark vom Telefon abhängt, was erwartet wird, weil ein großer Teil der BLE-Implementierung der unteren Ebenen dem Hersteller überlassen ist. Aber was meine Aufmerksamkeit auf sich zog, war, dass Schreibbefehl immer einen viel niedrigeren Durchsatz erreicht, als Benachrichtigungen, unabhängig vom Telefon. Warum das?

Antwort

0

Sie sollten den gleichen Durchsatz haben. Während eines Verbindungsereignisses können mehrere Schreibbefehle und Benachrichtigungen gesendet werden. Sie werden gleich behandelt.

Sie könnten einen Luftreiniger verwenden, um zu sehen, ob Sie irgendwelche Probleme finden.

Wie lange das Verbindungsereignis geöffnet sein soll, kann beim Erstellen der Verbindung und bei der Aktualisierung der Verbindungsparameter vorgeschlagen werden. Leider schreibt der BLE-Stack von Android dies hart auf den Standardwert, was keine Empfehlung bedeutet. Das bedeutet in der Praxis, dass Sie auf 3 oder 4 Pakete pro Verbindungsereignis beschränkt sind.