当前位置: 首页 > 知识库问答 >
问题:

蓝牙LE连接仅持续10秒

司马辉
2023-03-14

我想知道是否还有其他人在ble连接仅持续10秒时遇到问题。我正在尝试将mac(运行ubuntu)连接为中心,将iPhone应用程序连接为外围设备。我已验证该应用程序可与lightblue连接。我正在使用hcitool lescan获取MAC地址,然后使用gatttool-b-I-t random,这会给我[][MAC地址]

HCI嗅探器-蓝牙数据包分析器ver 2.2设备:hci0snap_len:1028过滤器:0xffffffffffffffff

HCI命令:LE Set Scan Parameters(0x08 | 0x000b)plen 7 type 0x01(active)间隔10.000ms窗口10.000ms自身地址:0x00(公共)策略:All

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

HCI命令:LE Set Scan Enable(0x08 | 0x000c)plen 2值0x01(扫描启用)过滤器重复0x01(启用)

HCI事件:命令完成(0x0e)plen 4 LE Set Scan Enable(0x08 | 0x000c)ncmd 1 status 0x00

HCI事件:LE元事件(0x3e)plen 33 LE广告报告ADV\u IND-可连接的无向广告(0)bdaddr 78:96:3C:DB:D9:9D(随机)标志:0x1a未知类型0x07,16字节数据RSSI:-37

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

HCI命令:LE Set Scan Enable(0x08 | 0x000c)plen 2值0x00(禁用扫描)过滤器重复项0x01(启用)

HCI事件:命令完成(0x0e)plen 4 LE Set Scan Enable(0x08 | 0x000c)ncmd 1 status 0x00

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

HCI事件:命令状态(0x0f)plen 4 LE Create Connection(0x08 | 0x000d)状态0x00 ncmd 1

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

ACL数据:句柄64标志0x02 dlen 11 ATT:按组请求读取(0x10)开始0x0001,结束0xffff类型uuid 0x2800

HCI命令:读取远程版本信息(0x01|0x001d)plen 2句柄64

HCI事件:阅读远程版本信息完整(0x0c)plen 8状态0x00句柄64 LMP版本:4.0(0x6)LMP Subversion:0x2203制造商:Broadcom Corporation(15)

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

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

有什么建议可以帮助我打破这种习惯吗?

提前谢谢。

共有3个答案

贾烨
2023-03-14

这只是我的客人:我认为这是保护事物的一部分。如果您手动连接,并且在10秒内不执行任何操作,它将简单地断开连接。大多数程序不会在10秒内空闲(不做任何事情)。为什么不订阅通知/识别字符或进行绑定配对,我想这应该可以防止iOS断开连接。在10秒内使用gatttool可能会很棘手,但如果使用浅蓝色,应该很容易。

周培
2023-03-14

我相信这也可能是由于Bluez版本。你当时使用的是什么版本的Bluez?你也可以从hciump看到以下内容:

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

商昆琦
2023-03-14

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

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

 类似资料:
  • 我目前正在尝试开发一款软件,需要连接一个蓝牙“经典”设备和至少2-3个蓝牙低能耗设备。当然,与这些设备进行通信,因此仅能够配对设备还不够,还需要与它们进行连接和通信。 我使用Nexus 4(Android 4.3)作为连接到这些蓝牙和蓝牙LE设备的单元。 这是否可能,或者是否存在某种限制,即只能同时连接一种或另一种蓝牙设备?

  • 我正在开发一个应用程序来控制自定义设备。该定制设备具有双模蓝牙功能,可在双模功能下接受Android和iOS连接。 有了Android,我需要使用经典连接。我用几部智能手机和平板电脑做了一些测试。然而,对于一些平板电脑型号,我很难连接。 我有一台联发科的MT6572 SOC平板电脑,它有4.4.2Android系统。我也有一个三星Galaxy Tab E和展讯的SC8830 SOC,它有4.4.4

  • 问题内容: 您好,有什么方法可以使Linux中的蓝牙设备获得接近的信号强度吗?或任何适用于nodejs,php或mono的好的库(我确实知道一些c ++或python,但宁愿不使用它们)如果工具不存在,但编写起来相当容易 谢谢 问题答案: 在Linux上,可以通过hcitool命令执行此操作。但是,必须连接才能获得设备的rssi。如果要从命令行实现此目的,请尝试: 如果要查看实现此目标的实际C代码

  • 连接设备 接口说明 用于连接 扫描出来的蓝牙设备。 参数说明 字段 类型 必须? 说明 device RKBLEDevice 是 蓝牙设备 示例代码 Swift: RokidMobileSDK.binder.connect(device: RKBLEDevice) Objc: [RokidMobileSDK.binder connect:device]; 断开设备 接口说明 用于断开已经连接的

  • 连接蓝牙设备 接口说明 接口需传入蓝牙名称(蓝牙address重启后会变) 参数说明 字段 类型 必须? 说明 name String 是 设备名称 举个大栗子 RokidMobileSDK.binder.connectBT(name, new IBTConnectCallBack() { @Override public void onConnectSucceed(BTDevic

  • 我有一个蓝牙设备,它正在测量力并基本上发送一个值。有一个android应用程序可以连接到它,但我想开发自己的应用程序,因为我想添加一些功能。我设法连接到它,但不知道哪个服务或特征是具有我需要的号码的服务或特征。有人可能知道它可能是其中的哪一个? 服务00001801-0000-1000-8000-00805f9b34fb 服务00001800-0000-1000-8000-00805f9b34fb