在UWP程序中,客户端连接蓝牙(Ti bluetooth 4.0)设备故障

时间:2016-10-19 09:14:10

标签: c# bluetooth uwp

在Microsoft网站上下载蓝牙通信演示, 搜索到蓝牙设备可以成功,但连接设备故障。 (图1和图2)

在图1中,蓝牙设备已搜索出来,然后我跳过第2步,直接跳到第3步,后面将失败。(图2)

然后我找到了BluetoothLEDevice的方法。 FromIdAsync始终返回null。 此外,Microsoft的API文档官方网站没有说明返回值为空的原因。(图3)

在这种情况下地址:

https://github.com/Microsoft/Windows-universal-samples

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

温馨提示:(调试环境的情况)

系统:win10 10.0.14393

IDE:vs2015

蓝牙设备:接口4.0(德州仪器)

系统设置:适用于开发人员的win10设置调整模型

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

我总结了可能的原因:

①蓝牙没有与PC配对,所以设备找不到蓝牙服务,我打开设备管理器,发现设备没有找到服务(图4),但在做安卓蓝牙开发之前没有配对。

enter image description here (图4)

②微软蓝牙通信API有一个Bug

在互联网上搜索三个类似的帖子:

发布1:BluetoothLEDevice.FromIdAsync returning null

(因为声誉不够,所以只有一个链接)

补充:

在这种情况下,我跳过直接负责设备连接的第2步,因为我不知道PIN。然后我想找一个PIN bycrack, 但是这一步骤封装在Microsoft的API中,不能作为辅助操作。

蓝牙4.0大部分是自动匹配功能,因此Android手机可以直接连接,不需要配对。  所以我猜微软不是这种方法不支持自动匹配功能。

(最后,由于我的照片声望无法上传。)

1 个答案:

答案 0 :(得分:0)

official explanation为基础,你

必须通过“设置”页面或使用Windows.Devices.Enumeration API进行配对,才能访问这些设备。

  

在这种情况下,我跳过第2对直接负责   设备连接,因为我不知道PIN。然后我想找到   PIN bycrack

你试过" 0000"对于PIN?

<强>更新: 或者,您可以尝试使用DeviceInformation.Pairing.Custom并将其对类型设置为ConfirmOnly并且不加密。 注意this will only work if the remote device does not require encryption or authentication to function。您可以参考官方样本DeviceEnumerationAndPairing的Scenario9_CustomPairDevice。它看起来像这样:

enter image description here