AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung Bluetooth-Verbindung in FMX mit Leica Disto X3/X4 Lasermesser in FMX
Thema durchsuchen
Ansicht
Themen-Optionen

Bluetooth-Verbindung in FMX mit Leica Disto X3/X4 Lasermesser in FMX

Ein Thema von AuronTLG · begonnen am 25. Jul 2018 · letzter Beitrag vom 1. Nov 2018
Antwort Antwort
Seite 1 von 2  1 2      
AuronTLG

Registriert seit: 2. Mai 2018
Ort: Marburg
291 Beiträge
 
Delphi 12 Athens
 
#1

Bluetooth-Verbindung in FMX mit Leica Disto X3/X4 Lasermesser in FMX

  Alt 25. Jul 2018, 17:47
Hallo,

vermutlich ist das eine zu spezielle Angelegenheit, aber ich habe erhebliche Probleme dabei,
den Leika Disto X3 Lasermesser auf FMX zum Laufen zu bringen, da das Teil mit einer neuen SDK versehen wurde und anscheinend nicht mehr so funktioniert wie die älteren Modelle dies taten.

Ältere Laser konnte man praktisch genau so einbinden, wie Embarcadero es sich gedacht hat, d.h. mit TBluetoothLE, Servicen, SubScribeToCharacteristic etc.
Auf diesem Weg bekomme ich es aber beim besten Willen nicht zum laufen.

Es besteht für mich natürlich die Möglichkeit, die zugehörige Java-Library einzubinden und das Ganze damit umzusetzen, doch das würde ich wenn möglich umgehend, da es extremst umständlich wäre.

Die Chancen sind wohl gering, aber vielleicht hat ja jemand hier auch mit dem Teil zu tun gehabt. Wäre super.
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.116 Beiträge
 
Delphi 12 Athens
 
#2

AW: Bluetooth-Verbindung in FMX mit Leica Disto X3/X4 Lasermesser in FMX

  Alt 26. Jul 2018, 10:29
Kann es sein das die BLE-Encryption benutzen ?

Zum Glück habe ich damit noch nichts zu tun gehabt, es bahnt sich aber mehr und mehr an.

Rollo
  Mit Zitat antworten Zitat
knaeuel

Registriert seit: 2. Jul 2007
110 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Bluetooth-Verbindung in FMX mit Leica Disto X3/X4 Lasermesser in FMX

  Alt 26. Jul 2018, 12:05
das wäre auch meine Befürchtung gewesen. Ich kenne das in recht harmloser For vom Mi Band 2. Dort werden bei Verbindungsaufnahme 16 Bytes vom Band zum handy übertragen, die es dann AES-verschlüsselt zurückbekommen möchte. Passt die Antwort, kann die "normale" unverschlüsselte Kommunikation beginnen (Dienste einlesen, Abos eintragen, etc.)
Wolfgang
  Mit Zitat antworten Zitat
AuronTLG

Registriert seit: 2. Mai 2018
Ort: Marburg
291 Beiträge
 
Delphi 12 Athens
 
#4

AW: Bluetooth-Verbindung in FMX mit Leica Disto X3/X4 Lasermesser in FMX

  Alt 26. Jul 2018, 12:43
So, habe mir eine kleine Mini-App gebaut, mit der ich experimentieren konnte...

Die Sache sieht im Prinzip so aus.

Ich kriege den Laser mithilfe von TBluetoothLE angesteuert, ich kann mir die Services anzeigen lassen, und zu den Services die Characteristics mit entsprechenden UUIDs.
Ich kann sogar wie gehabt SubscribeToCharacteristic mit Erfolg ausführen.

Für die Characteristics habe ich dann zwar die UUIDs, aber keinerlei Beschreibungen oder Namen, die sind nämlich leer.

Und hier liegt das Problem. Bei den vorherigen Leica-Modellen gab es eine bestimmte UUID, mit der man das Distanzmessungs-Characteristic ansteuern und subscriben konnte.
Diese UUID gibt es aber im X3 nicht mehr, und es sind keinerlei Informationen zu finden, welche UUID nun die Distanzmessung ansteuert oder ob es überhaupt noch so funktioniert.

Ich habe mithilfe der MiniApp sämtliche angezeigten Characteristic-UUIDS durchprobiert, ohne Erfolg. Sobald der Laser versucht, etwas zu senden, zeigt er den Fehler für fehlende Bluetoothverbindung an, obwohl er selbst vorher signalisiert hat, dass eine Verbindung hergestellt wurde.
  Mit Zitat antworten Zitat
knaeuel

Registriert seit: 2. Jul 2007
110 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: Bluetooth-Verbindung in FMX mit Leica Disto X3/X4 Lasermesser in FMX

  Alt 26. Jul 2018, 13:21
hast du schonmal die Bluetooth-Daten mitschreiben lassen? Das kann eigentlich fast jedes Android-Handy. Es sollte in den Entwckleroptionen zu finden sein und in etwa "Bluetooth HCI Überwachungsprotokoll" oder so heißen. Einfach mal aktivieren und dann die Hersteller-App laufen lassen.

