繁体   English   中英

android-如何获取BLE信标设备的IP地址

[英]android - how to get the IP address of a BLE beacon device

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

您到底想解决什么?

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

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

但是,存在基于BLE的IP实现,例如https://tools.ietf.org/html/rfc7668 那是您要找的东西吗? 我认为没有信标设备会这样做,因为它与用例不符。

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

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

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

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

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

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

否BLE设备中没有IP地址。

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

许多信标制造商制造的BLE设备会发布自定义有效负载,因此他们可以发送所需的任何信息。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM