Background/Motivation
I am currently communicating with a Onset InTemp thermometer CX402 via BLE from Windows 10 Pro. To do this I'm using the Windows.Devices.Bluetooth namespace and classes such as BluetoothLEAdvertisementWatcher and GattCharacteristic and methods such as WriteClientCharacteristicConfigurationDescriptorAsync.
It actually works pretty well except sometimes things just "freeze". It appears either the BLE drivers on Windows or perhaps the Windows BLE libraries (called "host layer" I believe?) have some sort of problem. I'm still trying to diagnose if this is computer specific (seems to work great on my Acer Predator development machine :)) or perhaps bluetooth dongle specific, or is a problem on all Windows machines. It could also be something to do with my code, although I will say when it gets in this state separate BLE programs seems to not be able to communicate with the CX402 even though separate computers can (so the CX402 is off the hook!). A reboot of the computer fixes the problem.
Questions
It has been suggested to me that Windows implementation of BLE is less than stellar and I'd be better off using the nRF52840 dongle (or another part?) to communicate with the CX402. In this way the BLE drivers (and host layer) would be on a device (the nRF52840) that has been tried and tested. Furthermore, differences in Windows machines and windows BLE drivers would be irrelevant. Questions:
1. Does this make sense? Sound plausible? Do you need more details?
2. How do I get started? Are there libraries for Windows to communicate with the nRF52840 and handle things like advertisements, characteristics, connecting and authenticating, etc.? I'm just now getting into this and most of the stuff I see seems to revolve around making my own BLE device (such as a thermometer, or heart rate monitor) with the nRF52840. I currently have no interest in this. I'm just looking to have more robust communications with an existing device (the CX402).
Can somebody help me get started? Beside a background (self taught and recent) using the Windows BLE implementation, I used Nordic ANT+ devices eons ago.
Thanks you!
Andrew