Wie priorisieren Androiden eingehende Bluetooth 4.0-Nachrichten, wenn viele Signale an einem bestimmten Ort sind? Wenn es in einem Bereich viele Beacon-Nachrichten gibt (eine Menge, die Fitbit-Geräte usw. trägt), scheint Android einige eingehende Nachrichten basierend auf bestimmten Kriterien zu verarbeiten und ignoriert den Rest. Dies scheint auf einer niedrigeren Ebene zu priorisieren, als uns das Android-Entwicklungsframework ermöglicht. Beim Ausführen verschiedener Tests mit verstärkten Beacon-Signalen in einem überfüllten Raum scheinen iPhones nicht in der gleichen Weise zu agieren.Bluetooth Low Energy Signalverarbeitung Priorisierung in einem überfüllten Raum
Antwort
Ich vermute, dass die Unterschiede im Verhalten auf der Implementierung des BLE-Chipsatzes basieren und nicht unbedingt von irgendeinem bewussten Design, geschweige denn von der BLE-Spezifikation. Sie werden wahrscheinlich feststellen, dass sich das Verhalten sogar zwischen iOS-Gerätemodellen (mit verschiedenen Chipsätzen) und ganz sicher zwischen den viel stärker fragmentierten verschiedenen Android-Modellen unterscheidet.
Eine praktisch nützliche Antwort auf diese Frage basiert wahrscheinlich eher auf spezifischen Testbedingungen für bestimmte Gerätemodelle als auf einer definitiven generalisierten Antwort.
Zugegeben, dies ist alles Vermutung basierend auf viele Tests, die ich getan habe. Ich biete es nur in Ermangelung besserer und spezifischerer Antworten von anderen an.
Es gibt keine "Priorisierung", soweit ich das beurteilen kann. Die Bluetooth-Chips leiten einfach weiter, was sie in der Luft schnappen, während sie zum Host scannen.
Was Sie beachten sollten, ist das Werbeintervall. Ein Gerät, das öfter als ein anderes eine Werbung sendet, wird natürlich eher erkannt. Wenn zwei Geräte genau zum gleichen Zeitpunkt ein Werbepaket aussenden und die Signalstärken gleich sind, wird der Empfänger wahrscheinlich nur Müll bekommen und das Paket fallen lassen.
Beachten Sie, dass Android "aktives Scannen" verwendet, dh es wartet sowohl auf das Werbepaket als auch auf das Scan-Antwortpaket, bevor die App benachrichtigt wird. Um das Scan-Antwort-Paket zu erhalten, muss es unmittelbar nach dem Empfang des Werbepakets eine Scan-Anfrage senden, und unmittelbar danach sendet der Werbetreibende das Scan-Antwort-Paket. Jetzt definiert der Standard einen Backoff-Mechanismus, falls dieser fehlschlägt, der in verschiedenen Controllern unterschiedlich implementiert werden könnte, daher sind wahrscheinlich die größten Unterschiede für verschiedene Controller darauf zurückzuführen.
- 1. Bluetooth Low Energy Liste
- 2. CRC Bluetooth Low Energy 4.2
- 3. Bluetooth Low Energy Notification Intervall
- 4. Bluetooth Low Energy Sensor-Simulator
- 5. Bluetooth low energy - Ein-/Ausgabefehler
- 6. IOS Bluetooth Low Energy Verbindungsintervall
- 7. Bluetooth Low Energy Notification Eigenschaften
- 8. Bluetooth Low Energy Android Studio
- 9. Bluetooth Low Energy APIs in Java
- 10. Mit Bluetooth Low-Energy in Linux-Befehlszeile
- 11. Authentifizierungsproblem in BLE Bluetooth Low Energy-Gerät
- 12. Random Adresse Einstellung in Bluetooth Low Energy
- 13. Qt - WINDOWS - Bluetooth Low Energy funktioniert?
- 14. Pexpect und Bluetooth Low Energy-Benachrichtigungen
- 15. Bluetooth Low Energy - Verbindung mit demselben Gerät
- 16. Chrome Bluetooth Low Energy API - Plattformübergreifende Unterstützung
- 17. Bluetooth Low Energy Beacons Entfernung mit Python
- 18. Bluetooth Low Energy: RFDuino wird nicht erkannt
- 19. Android Studio: Bluetooth Low Energy BLE Werbung
- 20. Android Bluetooth Low Energy - Service-Beschreibung lesen
- 21. Android Bluetooth Low Energy Geräte nicht finden
- 22. Bluetooth Low Energy unter Windows 7?
- 23. Bluetooth Low Energy Device Simulator/Emulator
- 24. Android Bluetooth Low Energy alt sdk
- 25. Init-Verbindung ohne Synchronisierung mit Bluetooth Low Energy in Android
- 26. Services in Bluetooth Low Energy werden nicht immer gefunden
- 27. Erläuterung der PDU-Größe in Bluetooth Low Energy 4.2
- 28. Bluetooth Low Energy Verbindungsparameter für Android, iOS und Win8
- 29. Bluetooth Low Energy - Senden von Paketen sehr langsam
- 30. So senden Sie Bluetooth Low Energy GATT Benachrichtigung mit Bluez?