Bluez:与 iOS 的配对问题

2024-01-06

我有一个在嵌入式设备上运行并使用 Bluez 5.48 的外围应用程序。我将我的服务设置为不可配对。当我尝试从 Android 设备连接到该服务时,一切正常,但使用 iOS 时,连接会在一段时间后丢失,并且在 btmon 工具中存在以下日志:

> ACL Data RX: Handle 68 flags 0x02 dlen 9              #1050 [hci0] 398.940027
  ATT: Error Response (0x01) len 4
    Read Request (0x0a)
    Handle: 0x0016
    Error: Insufficient Authentication (0x05)
< ACL Data TX: Handle 68 flags 0x00 dlen 7              #1051 [hci0] 398.940268
      ATT: Read Request (0x0a) len 2
        Handle: 0x0016
> ACL Data RX: Handle 68 flags 0x02 dlen 9              #1052 [hci0] 398.991500
      ATT: Error Response (0x01) len 4
        Read Request (0x0a)
        Handle: 0x0016
        Error: Insufficient Authentication (0x05)

请告知如何重新配置​​应用程序或重建 Bluez 以禁用配对。所有特性均不受保护。


尝试重新配置应用程序以禁用经典蓝牙和绑定,如下所示:-

btmgmt power off
btmgmt bredr off
btmgmt bonding off
btmgmt io-cap 0
btmgmt power on

注意io-cap 0将您的 IO 功能设置为“DisplayOnly”。如果这不起作用,请尝试将 io-cap 设置为 3 (NoInputNoOutput),看看是否会得到不同的结果。

