ios - 我们可以在 iOS 上检测到非 iBeacon 信标吗?

标签 ios ibeacon iot bluetooth-lowenergy

我和我的团队正在开发一个信标,我们需要与用户 iPhone 上的应用程序对话。由于我们需要应用程序检测信标并执行代码以与我们的 API 对话,即使在被杀死时,我们也不能使用 CoreBluetooth 并且需要作为信标操作。

我们正在尝试在 BCM20737S BLE 模块上制作自定义信标。是否可以让这个自定义信标作为信标与 iPhone 上的应用程序通信? (CoreLocation 框架)

谢谢!

最佳答案

只要您的数据包使用 iBeacon 协议(protocol)广播数据包,核心定位就可以检测到它,并且您的应用程序将根据检测到此信号唤醒。 iBeacon 协议(protocol)包是一个 25 字节的有效载荷,设置为 BLE 广告中的制造商数据字段。

  • 公司ID为2字节(0x004C)
  • 类型为1字节(0x02)
  • 数据长度为 1 字节 (0x015)
  • Proximity UUID 是一个 16 字节的十六进制字符串
  • 主要是 2 个字节 uint16_t
  • 次要为 2 个字节 uint16_t
  • 测量功率为 1 字节 int8_t

  • 这个堆栈线程可能对您有用。

    What is the iBeacon Bluetooth Profile

    但本质上 corelocation 只为 ibeacons 配置,如果你想传输不同的协议(protocol)数据包,你需要在 iOS 上使用 CoreBluetooth,然后一旦你收到数据包,以某种方式翻译它以供你的应用程序使用。

    关于ios - 我们可以在 iOS 上检测到非 iBeacon 信标吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35927946/

    相关文章:

    ios - LLDB 堆栈跟踪仅显示 XCode 中的最后 2 次调用

    ios - 尝试检测信标但失败,因为 isMonitoringAvailable 始终为 false

    python - 使用 Flask 从用 python 编写的网页发送 MQTT 消息

    sockets - Linux 用户空间代码,用于在 Linux 板和运行 contiki udp 发送器示例代码的每个节点之间进行通信

    ios - 当应用程序在后台和 iPhone 重启时如何使用 ibeacon

    mqtt - 当订阅者离线且 QOS=2 时由 mosquitto 代理发布的消息存储

    ios - 从另一个 SKScene 中呈现一个 SKScene

    javascript - 将 NSTaggedPointerString 转换为字符串

    ios - 为什么我的 UITableView 不使用单元格原型(prototype)?

    ios - 捕获 iBeacon 消息供以后使用