【问题标题】:How to find the connected device after BLE scanBLE扫描后如何找到连接的设备
【发布时间】:2018-03-14 20:20:52
【问题描述】:

使用 startScan(onFoundBLEDevice, onBLEScanError) 执行 BLE 扫描时。首先,发送到 onFoundBLEDevice 的参数是单个设备还是设备列表?如果答案是“单个设备”,当执行扫描时本地附近有多个 BLE 设备时会发生什么?

其次,由于我的目标是从我自己的智能手机(已配对并连接到我的智能手表的智能手机)中检索电池电量,我如何判断通过扫描找到的哪些设备是已连接的设备?还是我什至需要进行扫描?是否有另一种方法来检索设备对象以获取电池服务 0x180F 和电池电量特性 0x2a19?换句话说,我想确保我检索到的电池电量是我手机的电量,而不是坐在我旁边的朋友的电量。

更新:我的智能手机是运行 Android 4.3 的三星 Galaxy S3,而我的智能手表是运行 Tizen 2.3.1 的三星 Gear S2。我正在使用 Tizen 蓝牙 API。

【问题讨论】:

  • 您应该提及您使用的平台和 API。

标签: bluetooth bluetooth-lowenergy tizen batterylevel


【解决方案1】:

每次找到设备时都会调用 BluetoothLEScanCallback(在您的情况下为 onFoundBLEDevice)。 (对于 3 个附近的设备 -> 3 个通话)

当我的设备通过“Samsung Gear”应用程序与移动设备连接时,我已经扫描了附近的设备。不,无法区分通过 Gear Manager 连接的特定移动设备与其他设备。因此,您在此过程中找不到连接的设备。 (除非您正在开发供个人使用的应用程序,在这种情况下,您可以硬编码移动设备的 UUID)

三星为此提供了“附件”SDK。

Samsung Accessory SDK

您使用 Accessory SDK 交换的任何数据都会通过 Samsung Gear 为您提供特定“连接”设备的信息。查看附件 SDK 部分中的 API 参考、编程指南和 Android 端示例应用程序和 Tizen 端示例应用程序。

【讨论】:

  • 谢谢-我想我能做的是使用传统的蓝牙方法(getKnownDevices)来存储连接设备的MAC地址......然后,我可以将MAC地址与我通过 BLE 扫描找到的那些设备...以这种方式 我认为 我将能够确定哪个设备是我的连接设备,然后通过后续的 BLE 方法,获取电池服务、级别等...感谢您的回答!
猜你喜欢
  • 2019-04-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多