【问题标题】:iOS cannot detect pibeacon signals properlyiOS 无法正确检测到 pibecon 信号
【发布时间】:2018-06-30 17:29:29
【问题描述】:

我将我的树莓派转换为 ibeacon 发射器,但我的 iPhone 无法检测到我的 pibeacon 信号进行测距,例如,当它靠近(在最近距离)pibeacon 时,它不能说(推送通知)。但是,我的手机可以正常使用其他类型的 USB 信标,例如 Bluegiga 和 Radbeacon。有没有人遇到过同样的问题?

【问题讨论】:

  • 很明显,您的 Pi 传输格式有问题,因此 iOS 设备无法将其识别为 iBeacon 数据包。您需要提供有关发射器正在做什么的更多信息(如果您有邮政编码)。
  • 我的BLE设备应用程序可以检测到它,当它进入他们的区域时他们也可以检测到它(确实进入了区域),但是当涉及到测距时,它不能在它进入时向应用程序推送通知特定的距离范围,而同一个应用程序可以检测到其他 ibeacons 范围。我正在使用此代码开始传输和使用 Bluez。
  • sudo hciconfig hci0 up sudo hciconfig hci0leadv 3 sudo hcitool -i hci0 cmd 0x08 0x0008 1E 02 01 1A 1A FF 4C 00 02 15 43 F2 AC D1 55 22 4E 0D 9E 3F 4A 82 8E 25 00 00 00 00 C8
  • 您是否使用sudo hciconfig hci0 leadv 0 开始投放广告?您如何尝试在 iOS 上进行检测——您是编写自己的代码还是使用应用程序?如果您使用自己的代码,请说明您是如何设置信标区域的。
  • 我从 sudo hciconfig hci0 Leadv 3 开始 不,我正在使用不同的应用程序来扫描 BLE,它们都可以检测到我的 pibeacon 的 RSSI 和它的距离,但是当涉及到测距时它不能被检测为其他信标,我想知道这可能是因为树莓派信号问题吗?不知道为什么会出现这个问题,我看到的信号很强,一切看起来都很好,想知道这是否与每秒广告数据包有关?!

标签: swift bluetooth-lowenergy ibeacon eddystone bluegiga


【解决方案1】:

iOS 设备不会检测 iBeacons 数据包,除非信标数据包的 ProximityUUID 已预先配置到正在搜索它们的 iOS 应用程序中。根据问题中显示的命令,使用 Pi 配置的 ProximityUUID 是 43F2ACD1-5522-4E0D-9E3F-4A828EA12C25

可能只是您用来尝试将其检测为 iBeacon 数据包的 iOS 应用未预先配置为查找上述 ProximityUUID。

iOS 上的非信标 BLE 应用可以看到您的 Pi 的广告,因此非信标应用检测到它的事实仍然可能意味着这是问题所在。

如果您成功使用信标应用检测 RadBeacon,它可能会检测到默认的 RadBeacon Proximity UUID 2F234454-CF6D-4A0F-ADF2-F4911BA9FFA6。如果您的应用可以检测到,请尝试将其配置到您的 Raspberry Pi 开始广告命令中,如下所示:

sudo hciconfig hci0 up sudo hciconfig hci0 leadv 3 sudo hcitool -i hci0 cmd 0x08 0x0008 1E 02 01 1A 1A FF 4C 00 02 15 2F 23 44 54 CF 6D 4A 0F AD F2 F4 91 1B A9 FF A6 00 00 00 00 C8

【讨论】:

  • 还有一件事,是不是需要知道我们的beacon的minor和major才能被ios app的测距功能检测到?或者我们只需要 UUID,那么次要和主要对于测距检测无关紧要?
  • 你只需要知道uuid。当您开始监测信标时,您构造了一个CLBeaconRegion 对象,它告诉操作系统要匹配哪个。 uuid 是必需的,但主要和次要是可选的。如果将它们留空,它将匹配所有主要和次要或值。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-18
  • 2021-09-18
  • 2017-07-09
  • 2021-11-24
  • 2020-03-05
相关资源
最近更新 更多