AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung [Fmx] BluetoothLEDiscoverDevices für max. 3 Service-UUIDs ?

[Fmx] BluetoothLEDiscoverDevices für max. 3 Service-UUIDs ?

Ein Thema von Rollo62 · begonnen am 27. Okt 2016
Antwort Antwort
Rollo62

Registriert seit: 15. Mär 2007
3.896 Beiträge
 
Delphi 12 Athens
 
#1

[Fmx] BluetoothLEDiscoverDevices für max. 3 Service-UUIDs ?

  Alt 27. Okt 2016, 20:15
Hallo zusammen,

[Fmx, RadStudio 10.1 Berlin, Upd1]

hat schonmal jemand mit einem Array von Service-UUIDs nach Bluetooth LE Devices gefiltert ?

Bisher nur unter OSX-MacBook getestet:
- Alle Geräte lassen sich verbinden wenn ich den Filter rausnehme,
aber mit Filter scheint es nur bis zu 3 Geräte IDs zu funktionieren.
- Bei 4 findert er gar kein Gerät mehr

Delphi-Quellcode:
     
const
  CSvc1 : TBluetoothUUID = '{0000FF12-0000-1000-8000-00805F9B34FB}'; // 1. Ble-Gerät Messgerät A
  CSvc2 : TBluetoothUUID = '{0000FFB0-0000-1000-8000-00805F9B34FB}'; // 2. Ble-Gerät Messgerät B
  CSvc3 : TBluetoothUUID = '{00001000-0000-1000-8000-00805F9B34FB}'; // 3. Ble-Gerät Messgerät C
  CSvc4 : TBluetoothUUID = '{0000FFF0-0000-1000-8000-00805F9B34FB}'; // 4. Ble-Gerät Messgerät D

 FBluetoothLE.DiscoverDevices(FDiscoverTime,
                                   [
                                       CSvc1
                                     , CSvc2
                                     , CSvc3 // Bis hierhin ist es noch OK
// , CSvc4 // Dies geht nicht mehr
                                   ]
                                  );
Immerhin komme ich damit bis zu 3 verschiedenen IDs, und was wenn ich mehr brauche ?
Mit dem BluetoothLEScanFilter funktioniert es übrigens auch, diese Suchfilter habe ich gecheckt.

Hat das schonmal jemand gehabt, kann es sein das OSX/iOS da nur eine maximale Listengröße verarbeiten können ?

Ich werde das mal noch auf iOS und Android testen.

Edit:
OSX:
Ich habe nochmal schnell versucht die Reihenfolge zu verwürfeln, und auszutauschen.
Es bleibt dabei, bis zu 3 gehts, bei 4 lässt sich gar keiner mehr finden.
Alle Geräte lassen sich verbinden wenn ich nur 3 IDs drin habe, und die IDs mal tausche.

Es gibt auch keine weiteren BLE Geräte in der Umgebung, gecheckt mit einer Reihe anderer Scanner.


Edit2:
iOS:
Hab den gleichen Code einfach mal schnell auf iOS laufen lassn, siehe da:
- alle vier Geräte werden gefiltert und können verbunden werden

Fehlt noch ein Check auf Android.

Könnte es sein das dies nur ein OSX-Problem ist (teste das unter MacBook Pro, Generation 2013).
Ich habe noch nicht auf Xcode 8 und iOS 10 upgedated, das könnte auch noch so eine Sache sein ...


Rollo

Geändert von Rollo62 (27. Okt 2016 um 20:43 Uhr)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:14 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz