繁体   English   中英

低功耗蓝牙连接

[英]Bluetooth Low Energy connection

我正在尝试为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的好方法吗?

转到设置->更改PC设置->-> PC和设备->蓝牙。

确保可以发现您的设备,然后建立连接。

完成后再试一次,如果仍然不起作用,请尝试以下代码:

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

devices.Count应该至少返回1。

就我而言,有3处错误。

如果您打算在Windows 8.1上使用BLE,请首先确保您已经

Bluetooth LE Enumerator 

在设备管理器中,如果不能访问PC /笔记本电脑制造商,请重新安装驱动程序,直到在设备管理器中找到BLE枚举器为止!

第二,正如Peter Duniho所说,在执行其他任何操作之前,先手动配对设备。 Windows没有扫描功能,因此在尝试连接之前,请先将其配对。

最后,引用亚历山大(Alexandru),Windows BLE就像“狂野的西部”。 几次尝试将设备与Windows配对时,我收到消息“ Windows无法与您的设备配对,请确保仍可发现该设备”。 为了省略此步骤,我增加了设备上每个制造商的时间(我想当Windows在响后尝试配对我的设备时,由于延迟太长而没有任何反应,因此进入睡眠模式或拒绝连接),因此您必须耐心等待。 首先,将每个超时设置为MAX值,然后关闭睡眠模式和节能模式。

我也可以确认以下代码可以正常工作:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM