Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   [Fmx] BluetoothLEDiscoverDevices für max. 3 Service-UUIDs ? (https://www.delphipraxis.net/190690-%5Bfmx%5D-bluetoothlediscoverdevices-fuer-max-3-service-uuids.html)

Rollo62 27. Okt 2016 20:15


[Fmx] BluetoothLEDiscoverDevices für max. 3 Service-UUIDs ?
 
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 ? :shock:
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 :-D

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


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:17 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