连接到没有服务的BLE外设

时间:2015-12-02 04:09:03

标签: android bluetooth-lowenergy

我目前正在使用我无法控制的MicroChip BLE module。似乎这个设备背后的工程师设置了一个广告特性的外围设备,但没有服务(这是否可能?)

我的问题是:在没有首先尝试发现他们所属的GATT服务的情况下,是否有任何通用的方法来访问/修改这些特征?我知道这些特征是因为iOS应用程序我一直存在可以识别它们:enter image description here

但是当我“询问”外围设备时,我看到了很多信息, 包括这些特征:

enter image description here

最后,我尝试在Nexus 5上使用一些Google Store BLE扫描仪以及BluetoothLeGatt示例,并且所有这些都可以正确识别此外设是否存在。但是,在示例中包含以下代码:

json.stringify

生成以下监视器输出:

[WebMethod]
public static int GetData(object ID)
{
    string a = ID.ToString(); // Getting:`System.Object[]` instead of my id `11`
}

console.log(Params)//FILE_ID[0]=11
 console.log(Params['FILE_ID']);//11
 $.ajax({
    data: JSON.stringify({ FileID: Params['FILE_ID'] }),
 });

并且设备永远不会连接到。如果我可以在没有服务的情况下访问特性,我相信我可以让我的代码运行。

1 个答案:

答案 0 :(得分:1)

设备广告的服务与设备提供的服务之间可能存在差异。在第一个屏幕上,您看到设备没有广告任何服务。在第二个屏幕上,您看到设备提供的服务,这是具有UUID 49535343 -... E455的服务,只有在启动与外围设备的连接后才能看到中心。在下面,您可以看到此服务具有的特征。

我发现this似乎证实该服务是" 49535343-FE7D-4AE5-8FA9-9FAFD205E455"

不幸的是,它似乎没有宣传服务,因为这意味着您需要连接到设备并询问其可用服务,以查看它是否是您感兴趣的设备;几乎没有效率。

不幸的是,我对Android上的BLE一无所知,所以我无法帮助解决问题的第二部分,但搜索似乎表明状态= 133是一种通用的&#34 ;关贸总协定出现问题"错误,但也许是this