另请确保您在 iOS 设备上的 iOS 设置中忘记了该设备,因为这可能会产生一些影响。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Bluez:与 iOS 的配对问题 的相关文章

  • Android BLE 特性 getValue 在 API 级别 33 中已弃用,我获取该值的正确方法是什么?

    Android BLE 特性 getValue 在 API 级别 33 和developer android 中已弃用蓝牙Gatt特性 https developer android com reference android blueto
  • 如何设置bluepy无需sudo即可扫描的环境?

    我编写了一些 Python 脚本 用于扫描设备 如果它们与 名称 匹配 我就会连接到它们并做一些蓝色的事情 该脚本是建立在bluepy module 我认为我不喜欢的是 我需要运行设备扫描sudo like sudo python3 get
  • BLE不同的MTU用于不同的实现

    我在 Android 上尝试了 BLE 连接的不同实现 一种使用 RxAndroidBle 另一种使用简单的 Android API 我使用 RxAndroidBle 示例应用程序进行测试 我连接到具有相同服务和特征的相同外围设备 不过 当
  • 用于 BLE 的 BluezV5.42 DBUS C API?

    我开发了 BLE 应用程序openwrt using BLUEZV5 30 我能够通过提取源代码来创建应用程序gatttool and hcitool 我还添加了这些工具提供的更多功能 例如阅读rssi 不过 我已经升级了我的bluez堆叠
  • 三星 S4 上的蓝牙崩溃

    我正在运行一个带有 BLE 扫描的应用程序 一段时间后在 Samsung S4 上或者如果周围有超过 10 个信标 我会看到此错误 07 18 11 51 57 169 W bt userial 7819 userial read thre
  • HM10 ble改变特征值AT命令Arduino

    谁能帮我用AT命令写入特征值 或者如何使用Hm10模块将数据从arduino发送到另一个ble设备 HM10发送AT START后 会通告数据包 并且可以检测服务和特征 但特征值是默认的0x00 如何更改 多次检查数据表 但找不到能够执行相
  • 如何使用 dbus-send 调用 org.bluez.Adapter1.StartDiscovery?

    我正在尝试使用 Bluez 5 44 进行交互dbus send https dbus freedesktop org doc dbus send 1 html命令行工具 我似乎无法让它正确启动发现 尽管当我使用时它工作得很好bluetoo
  • 在 Kotlin 中制作函数块

    我很高兴这可能已经得到解答 但我无法找到适合我的解决方案 Tl dr 如何制作功能块 我有以下用 Kotlin 为 Android API 28 编写的 BLE 相关代码 override fun onServicesDiscovered
  • 蓝牙低功耗广告扫描、频道信息或选择

    我使用 bluez 编写了一个应用程序 用于扫描 BLE 广告数据 该应用程序当前接收广告消息没有任何问题 对于广告消息 BLE 使用 37 38 和 39 三个通道发送消息 每个通道使用不同的频率 当应用程序接收数据时 我希望能够确定在哪
  • 前台服务重启后多次接收BluetoothGattCallback

    我正在使用支持 BLE 的硬件 并使用 Android 的前台服务与硬件进行通信 前台服务负责处理 BLE 相关事件 并且在一段时间内按照要求工作得很好 但不知何故 如果前台服务被终止或 BLE 连接由于任何原因而中断 则应用程序会尝试再次
  • 如何估算 BLE 模块的功耗?

    我正在为带有 BLE 模块的设备编写一个 iOS 应用程序 该模块在连接时一致地通告几个字节的数据 我们正在尝试估算 BLE 模块的功耗 以便估算设备的电池寿命 我已经在 SO 和 Google 上搜索过 寻找合适的方法来估计这一点 但我一
  • 连接关闭且应用程序终止后,BLE 堆栈反复重新连接到外设

    我有一个应用程序 它打开与 BLE 设备的短暂连接 执行一些特征读取和写入 然后断开并关闭连接 应用程序使用 autoReconnect false 并且设备未配对或绑定 我看到 Android 的一些非常奇怪的行为 它似乎反复且意外地重新
  • Electron Web 蓝牙 API requestDevice() 错误

    我正在尝试开发一个与蓝牙低功耗设备通信的应用程序 我使用 Web Bluetooth API 建立了一个工作 网站 一切正常 所以我使用 Electron 框架来构建一个应用程序 这个问题是已知的 如果你开始navigator blueto
  • 标准和定制 GATT 特征

    我正在为 Android 手机和 Android 手表 wearOS 编写应用程序 这些应用程序将通过蓝牙相互通信 基本上Android手机上的应用程序将与WearOS设备绑定 然后与WearOS上的应用程序通信以启动指定功能 获取电池信息
  • 通过 iBeacon 监控和测距与 CoreBluetooth scanForPeripheralsWithServices 检测信标

    对于 iOS 对想要扫描 BLE 信标 外设的应用程序施加的限制 存在很多困惑 在阅读了几个博客和 Stack Overflow 答案后 我想看看我是否正确理解了所有问题 如果有什么理解错误或者遗漏的地方请指正 我仅指 iOS 7 及更高版
  • 从 WP8 连接至 Polar H7 心率监测器

    有没有办法从 Windows Phone 8 连接到低功耗蓝牙设备 例如心率监测器 例如 Polar H7 我尝试过的一些背景 我看过这个 Windows 8 的示例 http code msdn microsoft com windows
  • BlueCove 与 Bluez 卡盘“无法打开 SDP 会话。[2] 没有这样的文件或目录”

    我正在尝试编写一个简单的蓝牙服务器 它接受来自我的 HeartRate Device 蓝牙 LE 的连接 但它总是引发异常 javax bluetooth ServiceRegistrationException Can not open
  • 如何在蓝牙低功耗外设中正确设置日期和时间?

    我正在开发一个传感器设备和一个相应的 iOS 应用程序 它们将使用低功耗蓝牙进行通信 传感器设备需要在实时时钟中维护当前日期和时间 现在 如果我想尽可能地实现蓝牙标准服务 我很困惑在传感器设备中设置时间和日期的正确方法是什么 因为官方文档是
  • 核心蓝牙和后台:检测设备并触发操作,即使在后台模式几天后?

    我编写了一个应用程序 需要在某个低功耗蓝牙设备进入范围内时收到通知 如果 BLE 设备被注意到 我的应用程序只会存储一个时间戳 正如 WWDC 2012 核心蓝牙视频中所述 使用核心蓝牙时 应用程序有两种在后台模式下运行的可能性 活动背景
  • Android 中的 BLE Gatt onConnectionStateChanged 失败,状态为 257

    我正在开发一个同时连接到多个BLE设备的Android应用程序 之后我从这些设备永久读取特征 但过了一会儿 我在onConnectionStateChanged 函数中得到状态257 android文档没有解释错误的原因是什么 或者如何修复

随机推荐