【问题标题】:android - how to get the IP address of a BLE beacon deviceandroid - 如何获取 BLE 信标设备的 IP 地址
【发布时间】:2017-04-26 08:45:36
【问题描述】:

我正在开发一个扫描范围内的 BLE 信标的 Android 应用程序。信标可以是 ibeacon 或 eddystone 格式。发现信标后,我可以获取扫描回调并找到 UUID、主要编号和次要编号。我需要找到信标的 IP 地址(类似于微芯片发现应用程序似乎正在做的事情)。我不能使用其他应用程序,因为我的应用程序必须具有更多功能。第一个问题 - 所有 BLE 设备都有 IP 地址吗?第二个问题 - 如何找到检测到的 BLE 设备的 IP 地址。我确实搜索了有关此主题的各种帖子,并且已经搜索了大约 4 个小时,但我无法找到答案。谁能给我一个解决方案或将我指向描述该解决方案的帖子?

【问题讨论】:

    标签: android bluetooth-lowenergy beacon eddystone


    【解决方案1】:

    你到底想解决什么问题?

    蓝牙和低功耗蓝牙是与 IP(互联网协议)不同的协议。因此 BLE 设备没有 IP 地址,就像 IP 设备没有蓝牙设备地址一样。

    当然,如果您有大型产品(如计算机),它可以同时具有 WiFi 模块和蓝牙模块。

    然而,有一些 IP over BLE 实现,例如 https://www.rfc-editor.org/rfc/rfc7668。那是你要找的吗?我会假设没有任何 Beacon 设备会这样做,因为它与用例并不匹配。

    【讨论】:

      【解决方案2】:

      您可以通过BluetoothDevice.getAddress()获取BLE设备的硬件地址。

      假设您使用onLeScan(BluetoothDevice device, int rssi, byte[] scanRecord) 回调来提供附近找到的BluetoothDevice 的扫描结果。

      【讨论】:

      • 我的问题是如何获取IP地址。我知道 BluetoothDevice.getAddress() 返回硬件地址,但这不是我要找的。​​span>
      【解决方案3】:

      iBeacon 规范仅定义 UUID、主要和次要值。 Eddystone 格式添加了一些附加信息(特别是 URL 和有关设备本身的信息,例如电池电量)。

      许多信标具有供应商特定的 BLE 服务以允许设备配置。供应商也可以添加一个 IP 接口进行管理,但我建议这些只是少数信标;信标通常是低成本、低功耗的仅广播设备。

      配置 BLE 服务和 IP 配置服务都不是 iBeacon 或 Eddystone 标准的一部分。如果您确实有带有 IP 接口的信标,那么您需要从信标供应商处获取详细信息。

      【讨论】:

      • 谢谢。这就是我所想的。但是微芯片发现应用程序是通用下载,没有针对任何特定信标类型进行任何自定义,它显示 IP 地址。所以,我想知道是否定义了一个可以提供 IP 地址的标准属性/特征(如在 BluetoothCharacteristic 中)。从你的回答看来,不是。所以,我最初的问题仍然是如何获取 IP 地址。
      • 我会说 99.9% 的信标没有 IP 地址,所以我不确定该应用程序显示什么。您是否有指向您所指应用的链接?
      【解决方案4】:

      问)第一个问题 - 所有 BLE 设备都有 IP 地址吗?

      不,BLE 设备中没有 IP 地址。

      Q)第二个问题 - 如何找到检测到的 BLE 设备的 IP 地址。我确实搜索了有关此主题的各种帖子,并且已经搜索了大约 4 个小时,但我无法找到答案。谁能给我一个解决方案或将我指向描述该解决方案的帖子?

      许多信标制造商制造的 BLE 设备宣传自定义有效负载,因此他们可以发送他们想要的任何信息。

      void onLeScan (BluetoothDevice device, 
                      int rssi, 
                      byte[] scanRecord)
      

      您可以在scanRecord 中获取有效负载。如果您的信标正在广播 IP 地址参数,它应该在有效负载中,但您需要对其进行解析,请让信标制造商帮助您从有效负载中获取该 IP 地址参数。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-04
        • 1970-01-01
        • 2013-06-29
        • 2015-02-26
        • 2021-04-04
        • 1970-01-01
        • 1970-01-01
        • 2019-02-09
        相关资源
        最近更新 更多