AW: Android - BlueTooth LE Advertise Broadcast Bytes empfangen
2. Mai 2017, 22:19
Hallo Rollo,
Connect vor DiscoverServices ist letztlich nicht zuverlässiger als direkt DiscoverServices.
Nur konnte ich so unterscheiden, ob ein Erfolg vom Connect oder vom DiscoverServices abhing.
Mit Connect im Loop, und dann erst DiscoverServices dauert es nicht länger und würde ich daher empfehlen.
DiscoverServices geht dann, wenn man connected hat sehr schnell. (jedenfalls bei 1 Service, 2 Chars).
Ja, ohne das messtechnisch zu wissen, habe ich auch genau das gefühl, dass es eine Timing-Sache
von den Advertice Bursts vom Modul ist.
Da es jetzt zumindest mit loops auch wenigstens prinzipiell geht, habe ich bei meinem Projekt nicht mehr so viel Stress. Da eine schnelle Verbindung bei meinem Projekt schön wäre, aber nicht wichtig.
Aber ich möchte mich auch noch später mit den Timing Settings vom RN4871 beschäftigen, vielleicht kann ich
da was einstellen. Ich glaube da ist was.
Bei hunderten von Versuchen habe ich bei Connect alles zwischen beim 1. und beim 15. mal gehabt.
Meist ist es so bei 3 ... 6. mal erledigt. Jede Runde dauert 3.5 Sekunden...
Noch eine interessante Beobachtung - wenn es mal connected war und ich disconnecte, oder
gehe so weit weg, bis es disconnected und connecte dann wieder innerhalb kurzer Zeit, vielleicht 5 Sekunden,
dann connectet es fast immer sofort. Da ist ein Unterschied.
Auch, wenn ich die App dann schnell beende und wieder starte, dann schnell connecte,
dann connectet es meist sofort.
Also irgendwas ist da noch, was das ausmacht...? Zu dem Effekt habe ich noch keine Idee.
Viele Grüße
Jürgen
|