Einzelnen Beitrag anzeigen

mensch72

Registriert seit: 6. Feb 2008
838 Beiträge
 
#11

AW: Bluetooth Low Energy Delphi 6

  Alt 27. Mai 2016, 17:52
BLE als solches für einfachen 1:1 binär Datenstream als "BT-SPP" gibt es ja nicht... In BT4-BLE wird per das zu 99% per GATT-Profile mit Standard- und/oder Private-Services samt entsprechenden Standard und/oder Private-Charakteristics gemacht.

- Ab Delphi XE8.1 funktioniert der BLE Zugriff zumindest unter Android4.4.2+ & IOS8+ sowie +OSx10.9+ OutOfTheBox problemlos.
- Ab Win8.1 funktioniert auch die meiste in aktuellen Notebooks verbaute BT4/BLE Hardware, wenn man unter Windows das BLE-Gerät scannt und "verbindet"
- XE7..bis einschließlich DX10u1 Seattle implemetieren OutOfTheBox das "DiscoverDevices" unter Windows8+ schlicht garnicht, scannen also nicht und liefern nur die vorher schon systemweit fest verbundenen BLE/BT Geräte... für quasi fixe&bekannte 1:n Verbindungen ist das mit etwas Setup-Aufwand OK, aber für Anwendungen, wo man ständig neue/aktuelle BLE-Geräte in der Umgebung scannen und dann live automatisch connecten will, war&ist das so bisher unter Windows8+ mit Delphi unbrauchbar... nicht umsonst sind die DemoVideos für BLE von Emba immer auf einem MAC unter OSx bzw als MobileDevice/OS
- DX10.1 Berlin soll da was verbessert haben, aber ich hatte noch keine Zeit es unter Windows zu probieren, ob der Scan("DiscoverDevices") nun unter Delphi in Windows funtioniert... Ein BLE Scan Demo liefert Emba ja mit

-> wenn es mit Delphi6 gehen soll, würde ich eine per USB angeschlossene Hardware als "BLE-Dongle" empfehlen, welche nur einen virtuellen ComPort samt ASCII-CMD-API zur Verfügung stellt.
=> http://www.buyrfid.co.uk/store/index...product_id=107

Zufällig ist es Teil meines Alltagsgeschäfts, BLE für beliebige 8Bit Microcontroler basierte Baugruppen&Geräte zu implementieren

MicroChip bietet da mit dem RN4020 Modul eine Lösung, welche simpel seriell angesprochen wird, und vergleichbar früheren "AT-Commands" konfiguriert wird und dann wenn es sein muss sogar zur transparanten 1:1 Datenübertragung(MLDP als "SPP-Emulation") genutzt werden könnte... ich habe mich aber für einen PrivateService entschieden und übertrage mit 2 private Charateristics blockweise je bis zu 20Bytes 1:1 bidrektional eventbasiert("mit Notification")... das reicht für unsere Anwendúng und ist 100% kompatibel mit Android, IOS und OSX, nur für Windows verwenden wir bisher der Einfachheit halber so einen simplen sereiellen USB-Stick, welcher das gleiche Modul drin hat. Das funktioniert mit jedem Delphi, bei uns real genutzt ab D2007.

Man beachte, das 97% der billigen oder festverbauten BT(4)/BLE (USB-)Dongles nur HCI können, und quasi alles vom BT/BLE-Stack/Treiber unter/für WindowsAPI realisiert ist.
Seriell frei programmierbare BLE-Hardware (GATT-Profile, private Services, private Charateristics, Notifications) als USB-Dongle gibt es nur ganz wenige!
  Mit Zitat antworten Zitat