阅读Android手机的实际txPower

问题描述 投票:0回答:1

可以找到实际的[[ble

txPower

android设备。这样,我可以在信标生成器对象下使用它,而不用-59作为txPower。

Beacon beacon = new Beacon.Builder() .setId1("2f234454-cf6d-4a0f-adf2-f4911ba9ffa6") .setId2("1") .setId3("2") .setManufacturer(0x0118) .setTxPower(-59) .setDataFields(Arrays.asList(new Long[] {0l})) .build();

我所拥有的用例是读取两个android ble设备之间的距离。
android bluetooth-lowenergy ibeacon-android rssi bluetooth-gatt
1个回答
0
投票
txPower字段应该是1米处以dBm为单位的预期信号强度。每种Android手机型号的BLE发射器输出功率都略有不同,通常在1米处为-50 dBm至-70 dBm。

[不幸的是,除非您自己进行测量,否则没有很好的方法来获取适用于特定Android设备模型的适当值。 Android没有内置API可以获取此值,而且我从未见过任何已发布的规范来自电话制造商。

随着团队开发联系人跟踪应用程序,人们对该主题重新产生了兴趣。实际上,上周末我去了一个野外,以测量我使用过的许多设备的发射机输出功率。以Google Pixel 3a为例,我测得为-60 dBm。

如果您希望自己进行测量以帮助完成此工作,建议您执行以下步骤:

    转到任何障碍物,特别是金属障碍物几米远的空旷区域。
  1. 将电话发射器放在距离地面至少一米的非金属物体上。手机应放置在一端,使屏幕垂直于地面。 (我使用了相机三脚架。)
  2. 运行在三脚架上的手机上以最大功率传输信标的应用程序。
  3. 将参考电话(最好是第一代iPhone SE或旧的iPhone 4-5s)放在一米远的地方,以使两个屏幕都朝向同一方向。
  4. [在Locate Beacon之类的信标应用中进行“校准”,以获取〜30秒内的平均RSSI。
  5. 如果用于测量的电话不是上述参考型号之一,则需要针对该电话的接收器灵敏度进行调整。我共享的电子表格中有一个示例,说明如何针对Pixel 3a测量iPhone SE。当您需要一部具有已知灵敏度或发射器功率输出的手机时,这部分可能会很棘手。
  • 这是我的电子表格,其中包含计算:https://docs.google.com/spreadsheets/d/1-voNJAeHz78AarZmfds8WiplNhUDzeYrsW0YzKfrExU/edit?usp=sharing

    [我还写了一篇blog post,它涉及缺乏好的数据集的问题,并且比您想知道的更多有关信标测距的信息。

  • © www.soinside.com 2019 - 2024. All rights reserved.