Windows 10 上带有本机代码的低功耗蓝牙
Bluetooth Low Energy with native code on Windows 10
我有一个针对 Window 7 及更高版本的本机 win32 应用程序。最近,我被要求添加低功耗蓝牙支持,但仅限于 Windows 10.
我需要的 BLE-GATT 功能是:
- 检测设备connection/disconnection(即在任一发生时获取事件或回调)
- 在设备上写一些特性
- 从设备获取通知(再次通过事件或回调)
在 Windows 10 上实现此目标的最佳方法是什么?
到目前为止我调查过:
- Windows Drivers Kit (WDK) - the sample code 有效,但我找不到任何方法来检测设备 connection/disconnection。
- Universal Windows Platform (UWP) - 有一个圆滑的 API,但我找不到如何与本机 win32 集成(只能通过 COM)。
您可以使用蓝牙无线电通知在设备连接/断开连接时收到通知。请参阅 https://msdn.microsoft.com/en-us/library/windows/desktop/aa362912(v=vs.85).aspx 处的 GUID_BLUETOOTH_RADIO_IN_RANGE 并查看 BDIF_CONNECTED 字段。
它不是专门的 UWP 库。只是 Google 如何在 C++ 中使用 WinRT API。
我有一个针对 Window 7 及更高版本的本机 win32 应用程序。最近,我被要求添加低功耗蓝牙支持,但仅限于 Windows 10.
我需要的 BLE-GATT 功能是:
- 检测设备connection/disconnection(即在任一发生时获取事件或回调)
- 在设备上写一些特性
- 从设备获取通知(再次通过事件或回调)
在 Windows 10 上实现此目标的最佳方法是什么?
到目前为止我调查过:
- Windows Drivers Kit (WDK) - the sample code 有效,但我找不到任何方法来检测设备 connection/disconnection。
- Universal Windows Platform (UWP) - 有一个圆滑的 API,但我找不到如何与本机 win32 集成(只能通过 COM)。
您可以使用蓝牙无线电通知在设备连接/断开连接时收到通知。请参阅 https://msdn.microsoft.com/en-us/library/windows/desktop/aa362912(v=vs.85).aspx 处的 GUID_BLUETOOTH_RADIO_IN_RANGE 并查看 BDIF_CONNECTED 字段。
它不是专门的 UWP 库。只是 Google 如何在 C++ 中使用 WinRT API。