天道酬勤,学无止境

我可以使用 Arduino 读取 iBeacon 数据吗?(Can I read iBeacon data using Arduino?)

问题
回答1
AT+ROLE1 AT+IMME1 AT+RESET
回答2

在 HM-10 的固件版本 V539 中,它添加了一个 AT 命令来列出附近的 iBeacon。 命令是AT+DISI? . 您只需将 Arduion 设置为通过串行端口发送该命令并解析它返回的数据。

回答3

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • 从 iBeacon 接收 BLE 信号到 Bluno(带有 BLE 的 arduino)(Receive BLE signal from iBeacon to Bluno(arduino with BLE))
    问题 我想从 iBeacon 接收 rssi 信号和 UUID 到 Arduino 板具有 BLE 的 Bluno。 对此有一些问题。 是否有任何解决方案可以从 BLE 接收 UUID 和 RSSI 到 BLE? 是否可以相互通信两个 BLE 设备? 我想要一些网站来参考这个问题。 我还需要将 bluno 与 AR.Drone 连接起来。 你能给我一些建议吗? 感谢您的帮助 回答1 Bluno 能够充当 iBeacon(发射器),但它无法接收 iBeacon 公告并将其传递给 Arduino。 BLE 设备可以通信并且可以接收 UUID 和 RSSI,但这取决于设备的能力和它公开的接口。 例如,iOS 设备公开了一个非常复杂的 BLE API。 Bluno 板没有。 它向 Arduino 公开了一个“串行端口”,并将发送/接收数据映射到一组 BLE GATT 特性。 可以将一对 Bluno 设备配置为无线串行链路,或者计算机或移动设备上的软件可以通过蓝牙堆栈与 Arduino 交换数据。 有一个 AT 命令将返回配对设备的 rssi,但文档不清楚这是否可用于 Arduino 或仅通过 USB 连接到计算机。 特别是 Bluno 的最佳参考(例如它是)似乎是 DFRobot Wiki 我怀疑您是否能够直接从没有蓝牙 LE 的 Bluno 使用低功耗蓝牙连接到 AR.Drone。
  • Can I read iBeacon data using Arduino?
    I am using an HM-10 module and Arduino UNO. My requirement is to read data from ibeacons near me using Arduino. Is it possible? I have not been able to find any articles on this. All articles talk about connecting your android phone with arduino. Any idea?
  • 读取 iBeacon 的电池电量(Read battery Level of a iBeacon)
    问题 我必须读取 iBeacon 的电池电量。 正如我正在研究的那样,使用协议配置是不可能的吗? 这里的建议告诉我它正在使用蓝牙协议读取数据包,我有数据包的描述 kontakt 数据包描述。 但是当我阅读这些数据时? 我如何具体从 iBeacon 读取数据。 谢谢你。 回答1 iBeacon API 不允许您读取电池电量。 您也许可以使用 Core Bluetooth 读取它。 Kontakt 提供了一种快捷方式来获取扫描响应包中的电池电量,这很方便,但也是专有的。 Kontakt 还实现了 BLE 电池服务 0x180F,这是一种更通用的获取电池电量的方法。 您需要连接并读取 Characteristic 0x2a19 的值以获取电池百分比。 不幸的是,并非所有信标都会宣传电池服务。 Estimote 在其专有服务之一中发回电池信息。
  • Android 4.4 设备可以充当 iBeacon 吗? [关闭](Can an Android 4.4 device act as an iBeacon? [closed])
    问题 关闭。 这个问题需要更加集中。 它目前不接受答案。 想改善这个问题吗? 更新问题,使其仅通过编辑这篇文章来关注一个问题。 5年前关闭。 改进这个问题 在另一个问题的回答中,我看到“您也可以在有 root 权限的 Android 4.4.3 设备上作为信标传输,但它需要安装有系统权限的应用程序。” 如何才能做到这一点? 回答1 是的,这在 4.4.3 上是可能的,但关键 API 方法startAdvertising() 、 stopAdvertising()和getAdvScanData() (允许您读取和写入广告中发送的原始信息)被阻止使用,除非应用程序有android.permission.BLUETOOTH_PRIVILEGED 。 这是系统级别的权限,因此对于您的自定义应用程序,获得此权限的唯一方法是将您的手机设为 root,并将您的应用程序安装在 /system/priv-app 目录中。 如果您可以做到这一点,那么执行此操作的基本代码是: byte[] advertisingBytes; advertisingBytes = new byte[] { (byte) 0x18, (byte) 0x01, // Radius Networks manufacturer ID (byte) 0xbe, (byte) 0xac, // AltBeacon
  • 在Android中读取广告包(Read advertisement packet in Android)
    问题 我正在研究一个 BLE 传感器,它是广告制造商特定的数据。 是否有任何示例代码演示如何在 Android 中接收广告数据包并解析其有效负载? 回答1 这就是我要找的: BLE 扫描 API BluetoothAdapter.startLeScan(ScanCallback) 需要扫描结果的回调函数。 该方法需要如下所示: private BluetoothAdapter.LeScanCallback ScanCallback = new BluetoothAdapter.LeScanCallback()onLeScan(final BluetoothDevice device, int rssi, final byte[] scanRecord) {...} scanRecord 变量是一个字节数组,其中包含广告数据包负载。 根据 BLE 规范,有效载荷的结构非常简单,如下所示: 数据包最长可达 47 个字节,包括: 1 字节序言 4字节访问地址 2-39 字节广告 channelPDU 3 字节 CRC 对于广告通信通道,访问地址始终为 0x8E89BED6。 PDU 又具有自己的标头(2 个字节:有效载荷的大小及其类型——设备是否支持连接等)和实际有效载荷(最多 37 个字节)。 最后,payload的前6个字节是设备的MAC地址,实际信息最多可以有31个字节。
  • iBeacon 的安全性如何? [关闭](How secure is iBeacon? [closed])
    问题 关闭。 此问题不符合 Stack Overflow 准则。 它目前不接受答案。 想改善这个问题吗? 更新问题,使其成为 Stack Overflow 的主题。 3年前关闭。 改进这个问题 iBeacon 是一项很有前途的新技术。 但它有多安全? 启用加密时,蓝牙低功耗 (BLE) 可以是安全的。 然而,这只是在建立通信时的情况。 但是 iBeacon 框架并不意味着允许设备之间的通信。 甚至无法通过 iBeacon 框架进行通信(然后应该使用 CoreBluetooth)。 iBeacon 只能做广告(数据)。 但是这些广告数据包是安全的还是对公众开放的? 我缺少有关 iBeacon 的更详细(技术)报告。 另一件不太清楚的事情:谁开始“说话”? 是广告 iBeacon 设备还是监控应用程序/设备。 广告 iBeacon 设备是否一直在做广告? 回答1 安全完全取决于您。 iBeacon 是安全的,因为它们是非常简单的设备,除了传输由 3 部分组成的标识符(和发射机功率测量)之外什么都不做。 他们总是在做广告,除非你想方设法阻止他们。 任何人都可以看到这个标识符,所以你最好不要指望保密! 例如,上周,我去了华盛顿特区的 Apple Store,并使用我的 Android iBeacon Locate 应用程序找出了 Apple Store 入口附近的 iBeacon
  • 如何从iBeacon / BLE检索广告有效载荷(How to retrieve advertising payload from iBeacon / BLE)
    问题 如何在Linux中检索Bluetooth LE发射器的广告有效载荷? 具体来说,我已经使用hcitool将arduino和R-PI配置为iBeacons。 我正在寻找的命令是打印出该设备当前的广告有效负载。 回答1 在Radius Networks,我们整理了一组脚本,这些脚本从Linux上检测到的BLE广告中解析出iBeacon标识符。 您可以在此处找到对此的描述。 如果您只想查看原始广告字节,则可以使用以下命令在Linux上开始扫描: sudo hcitool lescan --duplicates & 然后使用以下命令查看结果: sudo hcidump --raw 更多细节在上面链接的答案中。 回答2 由于libpcap-1.0 +现在支持蓝牙捕获,因此您可以使用Wireshark / tshark / tcpdump捕获和显示Bluetooth数据包-BTLE和其他数据包类型。 要使用Wireshark捕获LE数据包,您仍然需要告诉蓝牙接口查询LE数据包,如上一个答案中所述: sudo hcitool lescan --duplicates & 另外,如果您希望适配器对处于可发现模式的蓝牙设备进行定期查询,则可以运行(尽管这些查询不会获取BTLE发射): sudo hcitool spinq 回答3 sudo hcitool lescan --duplicates
  • 我可以向组内的单个 iBeacon 设备发送消息吗?(Can I send a message to a single iBeacon device within a group?)
    问题 我只是在阅读 iBeacon,我可能想将它用于我目前参与的项目。我目前从中了解到的是: 简而言之,iBeacon 设备向范围内的任何人广播消息。 该消息包括发送方的 MAC 地址,接收方可以根据其信号强度计算距离。 iBeacon 设备可以是发送者、接收者或两者兼而有之。 1)首先; 这个对吗? 其次,在维基百科页面上,我读到it could enable payments at the point of sale (POS) 。 因为我知道它基本上是一个非常本地的广播服务,所以我只是想了解这样的事情是如何工作的。 2)那么在付款的情况下,商店或客户会发起付款吗? 3) 你将如何防止附近的其他设备获取付款信息​​? 4)最后; 是否可以仅将 iBeacon 消息发送到由其 mac 地址标识的一个 iBeacon 设备? 非常欢迎任何提示和见解! 回答1 启用移动支付是您可以在 iBeacon 技术之上构建的一个示例。 但iBeacons 本身是非常简单的构建块,只是解决方案的一小部分。 将iBeacon 自身的功能与 iBeacon 可以完成的功能相混淆是一种常见的误解。 在支付用例中,iBeacon 将执行的唯一功能是唤醒支付应用程序并告诉它手机在销售点附近。 (使用销售点的特定数字标识符。)就是这样! 这就是 iBeacon 所做的一切。
  • 如何将数据发送到变成iBeacon的iphone?(How to send data to an iphone which is turned into a iBeacon?)
    问题 如何将数据发送到充当iBeacon的iPhone? 我正在寻找以下流程: 搜索附近的iBeacons 连接到一些iBeacon 在设备之间交换数据 有谁知道如何将不同的蓝牙功能放在一起使之成为可能? 提前 回答1 标准iBeacon是仅传输设备,移动设备可以看到它们,但实际上并不“连接”到它们或交换数据。 但是,您仍然可以按照自己的要求进行操作,无论您是否在所有设备上都有应用程序以及网络服务都可以进行数据传输。 这将允许设备A和B在附近时互相检测并交换数据。 就是这样: 您在设备A和B上的应用程序在充当iBeacon(通过应用程序特定的标识符和电话特定的标识符进行广告的存在)与范围内的iBeacon信号(包括应用程序特定的标识符)之间进行切换。 在其测距周期内,设备A上的应用程序将检测到来自设备B的iBeacon传输,其中包括您的应用程序标识符和设备B的设备标识符。 然后,应用程序A使用源“ A”和目标“ B”以及要传输的任何数据(例如“设备A向设备B打个招呼”)对Web服务进行“写入”调用。 该应用程序还将定期向Web服务发出“读取”调用。 在此示例中,设备B将读取发往B的任何信息,并且Web服务将返回一条记录,表明设备A已向其发送了一条消息,其中包含数据“设备A向设备B打个招呼”。 由于两部手机也都运行相同的过程,因此这种通信可以双向发生。 回答2
  • iBeacon 的 UUID 在不同的设备上是不同的(UUIDs of iBeacons are different on different devices)
    问题 我正在开发一个将使用 iBeacons 进行室内导航的应用程序,我发现函数locationManager:rangingBeaconsDidFailForRegion:withError:被调用的速率不够高,所以我要添加来自 CoreBluetooth 的centralManager:didDiscoverPeripheral:advertisementData:RSSI:的 RSSI 数据centralManager:didDiscoverPeripheral:advertisementData:RSSI: 。 我发现了一个奇怪的事实:当我使用 CoreLocation 收听 iBeacon 并记录外围设备 ID 时: - (void)centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI { NSLog(@"%@, RSSI: %@", peripheral, RSSI); 每个信标在不同设备上报告有不同的 UUID: A25804BD-D77A-5004-4C2C-301D996C7367 - my
  • 如何通过蓝牙将串行数据发送到未指定的设备?(How to send serial data via Bluetooth to an unspecified device?)
    问题 我将以下代码用于 Arduino Uno: #include <SoftwareSerial.h> SoftwareSerial device(2, 3); void setup() { device.begin(9600); } void loop() { device.println("33,89,156,203,978,0,0;"); } 没有设置要发送到的特定设备。 如果我想在我的笔记本电脑(运行 Ubuntu 14.04)上接收数据,我只需调用: sudo rfcomm bind rfcomm0 [MAC ADDRESS] 1 和 screen /dev/rfcomm0 在另一个终端实例中,它可以工作。 如何使用 Android 应用程序实现相同的行为? 以下示例代码指定了一个设备。 我找不到任何其他代码。 此外,它仅在我在笔记本电脑上监听这样的传入连接时才有效: sudo rfcomm listen rfcomm0 [MAC ADDRESS] 我希望我的 Android 应用程序能够像 Arduino 示例一样工作。 我怎样才能做到这一点? 回答1 不幸的是,Android 似乎没有允许您执行广播类型行为的低级经典蓝牙 API。 这是有道理的,因为 Android 旨在进入功率受限的设备,并且有源无线电使用能量。 如果您需要使用经典蓝牙 (3.x) 和
  • 如何在Android设备上读取信标的UDID、Major、Minor?(How to read UDID, Major, Minor of beacon on android devices?)
    问题 我正在尝试为 Android 开发 BLE 应用程序。 有什么方法可以检测和读取Android设备上的信标的UDID、Major、Minor? 我已经阅读了 RadiusNetworks android-ibeacon-service,但我不明白为什么: major = (256 * (0xFF & paramArrayOfByte[(i + 20)]) + (0xFF & paramArrayOfByte[(i + 21)])); 其中paramArrayOfByte是LeScanCallback byte[] scanRecord 回答1 当您从BluetoothAdapter.LeScanCallback获取byte[] scanRecord时,它将包含蓝牙 LE 标头,其长度可以根据 iBeacon 的类型而变化。 由于可变长度的标头,指示 iBeacon 广告 ( 4c 00 02 15 ) 的四个字节可以从第三个字节 ( scanRecord[2] ) 到第六个字节 ( scanRecord[5] ) 的任何位置开始。 在最新的代码,在Android iBeacon显示图书馆找到的索引位置4c 00 02 15的内scanRecord ,并称其为startByte 。 其他所有内容都位于相对于该startByte的固定位置。 回答2
  • 了解 iBeacon 数据:功率字段和其他字节(Understanding iBeacon data : the power field and other bytes)
    问题 我是蓝牙系统的新手,我试图了解用于新 Apple 技术的数据:iBeacon。 已经有一些很好的答案解释了它是如何工作的,我一直在阅读我能找到的所有内容(尤其是蓝牙规范)。 尽管如此,我还是遗漏了一些要点,我将首先举一个例子:(我正在使用设置广告数据命令,它在这里错过了 OGF 之前的hcitool cmd ) 0x08 0x0008 1E 02 01 1A 1A FF 4C 00 02 15 E2 C5 6D B5 DF FB 48 D2 B0 60 D0 F5 A7 10 96 E0 00 00 00 00 C5 00 我会在这里列出我不明白或找不到的信息。 是否有任何关于 OGF 的信息(这里是0x08 )? 我知道它代表 OpCode Group Field,但与 OGF 后面的 OCF 相反,我没有找到任何东西。 02 01 1A 1A bytes 线代表什么? 我知道第一个字节1E表示其余数据的长度,在该行之后,从FF开始,您可以获得制造商特定的数据。 但是我找不到关于这 4 个字节的任何信息。 功率字节如何工作? 这是C5 。 我知道我得到的是测距 iBeacon 时的 dBm 值(例如在我的 iPhone 上)。 而且我知道值越高(在那个功率字节上),功率越高,这意味着更高的准确性,但也意味着更多的能源消耗。 但是你如何使用那个字节呢?
  • 我可以只从一个蓝牙广播多个 ibeacon 信号吗? 如何(Can I broadcast multiple ibeacon signals from only one bluetooth? and how)
    问题 我想使用 ipad 的蓝牙模拟多个 ibeacon 信号,是否可能 回答1 您不能同时进行多个传输,但您可以通过在两个或多个带有计时器的传输器之间切换来模拟这一点。 当作为 iBeacon 传输时,iOS 设备通常每秒发送 10 个广告数据包。 但是接收器只希望在正常操作中至少每秒接收一次数据包。 尝试设置一个计时器在两个 iBeacon 发射器之间来回切换(先关闭一个,然后再打开另一个)。 像这样: - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. NSLog(@"We are going to simulate advertising multiple iBeacons simultaneously!"); CLBeaconRegion *iBeacon1 = [[CLBeaconRegion alloc] initWithProximityUUID:[[NSUUID alloc] initWithUUIDString:@"2F234454-CF6D-4A0F-ADF2
  • 带有BLE加密狗的RaspberryPi是否可以检测iBeacons?(Can RaspberryPi with BLE Dongle detect iBeacons?)
    问题 我从Radius Networks购买了一个开发人员套件,其中包括ioGear GBU521 BLE 4.0 dongle和Raspberry Pi 。 我还购买了他们的RadBeacon iBeacons 。 他们俩都像广告一样工作,但是我对自己得到的东西感到惊讶。 我以为RaspPi可以检测到iBeacons 。 而是将工具包设置为创建iBeacon 。 我的用例是检测forklift何时进入特定房间,以便将工作发送给他们。 我的想法是在叉车上放一个iBeacon,然后放一个RaspPi来搜索iBeacon。 并且当检测到iBeacon(叉车)时,您可以得出结论,它就在附近。 我将RaspPi连接到LAN ,并使其通过REST or similar传达信息。 我知道我可以放入合适的Android or Apple device并以这种方式完成操作,但是我不明白为什么该加密狗无法检测到这些iBeacons并告诉我它们的UUID's是什么? 我想念什么? 回答1 是的! 您可以使用Raspberry Pi扫描iBeacons。 我们在下面组合了一个脚本来执行此操作,您也可以按照以下步骤自己进行操作: 启动进行蓝牙LE扫描的后台进程: sudo hcitool lescan --duplicates & 使用--duplicates设置
  • 使用 iBeacon 或类似技术传输数据 [关闭](Transmitting data using iBeacon or similar technology [closed])
    问题 关闭。 这个问题是基于意见的。 它目前不接受答案。 想改善这个问题吗? 更新问题,以便通过编辑这篇文章用事实和引文来回答问题。 7年前关闭。 改进这个问题 我正在开发一个应用程序,它允许设备在范围内相互了解。 为此,我正在使用 iBeacon。 在下一个开发阶段,我希望能够在范围内的任何设备之间发送是或否字符串 - 这样任何连接到任何其他 iBeacon 的人都可以传达这些固定消息 由于 iBeacon 不支持数据发送 - 促进这一点的最佳方法是什么。 我目前的两种方法是通过蓝牙或网络服务。 请有人就最好的方法提供一些建议。 回答1 这两种方法都可以工作,但 Web 服务具有真正的优势: 连接到蓝牙服务需要用户许可,而网络服务则不需要。 如果您的应用程序没有在前台运行,iBeacon 监控 API 可以使其启动到后台约 5 秒。 在此期间,您可以调用 Web 服务。 但是在 iOS 中对蓝牙连接的后台支持是有限的。 如果蓝牙连接是直接在设备之间进行的,您必须弄清楚哪个设备作为中央设备,哪些设备作为外围设备。 这个谈判很复杂。 如果蓝牙连接在每个设备和信标之间,那么你就不能使用标准的 iBeacons——你必须构建支持额外可连接蓝牙服务的自定义 iBeacon。 Web 服务方法的主要缺点是当您没有网络连接时它将无法工作。 您必须决定是否可以忍受这种劣势。
  • 我们可以在 iOS 上检测非 iBeacon 信标吗?(Can we detect non-iBeacon beacons on iOS?)
    问题 我和我的团队正在开发一个信标,我们需要与用户 iPhone 上的应用程序对话。 由于我们需要应用程序来检测信标并执行代码以在被杀死时与我们的 API 对话,因此我们不能使用 CoreBluetooth 并且需要作为信标运行。 我们正在尝试在 BCM20737S BLE 模块上制作自定义信标。 是否可以将此自定义信标作为信标与 iPhone 上的应用程序对话? (核心定位框架) 谢谢! 回答1 只要您的数据包正在使用 iBeacon 协议广播数据包,那么 corelocation 就可以检测到它,并且您的应用程序将根据检测到的该信号唤醒。 iBeacon 协议数据包是一个 25 字节的有效载荷,设置为 BLE 广告中的制造商数据字段。 公司 ID 为 2 个字节 (0x004C) 类型为 1 个字节 (0x02) 数据长度为 1 字节 (0x015) 邻近 UUID 是一个 16 字节的十六进制字符串主要是 2 个字节 uint16_t 次要是 2 个字节 uint16_t 测量功率为 1 字节 int8_t 这个堆栈线程可能对你有用。 什么是 iBeacon 蓝牙配置文件 但本质上,corelocation 仅针对 ibeacons 配置,如果您想传输不同的协议数据包,您将需要在 iOS 上使用 CoreBluetooth,然后一旦您收到数据包
  • 在后台将iPhone作为iBeacon运行(Run iPhone as an iBeacon in the background)
    问题 是否可以将iOS 7设备作为Bluetooth LE外围设备(iBeacon)运行,并在后台进行广告宣传? 我已经能够使用下面的代码在前台进行广告发布,并且可以从其他iOS设备上看到它,但是一旦我回到主屏幕,它便停止了广告发布。 我确实在plist中添加了蓝牙外围设备背景模式,但这似乎无济于事,尽管我确实得到提示,说该设备希望在背景中使用蓝牙。 我是在做错什么,还是在iOS 7中是不可能的? peripManager = [[CBPeripheralManager alloc] initWithDelegate:self queue:nil]; - (void)peripheralManagerDidUpdateState:(CBPeripheralManager *)peripheral { if (peripheral.state != CBPeripheralManagerStatePoweredOn) { return; } NSString *identifier = @"MyBeacon"; //Construct the region CLBeaconRegion *beaconRegion = [[CLBeaconRegion alloc] initWithProximityUUID:uuid identifier:identifier]; //Passing
  • 使用 iOS 获取低功耗蓝牙扫描响应数据(Obtaining Bluetooth LE scan response data with iOS)
    问题 我正在使用低功耗蓝牙设备,我想知道是否可以在不连接的情况下使用 iOS 和 Core 蓝牙读取广告的扫描响应数据。 据我了解,在读取一个广告包后,您可以以 31 字节扫描响应的格式从外设请求附加数据。 我知道Core Bluetooth 建议,如果广告包已满,您可以将本地名称放在扫描响应包中,但是它可以让您看到整个包吗? 回答1 是的,只要不是 iBeacon 广告,您就可以使用CoreBluetooth读取 BLE 广告的完整制造商数据或服务数据字节。 如果是 iBeacon 广告, CoreBluetooth将阻止您查看字节。 你使用的回调如下: - (void) centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI 原始服务数据或制造商数据字节将出现在NSDictionary *advertisementData 。 但是它们持有这些数据的密钥将被 iBeacons 的操作系统删除。 这是您在回调中的NSDictionary中获得的示例。 此示例用于检测 AltBeacon 广告(开源信标标准)
  • 这是使用AltBeacon的Android Beacon库检测iBeacon的正确布局吗?(Is this the correct layout to detect iBeacons with AltBeacon's Android Beacon Library?)
    问题 我已经使用以下信标布局成功修改了Android Beacon库的参考实现应用程序,以便它可以检测到我手边的iBeacon设备: public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); BeaconManager beaconManager = BeaconManager.getInstanceForApplication(this); beaconManager.getBeaconParsers().add(new BeaconParser(). setBeaconLayout("m:0-3=4c000215,i:4-19,i:20-21,i:22-23,p:24-24")); beaconManager.bind(this); } } 作为BLE数据包内部的新手,我不确定这是否是正确的布局。 该库支持AltBeacon标准,并且其文档未提及如何检测iBeacon设备。 此代码会检测所有iBeacon设备吗? 即m:前缀是否过于严格?还是与iBeacon规范匹配的正确字节序列? 同样,其余布局是否与iBeacon规范完全匹配? 参考: