AW: Android - BlueTooth LE Advertise Broadcast Bytes empfangen
7. Apr 2017, 15:13
Hallo,
bekomme DiscoverServices nicht vernünftig zum Laufen.
Habe mein Board nun endlich wieder bereit. Mit RN4871 allerdings.
Und habe nun auch selbst geschafft diesen mit
1. Alternate Beacon (einige Bytes payload im Major/Minor part) oder
2. Private Service mit Characteristic read/write u. 128bit UUID aufzusetzen.
(der beacon läuft dann bei mir nicht gleichzeitig).
3. Device Info Service aufsetzen.
Und mache jetzt mit Tokyo rum.
Beacon kann ich mit Delphi Android app auch empfangen u. auswerten.
Den private Service kann ich mit einem zweiten RN4871 problemlos
connecten u. bonden und Daten bidirectional austauschen. Auch mit notification.
Leider - mit der Delphi App (Android 6.0.1) klappt das speziell das Listen der Services nur gelegentlich.
Und zwar habe ich eine BluetoothLE compo.
Starte DiscoverDevices. Alle meine RN4871 werden immer aufgelistet.
Mit einem Device starte ich dann DiscoverServices.
Und das klappt nur ca. jedes 10. mal dass die Services aufgezeigt werden.
Meist wird keiner gefunden. (Wenn doch, dann bekomme ich auch alle Characteristics problemlos aufgelistet).
Komisch auch, wenn ich DiscoverServices gleich nochmal starte, dann kommt
OnDiscoverServicesEnd sehr schnell/sofort. Scheint garnicht nochmal zu suchen.
Nimmt wohl was aus nem cache?
Klappt das Auflisten der Services bei Euch mit dem RN4020 oder 4871?
Was müsste ich ggf. beachten?
Wann muss ich eigentlich connecten?
Sollte ich schon bevor DiscoverServices, vielleicht? Oder erst wenn ich die Chars lesen will?
Viele Grüße, Jürgen
|