簡體   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