As I found out, there exist several Bluetooth stacks on Windows that are (were?) quite common.
- Microsoft
- BlueSoleil
- Toshiba
- WIDCOMM/Broadcomm
Apparently - and please correct me if I'm wrong - there's no standardized way to search, pair and connect with a device: the procedure is different for every Bluetooth stack that is currently active. For example, if BlueSoleil was installed beforehand, the user won't be able to add a Bluetooth device via the standard controls (Control Panel => Devices and Printers => Add a device). The user has to go with the BlueSoleil interface. Similarly, I won't be able to connect to a device over Microsoft's Bluetooth API if BlueSoleil is active.
This fact is quite surprising to me, because this means that the steps to connect a Bluetooth device change with the actual Bluetooth stack. (How to write a simple user manual?)
Context: My goal is to hide the complete connection (via SPP) to our Bluetooth device from the user: Search device, pairing, serial connection. However, I want to avoid bothering with the different stacks that exist out there. What is best practice to deal with different Bluetooth stacks on Win?
I found external projects that aim at simplifying this, but I have no idea if they are robust in terms of compatibility. Is there more?
- 32feet.NET (free, with focus on PAN)
- Wireless Communication Library (proprietary)
Help's much appreciated!