Dann kannst du hinterher die Datei (bei mir heißt die in etwa so "btsnoop_hci.log") einfach auf einen Windows-PC kopieren und dort mit Wireshark öffnen. Ich warne dich schonmal vor: es ist ein riesengewimmel in dem log, aber mit etwas geduld findest du bestimmt einiges heraus.
Wolfgang
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.116 Beiträge
 
Delphi 12 Athens
 
#6

AW: Bluetooth-Verbindung in FMX mit Leica Disto X3/X4 Lasermesser in FMX

  Alt 26. Jul 2018, 21:04
Versuch einfach mal die Notifications nacheinander zu Subscribe, und sehen auf welchem Kanal was passiert.
Für den Erstkontakt nehme ich meist BLE Tools, habe im Moment die Liste aber nicht hier. So was wie lightblue für iOS.

Edit:
Der BleScanner ist z.B. ganz übersichtlich.
Damit kan man Notifications subscriben, und die werden dann als HEX gezeigt.

Es geht aber auch sehr gut mit dem BleScanner Projekt in den Delphi Demos, das ist aber
leider eher ein Proof-of-concept.

Rollo

Geändert von Rollo62 (27. Jul 2018 um 07:27 Uhr)
  Mit Zitat antworten Zitat
AuronTLG

Registriert seit: 2. Mai 2018
Ort: Marburg
291 Beiträge
 
Delphi 12 Athens
 
#7

AW: Bluetooth-Verbindung in FMX mit Leica Disto X3/X4 Lasermesser in FMX

  Alt 3. Aug 2018, 14:54
So, ich habs gelöst, nach jeder Menge Herumwühlen in den BluetoothLogs (danke für den Tipp) und im Code der Leica-Beispiel-App, von daher ist das hier nur ein kleiner Nachtrag für etwaige Leute, die auf dasselbe Problem stoßen und hier danach suchen könnten:

Die Leica-Generation, zu der der X3 gehört, verwendet im Prinzip einfach nur andere Characteristics. Der Service ist derselbe, nämlich immer noch der mit der UUID '{3AB10100-F831-4395-B29D-570977D5BF94}'.

Der Trick besteht darin, dass man sich anscheinend mit sämtlichen Characteristics, die dieser Service zur Verfügung stellt, verbindet (SubscribeToCharacteristic), was mit allen außer ~ 2 möglich ist.

Hat man das getan, so empfängt man, sobald man mit dem Laser misst, über die "BASIC_MEASUREMENT"-Characteristic mit der UUID '{3AB1010D-F831-4395-B29D-570977D5BF94}' ein Byte-Array, welches den Messwert enthält, den man sich auslesen kann, indem man die ersten 4 Werte des Arrays in umgekehrter Reihenfolge (Little Endian) in eine Float umwandelt.
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.116 Beiträge
 
Delphi 12 Athens
 
#8

AW: Bluetooth-Verbindung in FMX mit Leica Disto X3/X4 Lasermesser in FMX

  Alt 3. Aug 2018, 20:01
Dankesehr für die Info.

Ich habe jetzt mit Leica nicht besonders ausprobiert, nur mal mit einen BleTool reigeschaut.
Ich weiss aber das die ein SDK für ihre Produkte anbieten.
Hast du dir das vielleicht schonmal besorgt ?

Womöglich stehen da noch weitere Geheimnisse drin, in die Richtung was man sonst noch so mit dem Teil machen kann, soweit Leica das im SDK bekannt gemacht hat.

Rollo
  Mit Zitat antworten Zitat
AuronTLG

Registriert seit: 2. Mai 2018
Ort: Marburg
291 Beiträge
 
Delphi 12 Athens
 
#9

AW: Bluetooth-Verbindung in FMX mit Leica Disto X3/X4 Lasermesser in FMX

  Alt 6. Aug 2018, 09:57
Ja, für Android (Java) und IOS. Die habe ich, und eben genau beim Durchsuchen der API habe ich ja auch rausgefunden, dass die Messwerte über eben genau jene UUID empfangen werden.

Es ist aber z.B. auch möglich, dem Laser Befehle zu übermitteln, indem man der Characteristic mit der UUID '{3AB10120-F831-4395-B29D-570977D5BF94}' per WriteCharacteristic bestimmte Werte übermittelt.
Z.B. Messungen über das Handy zu starten, bestimmte Informationen abrufen, etc.

Das einzige Problem, was ich jetzt noch habe, ist, dass das Laser, zumindest mit den Smartphones, die ich hier habe, nach einer kurzen Weile einfach die Verbindung abbricht. Das Problem scheinen die offiziellen Apps aber auch zu haben, weswegen ich davon ausgehe, dass es an den Smartphones oder am Laser liegt.
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.116 Beiträge
 
Delphi 12 Athens
 
#10

AW: Bluetooth-Verbindung in FMX mit Leica Disto X3/X4 Lasermesser in FMX

  Alt 6. Aug 2018, 13:44
Normalerweise haben diese Geräte ein AutoShut-Off, um Batteriepower zu sparen.
Entweder gibt es dafür einen Befehl, oder du könntest versuchen regelmäßig etwas abzurufen, z.B. Modus, etc.

Rollo
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 21:33 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