![]() |
BluetoothLE: Verbindungspriorität
Hi,
weiß jemand wie man BluetoothLE dazu bringen kann, dass eine erfolgreiche Verbindung nicht durch ein anderes Gerät "geklaut" werden kann. Wir verbinden uns mit unserer App mit Indoor-Rad-Trainern und es kommt vor, dass ein Nutzer dieses Gerät parallel mit der Apple-Watch verbunden hat. Wenn unsere App die Verbindung hergestellt hat und dann die Apple-Watch in den Raum kommt, klaut uns die Apple-Watch die Verbindung. Wie kann man dies mit der Delphi BluetoothLE-Implementierung verhindern? Grüße, Philipp |
AW: BluetoothLE: Verbindungspriorität
Sowas muß im Device eingerichtet werden, WENN es sowas unterstützt (ich vermute mal nicht)
Schau mal in die Anleitung ... einige Geräte können ein Multi-Paring, welches was man oft irgendwie speziell starten muß, beim Paring mit dem zusätzlichen Handy/Uhr. * einmal Paring mit ein/mehreren Geräten * aber auch aktive Verbindung zu einem/mehreren Geräten Ob Geräte aber eine Verbindung tzu mehreren Handies speichern können und ob sie auch noch gleichzeitig mehrere Verbindungen aktiv haben, das liegt an ihnen ... ebenso, ob sie die Verbindung behalten (der Erste hat es) oder sie sich immer zum Neusten verbinden (der Letzte gewinnt) ... falls sie nur eine Verbindugn gleichzeitig können, liegt auch an den Rädern selbt. Falls die Räder nur 1 Device unterstützen, dann vergessen sie die Verbindung zum vorherigen Handy/Uhr. |
AW: BluetoothLE: Verbindungspriorität
Hallo Philipp,
das Problem mit der Verbindungspriorität bei BluetoothLE kann knifflig sein, besonders wenn mehrere Geräte wie deine App und eine Apple Watch um die Verbindung konkurrieren. Eine direkte Lösung über die Delphi BluetoothLE-Implementierung, um die Priorität festzulegen, gibt es (soweit ich weiß) nicht. Normalerweise muss das auf der Ebene des Bluetooth-Geräts selbst geregelt werden, also in deinem Fall beim Indoor-Rad-Trainer. |
AW: BluetoothLE: Verbindungspriorität
Also das löst nicht Dein Problem, aber ich habe für den umgekehrten Fall, das eine App sich nur mit einem Gerät verbindet,
eine Lösung als speziellen Modus in der App gebaut. Damit verweigere ich andere IoT Geräte, auch wenn ich die in der App verbinden könnte. Das ist sehr interessant für Messen, wo z.B. eine App sich nur mit dem Teil was daneben liegt verbinden soll und sonst alles andere ignorieren. Bringt Dich vielleicht auf Ideen, das auch andersrum zu nutzen. Ich gehe mal davon aus, dass Du mit "anderes Gerät" im Wesentlichen deine eigene App meinst, die anf anderen Geräten läuft. Damit hättest Du natürlich einen Einfluss darauf, wer sich mit wem verbindet und bei wem die Verbindung abgelehnt wird. Wenn andere Geräte was von der Konkurrenz sind, oder beliebige Telefone, dann wird es schwierig. |
AW: BluetoothLE: Verbindungspriorität
Anderes Gerät meint leider tatsächlich Sportuhr, Radcomputer oder die App der Konkurrenz, die noch auf einem Smartphone/Tablet/Computer des Kunden läuft. Bei Sportuhren und Radcomputern ist es meist unproblematisch, weil sich diese per ANT+ verbinden und nicht per BluetoothLE. Das ist nur dann ein Problem, wenn diese dann über ANT+ auch Steuerungsbefehle schicken.
Aber das Hauptproblem ist, dass wir eine Verbindung haben und irgendjemand uns diese klaut. Unter Windows reicht es manchmal aus, wenn der Nutzer das Gerät in den Bluetooth-Einstellungen unsinnigerweise gekoppelt hat. Dies lässt sich dann aber immer gut klären. |
AW: BluetoothLE: Verbindungspriorität
Also hast Du weder Einfluss auf das eigentliche IoT-Gerät, noch auf die Apps der Phones.
Vielleicht kann dann ein BLE-Gateway helfen, wo Du eine definierte Verbindung des Gerätes zu dem Gateway einrichtest, und nur deine App kann über das Gateway kommunizieren und ist vorab fest gepaart, mit dem eigentlichen IoT Gerät. Das könnte mit OpenMqttGateway auf einem ESP32 funktionieren und damit recht kostenoptimal sein. ![]() Also Verbindung "klauen" habe ich so noch nicht gesehen, wenn eine Verbindung einmal steht bleibt diese auch. Das könnte eben eine solche, feste Verbindung zum Gateway sein. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:55 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz