低功耗蓝牙连接(Bluetooth Low Energy connection)

2019-10-21 08:34发布

我想开发一个应用程序为Win 8.1 PC与我的BLE设备进行通信。 我读了在Win 8也没有像扫描功能的BLE所以,我读了MS一些例子,尝试简单的连接到我的设备与UUID:“A9DA45B4-34F8-C660-591D-F6918B5B988C”

所以我写一个基于MS的例子一些代码:

 var devices = await DeviceInformation.FindAllAsync(
            GattDeviceService.GetDeviceSelectorFromUuid(new Guid("A9DA45B4-34F8-C660-591D-F6918B5B988C")), new string[] { "System.Devices.ContainerId" });

 if (devices.Count > 0){
    //Do something
 }

但是这个代码总是返回我空设备列表中。 更过我仍然可以通过Android或iOS应用到我的设备连接。

谁能告诉我,如果它是连接BLE好办法吗?

Answer 1:

进入设置 - >更改电脑设置 - > - > PC和设备 - >蓝牙。

确保你的设备是可发现,然后再建立连接。

再试一次,当您完成后,如果仍然不行,请尝试使用下面的代码:

var devices = await DeviceInformation.FindAllAsync(
        GattDeviceService.GetDeviceSelectorFromUuid(GattServiceUuids.GenericAccess));

devices.Count应至少返回1。



Answer 2:

在我的情况有3两件事是错误的。

如果你打算使用BLE在Windows 8.1中,首先要确保你有

Bluetooth LE Enumerator 

在设备管理器中,如果没有去PC /笔记本电脑制造商,并重新安装驱动程序,直到你在设备管理器中找到BLE枚举!

其次,正如彼得Duniho说,配对设备,你做任何事情之前手动。 Windows没有像扫描功能,让您尝试连接之前,先配对。

而在去年,引用亚历时,Windows BLE就像是“狂野西部”。 有好几次,当我试图配对我的设备与Windows,我得到的消息“Windows无法配对您的设备,请确保它仍然发现”。 为了省略这一步提高我的设备上的每个制造商timouts(我认为,当Windows尝试配对我的设备后,响在想,什么都没有发生,因为过长的延迟,并进入睡眠模式或拒绝连接),所以你必须要有耐心。 首先,设置每个超时MAX值和关闭睡眠模式和省电模式。

我也可以证实,下面的代码工作正常:

var devices = await DeviceInformation.FindAllAsync(
        GattDeviceService.GetDeviceSelectorFromUuid(new Guid("A9DA45B4-34F8-C660-591D-F6918B5B988C")), new string[] { "System.Devices.ContainerId" });


文章来源: Bluetooth Low Energy connection