蓝牙抽象设备 ping

Posted

技术标签:

【中文标题】蓝牙抽象设备 ping【英文标题】:Bluetooth abstract device ping 【发布时间】:2016-08-12 07:55:35 【问题描述】:

我必须知道 RSSI,或者至少知道设备集范围内的那个设备。有些设备默认不可见(耳机等)所以我已经可以中继所有已经配对的设备,并且我有它们的 MAC。据我了解,只有 2 种基本连接类型。所有其他配置文件都基于女巫。那么是否有任何通用“密钥”可以连接到每种设备类型?我尝试获取每个设备的所有 UUID,然后尝试使用 RFCOM 依次使用每个 uid 进行连接。如果至少有一个连接未触发超时异常,我希望设备在线。也许有更抽象和简单的方法?我能否依靠该设备支持并将使用 SDP 返回 uuid。 BLE 设备是否支持 RFCOM 连接?

【问题讨论】:

不清楚您的问题。但是 BLE 不支持 RFCOMM。 我的问题是如何检查“配对设备是否在范围内” 【参考方案1】:

明白了,那么对于BR/EDR,如果你已经知道它们的地址,你可以使用getRemoteName来判断它们是否在范围内,这个命令将建立临时ACL,然后在获取名称后立即断开连接.如果错误代码是页面超时,那么我们假设它超出了范围,但如果我们可以得到名称,那么它们在范围内。您实际上并没有检查他们的 SDP。但是对于BLE,如果它们不是广告,您可能找不到它们。

【讨论】:

什么类有这个方法?能给我一个文档链接吗? 看起来像是发现它是一个隐藏的 API 如果您使用的是 android似乎是的。如果您使用的是android,您可以尝试直接连接SPP(或者说RFCOMM通道) 刚刚使用反射调用了getRemoteName,它看起来像返回缓存值,以防它在设备离线时工作 对于 SPP,每个设备上存在哪个 UUID?

以上是关于蓝牙抽象设备 ping的主要内容,如果未能解决你的问题,请参考以下文章

手机搜索不到蓝牙设备?

为啥蓝牙搜索不到设备 ?

我的手机找不到蓝牙设备怎么办

为啥蓝牙搜索不到任何设备

蓝牙BLE如何连接连接多台设备

win10蓝牙设备无法删除是啥原因