天道酬勤,学无止境

iBeacons:如何获得广播的信标功率(txPower)(iBeacons: how to get broadcasted beacon power (txPower))

问题

iBeacon 似乎广播了他们的 txPower 参数(报告 1 米距离的 RSSI 功率),该参数用于计算beacon.accuracybeacon.proximity属性(可以在此处找到 iBeacon 广告包的详细信息)。

但是, CLBeacon类似乎没有 txPower 的属性。 有没有办法可以使用 Core Location 框架获得 txPower,或者我需要进入 Core Bluetooth? 我需要这个的原因是我想尝试自定义信标精度/接近度计算,以实现非常快速的信标即时范围发现。 在这种情况下,从accuracy反向计算 txPower 是没有帮助的。

回答1

不幸的是,您无法使用CoreLocationCoreBluetooth以编程方式获得此值。 Apple 使用CoreBluetooth阻止对所有 iBeacon 数据的访问(请参阅我在此处的细分。)与CoreLocation类似,正如您所见,它根本不会在CLBeacon类中公开。

既然你说你不能做反向计算,那么我能想到的唯一其他方法是:

  1. 使用 Android、OSX Mavericks 或 Linux 设备,它们对读取此字段没有此类限制。
  2. 在您的 iOS 应用程序中创建所有 iBeacons 的查找表(具有唯一的 UUID/主要/次要值与它们的 txPower 值)

上面的选项 2 显然要求您为所有被测 iBeacon 分配唯一标识符。

