Ios 蓝牙LE连接仅持续10秒

Ios 蓝牙LE连接仅持续10秒,ios,bluetooth-lowenergy,bluez,Ios,Bluetooth Lowenergy,Bluez,我想知道是否有其他人在ble连接仅持续10秒时遇到问题。我正在尝试将运行ubuntu的mac作为中央设备连接到运行iPhone应用程序作为外围设备。我已验证该应用程序可与lightblue连接。我使用hcitool lescan获取MAC地址,然后使用gatttool-b-I-t random,这会给我[][MAC地址]>提示,然后我键入connect,这会给我[CON][MAC地址]>整整10秒钟,然后再恢复到[][MAC地址]>。我确实运行了hcidump,下面是输出: HCI嗅探器-蓝牙数

我想知道是否有其他人在ble连接仅持续10秒时遇到问题。我正在尝试将运行ubuntu的mac作为中央设备连接到运行iPhone应用程序作为外围设备。我已验证该应用程序可与lightblue连接。我使用hcitool lescan获取MAC地址,然后使用gatttool-b-I-t random,这会给我[][MAC地址]>提示,然后我键入connect,这会给我[CON][MAC地址]>整整10秒钟,然后再恢复到[][MAC地址]>。我确实运行了hcidump,下面是输出:

HCI嗅探器-蓝牙数据包分析器2.2版 设备:hci0捕捉镜头:1028过滤器:0xFFFFFFFFFFFFFF

HCI命令:LE设置扫描参数0x08 | 0x000b plen 7 类型0x01激活 间隔10.000ms窗口10.000ms 自身地址:0x00公共政策:全部

HCI事件:命令完成0x0e plen 4 LE设置扫描参数0x08 | 0x000b ncmd 1 状态0x00

HCI命令:LE设置扫描启用0x08 | 0x000c增压2 值0x01扫描已启用 已启用筛选器重复项0x01

HCI事件:命令完成0x0e plen 4 LE设置扫描启用0x08 | 0x000c ncmd 1 状态0x00

HCI事件:LE元事件0x3e plen 33 乐视广告报道 ADV_IND-可连接的无向广告0 bdaddr 78:96:3C:DB:D9:9D随机 标志:0x1a 具有16字节数据的未知类型0x07 RSSI:-37

HCI事件:LE元事件0x3e plen 12 乐视广告报道 扫描RSP-扫描响应4 bdaddr 78:96:3C:DB:D9:9D随机 RSSI:-37

HCI命令:LE设置扫描启用0x08 | 0x000c增压2 值0x00扫描已禁用 已启用筛选器重复项0x01

HCI事件:命令完成0x0e plen 4 LE设置扫描启用0x08 | 0x000c ncmd 1 状态0x00

HCI命令:LE创建连接0x08 | 0x000d plen 25 bdaddr 78:96:3C:DB:D9:9D类型1

HCI事件:命令状态0x0f plen 4 LE创建连接0x08 | 0x000d状态0x00 ncmd 1

HCI事件:LE元事件0x3e plen 19 连接完成 状态0x00句柄64,角色主机 bdaddr 78:96:3C:DB:D9:9D随机

ACL数据:处理64个标志0x02 dlen 11 附件:由组请求0x10读取 开始0x0001,结束0xffff 类型uuid 0x2800

HCI命令:读取远程版本信息0x01 | 0x001d plen 2 处理64

HCI事件:读取远程版本信息完成0x0c plen 8 状态0x00句柄64 LMP版本:4.0 0x6 LMP Subversion:0x2203 制造商:博通公司15

HCI事件:命令状态0x0f plen 4 读取远程版本信息0x01 | 0x001d状态0x00 ncmd 1

HCI事件:DISCON完成0x05增压4 状态0x00句柄64原因0x13 原因:远程用户终止了连接

有什么建议可以帮助我摆脱这种习惯吗


提前感谢。

我在Android上体验到,可估计的信标将在10秒后中断连接。如何将iPhone变成外围设备?您是否使用Estimte应用程序?也许他们实现应用程序的方式与实现信标的方式相同

如果您使用Estiomte应用程序,您可以尝试使用另一个应用程序将您的iPhone转换为外设,并检查它是否显示相同的行为。

这只是我的客人:
我认为这是保存东西的一部分。如果您手动连接,并且在10秒内不做任何事情,它将简单地断开连接。大部分程序不会空闲,10秒内什么也不做。为什么不订阅notify/identify chars或进行绑定配对,我想这应该可以防止iOS断开连接。在10秒内使用gatttool可能会很难做到这一点,但如果使用lightblue,应该很容易做到。

我相信这也可能是由于bluez版本的缘故。您当时使用的是什么版本的bluez?您还可以从hcidump中看到以下内容:


原因:远程用户终止连接0x13

否,我正在Objective-c中编写自己的应用程序。当我尝试连接到lightblue的任何伪服务时,它也会对lightblue执行相同的操作。谢谢。我已经想到了这一点,所以我试着在超过10秒的时间里不断地检查特征和获取值等。它仍然断开连接。我可以试着编写一个程序来连接和订阅服务,看看它是否保持连接。