Best Practice für den Umgang mit verschiedenen Bluetooth-Stacks unter Windows?

0

Wie ich herausgefunden habe, gibt es unter Windows mehrere Bluetooth-Stacks, die (waren?) Durchaus üblich sind.

Anscheinend - und bitte korrigieren Sie mich, wenn ich mich irre - gibt es keine standardisierte Methode zum Suchen, Koppeln und Verbinden mit einem Gerät: Das Verfahren ist für jeden derzeit aktiven Bluetooth-Stack unterschiedlich. Wenn beispielsweise BlueSoleil zuvor installiert wurde, kann der Benutzer über die Standardsteuerelemente (Systemsteuerung => Geräte und Drucker => Gerät hinzufügen) kein Bluetooth-Gerät hinzufügen. Der Benutzer muss sich für die BlueSoleil-Oberfläche entscheiden. Ebenso kann ich über die Bluetooth-API von Microsoft keine Verbindung zu einem Gerät herstellen, wenn BlueSoleil aktiv ist.

Diese Tatsache ist für mich ziemlich überraschend, da sich die Schritte zum Verbinden eines Bluetooth-Geräts mit dem tatsächlichen Bluetooth-Stack ändern. (Wie schreibe ich eine einfache Bedienungsanleitung?)

Kontext: Mein Ziel ist es, die vollständige Verbindung (über SPP) zu unserem Bluetooth-Gerät vor dem Benutzer zu verbergen: Gerät suchen, Pairing, serielle Verbindung. Ich möchte jedoch vermeiden, mich mit den verschiedenen Stacks zu beschäftigen, die es gibt. Was ist die beste Vorgehensweise für den Umgang mit verschiedenen Bluetooth-Stacks unter Win?

Ich habe externe Projekte gefunden, die dies vereinfachen sollen, aber ich habe keine Ahnung, ob sie hinsichtlich der Kompatibilität robust sind. Ist da mehr?

Hilfe wird sehr geschätzt!

normanius
quelle
Ich habe gerade zwei nützliche Hilfsprogramme gefunden, die beim Verwalten von Bluetooth-Stacks helfen: bluetoothinstaller.com bluetoothstackswitcher.com Aber ich bin auf der Suche nach etwas, das ich in meine eigene Software einbetten kann.
Normanius

Antworten:

1

Die Art und Weise, wie Bluetooth-Geräte nach anderen Geräten suchen, diese koppeln und mit ihnen verbinden, ist DEFINITIV standardisiert. Sie wird als "Bluetooth" bezeichnet.

Was Sie sehen, sind verschiedene Bluetooth-Implementierungen / Treiber mit unterschiedlichen Benutzeroberflächen.

Benutzeroberflächen werden niemals vollständig standardisiert sein, da das Kopieren der Benutzeroberfläche eines Mitbewerbers Symbol für Symbol, Klick für Klick, eine gute Möglichkeit ist, wegen Verstößen angeklagt zu werden. Der in Windows verwendete Bluetooth-Stack wird vom Benutzer (beim Kauf der Hardware) ausgewählt, sodass es auch Sache des Benutzers ist, herauszufinden, wie er das ausgewählte Gerät verwenden soll.

Windows bietet seine Bluetooth-API in den neueren Windows-Versionen an, um die Standardisierung der Dinge zu unterstützen, die auf das zurückzuführen sind, worauf Sie gerade stoßen.

Aber es ist noch ziemlich neu und die vorhandenen BT-Hersteller haben ihre Software bereits geschrieben, sodass sie es wahrscheinlich nicht eilig haben, alles auf die neue "Standard" -Bluetooth-API von MS umzuschreiben. Darüber hinaus bietet die BT-API von MS möglicherweise (noch) nicht die Optionen, die ein BT-Hersteller benötigt / möchte, sodass er noch nicht bereit ist, umzuschalten.

ƬᴇcƬᴇιʜ007
quelle
Vielen Dank. Mir ist klar, dass Bluetooth als solches ein Standard ist und dass sich nur die Stack-APIs unterscheiden (mein Wortlaut war vielleicht nicht sehr präzise). Mein Ziel ist es, den Workflow (Pairing, Connection) in einer App mit einem bestimmten Gerät zu automatisieren, aber ich möchte nicht mit allen verschiedenen Stacks umgehen, und ich möchte auch nicht die Workflows anderer Geräte unterbrechen (durch Installation meines bevorzugten Stacks zusammen mit der Software). Stichwort: Benutzerfreundlichkeit. Ich habe Bibliotheken (32 Fuß, WCL) gefunden, die einige gängige Stapel umschließen. Aber ich habe mich gefragt, ob es andere Möglichkeiten gibt, Stapel zu verwalten. Aus deiner Antwort schließe ich, dass es keine gibt?
Normanius