简体   繁体   English

为什么在Windows(和Windows RT)8和8.1中未发现在外设模式下运行BLE GATT服务的iOS设备

[英]Why iOS devices running BLE GATT Service in peripheral mode are not discovered in Windows (and Windows RT) 8 & 8.1

I have used the Heart Rate Monitor sample application C# and modified it to look for my custom profile that the iPhone is advertising. 我使用了Heart Rate Monitor示例应用程序C#并对其进行了修改,以查找iPhone正在宣传的自定义配置文件。 I double checked if the iPhone Peripheral is working using a Mac configured as central and android device also as central. 我仔细检查了iPhone外围设备是否正在使用配置为中央设备的Mac和Android设备作为中心。 The android device is not connecting to it because of an issue in andoid api but it can see the service. 由于andoid api中的问题,Android设备没有连接到它,但它可以看到该服务。

I paired successfully the two devices (iOS and Windows, iOS and WindowsRT) and they are connected. 我成功配对了两个设备(iOS和Windows,iOS和WindowsRT)并且它们已连接。 I also restarted the Bluetooth on the both devices and reconnected them multiple times before debugging. 我还重新启动了两台设备上的蓝牙,并在调试之前重新连接了多次。

The windows 8 Heart Rate Monitor sample and the windows 8.1 Heart Rate Monitor sample doesn't discover the iPhone device service with the given uuid. Windows 8心率监测器样本和Windows 8.1心率监测器样本未发现给定uuid的iPhone设备服务。 I also tried to leave the UUID to the default one and mimic the Heart rate peripheral using iOS but with same outcome. 我还尝试将UUID保留为默认值,并使用iOS模拟心率外设,但结果相同。

I even tried to connect to every BLENUM device that findAllAsync() discovers and none of them provide the configured custom service. 我甚至尝试连接到findAllAsync()发现的每个BLENUM设备,但没有一个提供配置的自定义服务。

Multiple solution proposals are welcome, the support for Windows BLE is next to nothing. 欢迎多个解决方案提案,对Windows BLE的支持几乎为零。

After working on BLE for a while i found out this: 在研究BLE一段时间后,我发现了这个:

Keep the advertised data shorter than 26bytes (36 including the name), otherwise it will not show in the findAllAsync() result. 保持广告数据短于26bytes(36包括名称),否则它将不会显示在findAllAsync()结果中。

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

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