受限制的 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>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • 基于RSSI估计信标接近度/距离-Bluetooth LE(Estimating beacon proximity/distance based on RSSI - Bluetooth LE)
    问题 我有一个简单的iOS应用程序,它使用“立即”,“附近”等表达式显示它检测到的蓝牙LE信标的接近度,我需要在Android上编写类似的内容。 我已经按照Android开发人员的指南进行操作,并且能够列出检测到的设备,现在想估计距离/接近度-这就是问题所在。 根据这个SO线程,它只是少数的数学计算。 但是,它们要求我提供txPower值。 根据Dave Smith的本教程(以及与此Bluetooth SIG语句的交叉引用),信标设备应将其作为类型为0x0A的“ AD结构”进行广播。 因此,我要做的是解析AD结构并查找与该类型匹配的有效负载。 问题:我有4个信标-2个信徒和2个喇叭花。 估计根本不会广播txPower,appflares会将其广播为0。 我在这里想念什么吗? iOS应用程序似乎可以毫无问题地处理所有操作,但是使用iOS SDK可以在后台进行操作,因此我不确定如何产生完全相同或相似的行为。 我还有其他方法可以解决我的问题吗? 如果您想看一下我用来解析AD结构的代码,它取自上述Dave Smith的github,可以在这里找到。 我对该类所做的唯一更改是添加了以下方法: public byte[] getData() { return mData; } 这就是我处理扫描回叫的方式: // Prepare the callback for BLE device scan
  • 了解ibeacon距离(Understanding ibeacon distancing)
    问题 尝试掌握与ibeacon(信标/蓝牙/低功耗蓝牙/ BLE)相隔如何工作的基本概念。 是否有关于ibeacon可以精确测量到多少的真实文档。 可以说我在300英尺外...易北门有可能检测到这一点吗? 专门针对v4&。 v5和iOS,但通常是任何BLE设备。 蓝牙频率和吞吐量如何影响这一点? 信标设备能否增强或限制距离/改善底层BLE? IE | Range | Freq | T/sec | Topo | |–—–––––––––––|–—––––––––––|–—––––––––––|–—––––––––––| Bluetooth v2.1 | Up to 100 m | < 2.481ghz | < 2.1mbit | scatternet | |-------------|------------|------------|------------| Bluetooth v4 | ? | < 2.481ghz | < 305kbit | mesh | |-------------|------------|------------|------------| Bluetooth v5 | ? | < 2.481ghz | < 1306kbit | mesh | 回答1 iOS提供的距离估算基于信标信号强度(rssi)与校准的发射机功率(txPower)的比值。
  • 在 Android 中获取 BLE Beacon 的 Tx 功率(Get Tx Power of BLE Beacon in Android)
    问题 我想通过 Android 设备获得 BLE 信标的 Tx 功率。 我在这里定义了 Tx 功率的分配编号。 public class AssignedNumbers { ... public static final byte TXPOWER = 0x0A; ... } 然后我做了一个函数来获取 Tx 功率。 public class AdvertisingData { ... public static Integer getTxPowerLevel(byte[] scanRecord) { // Check for BLE 4.0 TX power int pos = findCodeInBuffer(scanRecord, AssignedNumbers.TXPOWER); if (pos > 0) { return Integer.valueOf(scanRecord[pos]); } return null; } ... private static int findCodeInBuffer(byte[] buffer, byte code) { final int length = buffer.length; int i = 0; while (i < length - 2) { int len = buffer[i]; if (len < 0) { return
  • Beacon:为什么我们需要校准 Tx 功率(Beacon: Why we need calibrate Tx power)
    问题 据我所知,在信标发送的包中,它包含有关校准 Tx 功率(或测量功率 - 1 米处的功率值)的信息。 我只是想知道为什么信标发送校准的 Tx 功率,而不是广播功率(信标从源发送的信号功率)。 因为计算逻辑可能会有所不同,但它使条款和配置更加简单。 回答1 想想一个信标,就像一个朋友通过喊你的名字来呼唤你。 您可以通过声音到达您时的音量来估计您的朋友离您有多远。 但有些人的声音比其他人大。 远处的声音大的朋友可能会听到附近的声音小的朋友的音量。 为了区分不同,您可以让每个朋友在 1 到 10 的范围内大声喊出他们的声音有多大。 这与信标传输其“测量功率”(也称为 txPower 或校准功率)背后的概念相同。 如果接收器在 1 米外,信标会传输接收器应该听到的“音量”(以 dBm 为单位)。 这样,具有强发射器的信标可以与具有弱发射器的信标一起工作。 之所以使用 1 米作为参考,是因为在 1 米处测量信号相对容易。 实际考虑使得在 0 米距离处准确测量信号电平变得困难甚至不可能。 此外,物理环境因素+例如信标后面的金属柜或前面的木门)会导致影响信号电平的反射或衰减。 1 米的参考点可以更容易地说明这一点。 回答2 iOS 提供的距离估计基于 iBeacon 信号强度 (rssi) 与校准发射器功率 (txPower) 的比率。 txPower 是 1 米外以 RSSI
  • CLBeacon:我如何获得与 IBeacon 的距离?(CLBeacon: How can I get the distance from the IBeacons?)
    问题 如何获得与 iBeacons 的距离? 我能够得到他们的proximity ,但我怎样才能得到与 CLBeacon 的距离? 我使用过 Estimote SDK,它给出了距离值,但我不知道如何使用 CLBeacon 获得它。 - (void)locationManager:(CLLocationManager *)manager didRangeBeacons:(NSArray *)beacons inRegion:(CLBeaconRegion *)region{ if (self.beaconRegion) { if([beacons count] > 0) { //get closes beacon and find its major CLBeacon *beacon = [beacons objectAtIndex:0]; } } } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { UITableViewCell *cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:nil]; /
  • 如何限制信标的广告范围?(How to limit the advertising range of a beacon?)
    问题 是否可以限制信标的范围,以便只有某个近距离(或接近度)内的设备才能识别并连接到信标? 例如,0.5 米区域外的设备应该无法看到或连接到信标。 我使用 iOS 设备作为信标。 在 Apple 的CoreLocation API 中,CLBeaconRegion 类中有一个名为peripheralDataWithMeasuredPower 的方法,它说: peripheralDataWithMeasuredPower:检索可用于将当前设备作为信标进行广告的数据。 (NSMutableDictionary *)peripheralDataWithMeasuredPower:(NSNumber *)measuredPower 参数: measurePower :设备的接收信号强度指标 (RSSI) 值(以分贝为单位)。 该值表示从一米外测得的信标强度,并在测距期间使用。 指定nil以使用设备的默认值。 这可以用来限制信标的范围吗? 如果是,我无法理解如何决定为measurePower参数设置的值? 他们想通过什么来表达...value represents the measured strength of the beacon from one meter away.. ? 如果这是一个非常基本的问题,请原谅。 我最近开始了 iOS 开发,非常感谢您的帮助。 谢谢。 回答1 不幸的是
  • Radius Networks的ibeacon测距波动(Radius Networks' ibeacon ranging fluctuation)
    问题 我是iBeacon的新手,但是我花了整整一天的时间尝试获取信息和iBeacon可以正常工作的Android应用程序。 我偶然发现了Android iBeacon库示例,并尝试了一下。 我使用了最新的aar文件(0.7.3),基本上将示例复制/粘贴到了新项目中。 我使用带AirLocate的iPad创建了一个信标(从Dev Center的Apple代码中编译),然后启动代码。 我的问题是范围一直在波动,没有逻辑。 例如,将手机(在这种情况下为Nexus 5,原始rom,未做任何修改)放置在距iPad半米的地方,可以采取以下措施: 0.01m 0.03百万 0.07百万 0.48百万 0.01m 0.02m 等等。 当我在其上使用带有AirLocate的另一台iPad时,它提供了一种更稳定,更逼真的测量方法。 将信标排除为问题的根源。 我使用Nexus 7 2013(原始rom,未修改)进行了测试,但遇到了同样的问题。 我已阅读过wifi可能会导致问题,所以我禁用了它,但它仍然是一样的。 我在Play商店上的Radius Networks应用程序也遇到了同样的问题:iBeacon定位 我想知道是否有人对这个库有问题? 有什么办法可以解决这个问题? 您知道我可以使用的另一个不会引起此类问题的库吗? 任何帮助,感激不尽。 先感谢您。 回答1
  • iBeacons的三角剖分示例(Triangulate example for iBeacons)
    问题 我正在研究使用多个iBeacon进行“粗略”室内位置定位的可能性。 该应用程序是一种“博物馆”设置,并且能够形成一个网格,该网格具有用于放置不同对象的位置的网格,而不是形成单个信标的网格(尽管这可能也不是不可能的)。 是否有使用多个信标进行三角定位到某种位置的示例,经验或某种逻辑来帮助我自己编写呢? 回答1 我一直在做一些实验,以使用三个信标获得精确的位置。 三边测量结果 不幸的是,结果在质量方面令人非常失望。 主要有两个问题: 在不受控制的环境中,您会发现金属和其他会影响信号的物体,信标的接收信号强度经常变化,因此似乎无法获得5米以下的误差范围。 根据用户处理接收器设备的方式,读数也会发生很大变化。 如果用户将他/她的手放在蓝牙天线上,则该算法将以低信号作为输入,因此信标将被认为距离设备很远。 请参阅此图像以查看蓝牙天线的精确位置。 可能的解决方案 在与一位苹果的工程师交谈后,我积极劝阻我不要这样下去,我现在更倾向于使用的选择是蛮力。 尝试每隔X米设置一个信标(X是系统中允许的最大误差),因此我们可以通过计算网格上哪个信标最接近该设备并假设该信标在该信标网格上跟踪给定设备的位置。设备在同一位置。 三边测量算法 但是,出于完整性考虑,我在下面介绍了三边测量算法的核心功能。 它基于本文的第3段(“已知三个距离”)。 - (CGPoint
  • 使用 ibeacons 时确定确切位置的工具(Tools to determine exact location when using ibeacons)
    问题 我们正在与一位零售客户合作,他想知道在整个商店中使用多个 iBeacon 是否有助于跟踪客户在商店内时的确切位置(当然,当他们安装了客户的应用程序时)。 我想知道有哪些软件工具可以用于此目的? 很明显,在基本层面上,可以根据设备与多个(至少 2 个)iBeacon 的相对距离来确定设备的位置。 如果是这样,难道没有工具可以帮助解决这个问题吗? 谢谢 回答1 显然,由于 RSSI 值(蓝牙信号)的不一致,这不太可能很好地工作。 但是,这是您可能想要采取的方向(改编自大量 stackoverflow 研究): 过滤RSSI 每当信标被测距时,我都会使用滚动过滤器,使用 0.1 的 kFilteringFactor: rollingRssi = (beacon.rssi * kFilteringFactor) + (rollingRssi * (1.0 - kFilteringFactor)); 我用它来获得滚动精度值(以米为单位)。 (感谢大卫!) - (double)calculateAccuracyWithRSSI:(double)rssi { //formula adapted from David Young's Radius Networks Android iBeacon Code if (rssi == 0) { return -1.0; // if we
  • iBeacon“远”,“近”和“立即”的标称距离是多少?(What are the nominal distances for iBeacon “Far”, “Near”, and “Immediate”)
    问题 我一直在使用iOS 7中新的iBeacon API将iOS设备用作广播者和接收者。 文档没有详细介绍接收设备应看到每个接近指示器的距离,并专门将它们称为“相对”。 在使用演示应用进行实验时,我观察到了这些距离(iPhone ==接收器,iPad ==广播器): 远-50英尺? 近-2-3英尺 立即-2英寸 这些对我来说似乎很小,也许在CLBeaconRegion类引用中有一个提示,它使您可以在1m之外指定设备的信号强度。 pheralDataWithMeasuredPower: 检索可用于将当前设备作为信标发布的数据。 参数实测功率设备的接收信号强度指示器(RSSI)值(以分贝为单位)。 该值表示从一米远处测得的信标强度,并在测距期间使用。 指定nil以使用设备的默认值。 我的业余校准得出-60,我对其进行了设置并重新测试: 远-几百英尺 近-〜50英尺 立即-1米(略小) 根据Apple的说法,第二次测试的结果是否在“理想”范围内? 它们确实与我在第一次测试中遇到的“默认”设置相去甚远。 还是我应该根据自己的需要考虑这些范围“可校准”? 回答1 根据我对API的了解,实际距离永远无法保证,您不应将读数视为准确的测量结果。 接近度用于确定不同信标之间的相对距离,以便您可以根据应用程序要求进行相应响应。 话虽如此,Apple肯定在其文档中画了一个灰色区域。
  • 我们可以在 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,然后一旦您收到数据包
  • 如何获取Kontakt ibeacons的电池电量(How to get battery level of Kontakt ibeacons)
    问题 kontakt的ibeacon信标布局为 m:2-3 = 0215,i:4-19,i:20-21,i:22-23,p:24-24,d:25-25 我正在为Android使用altbeacon库进行检测,但是我无法获得信标的电池电量,这里的回答是说他们正在传输功率电平,但是我无法获取。 此外,此页上的注释(从第100行到第103行)还描述了希望的字节结构,希望对您有所帮助。 我如何从信标获取电池​​电量。 回答1 如果您的信标布局表达式对该信标是正确的,则可以使用以下命令读取d25-25数据字段的电池值: long batteryLevel=beacon.getDataFields().get(0); 请参阅文档以在此处读取数据字段: http://altbeacon.github.io/android-beacon-library/javadoc/org/altbeacon/beacon/Beacon.html#getDataFields() 但是,问题中的第一个链接提到该字段位于信标的“扫描响应”中。 如果该声明正确无误,则意味着电池电量根本不在广告中,因此,如果不单独轮询此信息,您将无法获得该电量。
  • iBeacons:检测背景中的接近度变化(iBeacons: Detect proximity change in background)
    问题 我试图了解您应该如何检测背景中的接近度变化。 我进入范围的唯一窗口是当我进入一个区域时,但这可能很远。 当用户输入“near”或“immidiate”时,我想展示一些东西,但是如果你在远处得到“didEnterRegion”,而不是站在附近,然后接近信标,你就没有更多的测距时间,因为你是还是在同一个地区。 有没有办法延长“测距”时间以让用户靠近信标,或者您可以使“enterRegion”发生在与“far”不同的接近度? 回答1 正如查尔斯在回答中所说,背景测距时间仅限于几秒钟。 如果您需要延迟操作,直到您在附近区域,那么您必须使用 iBeacon,它可以让您降低传输功率,从而使传输半径更小。 RadiusNetworks 的 RadBeacon 产品具有针对此确切目的的这种可配置性。 如果您将 RadBeacon 配置为最小发射功率,则您的手机在几英尺远之前不会检测到它,向您发送进入事件并在那时启动您的有限测距窗口。 完全披露:我是 Radius Networks 的首席工程师。 回答2 本演练展示了如何执行您的要求。 我正在为 iOS 8 调整和测试它,但生成的应用程序在 iOS 7 上运行良好,只要接近度发生变化就会推送本地通知。 回答3 在 Apple 的 iBeacon 入门指南的最佳实践部分中,它提到不应在后台使用测距 API。 • 预计不会在后台使用测距 API。
  • iBeacons:检测背景中的接近度变化(iBeacons: Detect proximity change in background)
    问题 我试图了解您应该如何检测背景中的接近度变化。 我进入范围的唯一窗口是当我进入一个区域时,但这可能很远。 当用户输入“near”或“immidiate”时,我想展示一些东西,但是如果你在远处得到“didEnterRegion”,而不是站在附近,然后接近信标,你就没有更多的测距时间,因为你是还是在同一个地区。 有没有办法延长“测距”时间以让用户靠近信标,或者您可以使“enterRegion”发生在与“far”不同的接近度? 回答1 正如查尔斯在回答中所说,背景测距时间仅限于几秒钟。 如果您需要延迟操作,直到您在附近区域,那么您必须使用 iBeacon,它可以让您降低传输功率,从而使传输半径更小。 RadiusNetworks 的 RadBeacon 产品具有针对此确切目的的这种可配置性。 如果您将 RadBeacon 配置为最小发射功率,则您的手机在几英尺远之前不会检测到它,向您发送进入事件并在那时启动您的有限测距窗口。 完全披露:我是 Radius Networks 的首席工程师。 回答2 本演练展示了如何执行您的要求。 我正在为 iOS 8 调整和测试它,但生成的应用程序在 iOS 7 上运行良好,只要接近度发生变化就会推送本地通知。 回答3 在 Apple 的 iBeacon 入门指南的最佳实践部分中,它提到不应在后台使用测距 API。 • 预计不会在后台使用测距 API。
  • iBeacon 协议说明(iBeacon protocol clarification)
    问题 我试图更多地了解新的 Apple iBeacon 协议以及它如何应用于其他设备。 我已经看到协议本身被逆向工程:http://developer.radiusnetworks.com/2013/10/01/reverse-engineering-the-ibeacon-profile.html 这是个好消息,但我还有一些问题关于协议。 该协议是否旨在允许将自定义文本消息发送给接收方客户端? 例如“欢迎来到我的商店”,而不是仅仅靠近某个信标? 我可以看到很多其他 SO 问题,但我对将文本(以十六进制)注入协议的位置感到有些困惑。 什么是 iBeacon 蓝牙配置文件 使用 BlueZ Stack 作为外围设备(广告商) 看起来协议设置为仅真正广播 UUID 和主要/次要集的信标,然后客户端应用程序需要对其进行处理。 但我希望它更多地反映自定义消息,例如“进来喝杯免费咖啡”或类似的东西……使用 iBeacon 协议是否可行,还是我只需要为此使用标准蓝牙 LE? 回答1 除了三部分标识符(UUID、Major、Minor)和发射机功率校准值之外,标准 iBeacon 不会也不能传输任何东西。 您不能让他们传输自定义文本消息。 您可以按照您的建议使用较低级别的蓝牙 LE,但无论哪种方式,您都必须构建一个自定义应用程序,该应用程序可以识别来自任一类型信标的信号。
  • 蓝牙常见词汇及蓝牙技术详解
    随着互联网信息时代的到来,可移动的便携式智能产品一经推出便让无数“智能发烧友”疯狂。可穿戴设备从最初MP3听歌,逐步发展到无线蓝牙耳机、VR设备。 而可穿戴设备市场的快速增长离不开蓝牙通信技术的发展,随着蓝牙4.0技术的普及和移动互联网的崛起,蓝牙技术应用也从手机、平板等便携式设备向着物联网、医疗等领域发展,基于蓝牙技术的应用方案如雨后春笋般爆发,为物联网市场带来了新的机遇。 谈及蓝牙,我们会经常听到BLE、Beacon、iBeacon、Eddytstone等词汇,而它们之间有何联系与区别呢?下面我们对蓝牙常见词汇及应用涉及的蓝牙技术进行详解。 一、蓝牙常见词汇解释 BLE:全称为Bluetooth Low Energy,蓝牙低功耗技术。 Beacon:基于蓝牙4.0协议的一种精确定位技术。 iBeacon:苹果公司2013年推出的一套遵守Beacon技术协议的规范,需要遵守苹果公司规定的数据格式。 Eddystone:谷歌公司2015年推出的一款跨平台的开源Beacon格式蓝牙协议。 我们日常生活中常说的蓝牙,其实通常是指BLE,蓝牙低功耗技术,如名字所示,现在的蓝牙技术所消耗的功耗很低,并不像传闻中,不使用蓝牙需要关闭省电,手机上长期打开蓝牙所消耗的电量可以忽略不计。 二、BLE的起源与分类 BLE,也就是低功耗蓝牙技术,起源于2006年Nokia(诺基亚)的Wibree技术
  • iBeacon 广告 ID 是否唯一?(Are iBeacon advertising IDs unique?)
    问题 我们正在与 iBeaons 讨论在跨国多个地点的大规模部署方案。 有人提出了一个问题,即 iBeacons 用于宣传其存在的 ID 是否是唯一的? 因为我们的客户希望真正确定该应用程序仅响应特定的 iBeacons,而不响应其他冒充相同 ID 的内容(即使是无意中)。 如果不是唯一的,协议是否允许 iBecaons 公布任何额外的身份验证信息? 回答1 完全有可能冒充另一个 iBeacon。 我带着 Android iBeacon Locate 应用程序的副本去了华盛顿特区的 Apple Store,并用它来扫描 Apple 商店中 iBeacon 的标识符。 然后我回到我的办公室并配置我自己的 iBeacon 来传输同样的三部分标识符,并且能够让我的 iPhone 在商店中从 Apple 获得相同的消息。 如果其他人真的想这样做,您就无法阻止他们这样做。 但好消息是,对于大多数用例,其他人并没有真正的动机来这样做。 也就是说,iBeacon 标识符的无意重叠是极不可能的。 如果您使用标准 UUID 生成器生成自己的 ProximityUUID,则另一个生成的 ProximityUUID 意外相同的几率非常小——小于被陨石击中的几率。 标准 iBeacons 没有任何其他身份验证机制。 它们是无连接、仅传输的设备,仅发送由三部分组成的标识符(接近 UUID、主要、次要
  • 云台信标发现(Gimbal beacon discovery)
    问题 是否可以使用iOS SDK查找Gimbal信标? 我想使用简单的测距,但我不知道发射器的UUID。 回答1 是的,您可以将Gimbals用作iBeacons。 您必须使用iBeacon配置重新配置它。 登录到Gimbal网站,如果没有,请创建一个帐户。 https://proximity.gimbal.com/ 打开接近标签。 单击顶部的“管理配置”按钮并创建新配置,选择iBeacon作为信标类型,分配UUID,主要和次要。 您可以选择任何您想要的UUID。 现在注册您的Gimbal信标,然后选择新的配置。 您必须打开信标才能获得注册所需的工厂ID。 下载适用于iPhone的Gimbal Manager应用程序,将其打开,然后选择“配置”选项。 打开Gimbal并取出电池,将面糊放回去,然后您应该在Gimbal Manager应用程序中看到信标,然后单击“更新”按钮。 就是这样,现在您的云台处于iBeacon模式。 回答2 如果有人感兴趣,我会在http://beekn.net/2013/12/inside-gimbal-qualcomm-beacons-tackle-bluetooth-le-challenges/上找到此有用的帖子: 实际上,您无法嗅探iBeacon UUID,因为Gimbal将自己的实现用于其信标。 他们使用BLE传输随每次广播而变化的加密ID
  • 蓝牙 LE 的 txPower 究竟是什么以及它是如何使用的?(What exactly is txPower for Bluetooth LE and how is it used?)
    问题 我试图了解 txPower 究竟是什么以及如何使用它,因为我计划开发使用 Beacons 的 Android 应用程序。 我在网上看到了两个定义: 1.信标的发射功率。 2. 距离信标1米处的接收功率。 这两个定义有什么关系? 此外,当使用 QuickBeacon 等应用程序从设备传输 Beacon 信号时,如何确定将功率 (txPower) 设置为什么? 回答1 大多数信标格式在传输中包含一个字节,指示当您在一米外时预期的信号电平应该是多少。 该字节有时称为txPower (传输功率的缩写),有时称为测量功率。 不要将此与某些信标模型上的第二个配置设置混淆,后者可让您改变发射器实际发送广播的强度。 这通常称为发射功率,这就是为什么测量功率是一个不太容易混淆的术语。 测量的功率场用于进行距离估计。 如果手机发现它的信号电平与信标发射的测量功率场相同,它就知道它正好在一米之外。 如果它有更强的信号,它就知道距离更近了。 如果它有一个较弱的信号,它就知道它离得更远。 使用公式,您可以大致了解以米为单位的距离。 使此距离估计准确需要将测量的功率场正确设置为一米处的预期信号电平。 它通常由制造商预先配置到信标中,但通常是可调节的。 你为什么要调整它? 如果将信标放在机柜内,它可能会衰减信号。 如果您将信标靠在金属墙上,它可能会因反射而增加信号。 因此
  • 如何测量像 iBeacon 一样的 iPhone 和 Android 设备之间的距离(How to measure the distance between an iPhone acting like an iBeacon and an Android device)
    问题 我将 iPhone 用作 iBeacon 设备,另一方面,我有一个 Android 4.4.2 设备扫描来自 iPhone 的蓝牙 LE iBeacon 信号。 我搜索了一种很好且简单的方法来计算 iBeacons 和我的 Android 手机之间的距离,但是我找不到任何可以帮助我解决这个问题的方法。 你能帮我解决这个问题吗? 回答1 恐怕无法准确测量信标距离,这就是为什么 Apple 自己的代码只说“立即”、“近”、“远”和“未知”的原因。 您能做的最好的事情是重建您期望的条件,然后进行反复试验以将信号强度映射到可能的距离。 相信我:我花了很多时间尝试使用一系列硬件进行信标距离测量。 请记住,蓝牙 LE 中的 LE 意味着“低能耗”——这个东西确实是为了尽可能少地使用功率而设计的。 这意味着来自 iBeacons 的信号会被人、墙壁和其他物体中断。 所以,如果我手里拿着一个信标并将我的手机放在它旁边,我会得到一个很强的信号。 如果我将信标移到背后,信号强度就会崩溃。 如果我只是转身,那会产生同样的效果(出于同样的原因)。 如果您想采用“尽力而为”的方法,您必须有效地至少部分地重新创建将使用您的应用程序的环境。 因此,如果您的应用程序将在办公室中使用,请找到一个办公室并在那里放置一些信标。 在店里也是一样。 然后取出您的应用程序并测量与信标不同距离处的信标强度,可能有障碍物。