android - BLEビーコンデバイスのIPアドレスを取得する方法

私は範囲内のBLEビーコンをスキャンするアンドロイドアプリに取り組んでいます。ビーコンは、ibeaconまたはeddystoneの形式になります。ビーコンを発見した後、私はscancallbackを取得し、UUID、メジャー番号、マイナー番号を見つけることができます。ビーコンのIPアドレスを見つける必要があります(マイクロチップ検出アプリケーションが実行しているように思われるものと同様)。私のアプリはもっと​​多くの機能を持たなければならないので、私は他のアプリを使うことができません。最初の質問 - すべてのBLEデバイスはIPアドレスを取得しますか? 2番目の質問 - 検出されたBLEデバイスのIPアドレスはどうやって見つけることができますか。私はこのトピックに関する様々な投稿を検索しましたが、現在約4時間検索していますが、答えが見つかりません。誰かが私に解決策を与えたり、解決策を説明する記事に私を指摘することはできますか?

0

4 答え

正確には何を解決しようとしていますか?

BluetoothとBluetooth Low Energyは、IP(Internet Protocol)とは異なるプロトコルです。したがって、BLEデバイスにはIPアドレスがありません。IPデバイスにはBluetoothデバイスアドレスがありません。

あなたが(コンピュータのような)大きな製品を持っているならもちろんそれはWiFiモジュールとBluetoothモジュールの両方を持つことができます。

しかし、 https://tools.ietf.org/html/rfc7668。それはあなたが探しているものですか?ただし、Beaconデバイスは実際にはユースケースと一致しないため、これを行うことはできません。

iBeaconの仕様では、UUID、メジャー値、マイナー値のみを定義しています。 Eddystoneフォーマットでは、いくつかの追加情報(特に、URL、およびデバイス自体に関する情報(バッテリレベルなど))が追加されます。

多くのビーコンには、デバイス設定を可能にするためのベンダー固有のBLEサービスがあります。ベンダが管理用のIPインタフェースを追加することも可能ですが、これらはビーコンの少数派になることをお勧めします。ビーコンは通常、低コスト、低電力のブロードキャスト専用デバイスです。

構成BLEサービスもIP構成サービスも、iBeaconまたはEddystone標準の一部ではありません。あなたがIPインターフェースを備えたビーコンを持っているなら、あなたはビーコンベンダーから詳細を得る必要があるでしょう。

0
追加された
私は99.9%のビーコンがIPアドレスを持っていないと言っているので、そのアプリが何を表示しているのかよくわかりません。あなたが参照しているアプリへのリンクがありますか?
追加された 著者 Paulw11,
ありがとう。それが私が考えたことです。しかし、マイクロチップ検出アプリは一般的なダウンロードで、特定のビーコンタイプをカスタマイズすることなく、IPアドレスを表示します。だから、私はIPアドレスを与えることができる(BluetoothCharacteristicのように)定義された標準的な属性/特性があるかどうか疑問に思いました。あなたの答えから、そうではないようです。それで、私の最初の質問はまだIPアドレスを取得する方法について残っています。
追加された 著者 user3925450,

BLEデバイスのハードウェアアドレスは BluetoothDevice.getAddress()で取得できます。

近くにある BluetoothDevice を提供するスキャン結果に onLeScan(BluetoothDeviceデバイス、int rssi、byte [] scanRecord)コールバックを使用しているとします。

0
追加された
私の質問はIPアドレスを取得する方法でした。 BluetoothDevice.getAddress()がハードウェアアドレスを返すことを私は知っていますが、それは私が探しているものではありません。
追加された 著者 user3925450,

Q)最初の質問 - すべてのBLE端末はIPアドレスを取得しますか?

いいえBLEデバイスにIPアドレスはありません。

Q)2番目の質問 - 検出されたBLEデバイスのIPアドレスを確認する方法私はこのトピックに関する様々な投稿を検索しましたが、現在約4時間検索していますが、答えが見つかりません。誰かが私に解決策を与えたり、解決策を説明する投稿を教えてもらえますか。

多くのビーコン製造業者は、カスタムペイロードをアドバタイズするBLEデバイスを製造しているため、必要な情報を送信できます。

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

ペイロードは scanRecord で取得できます。あなたのビーコンがペイロードにあるべきIPアドレスパラメータをブロードキャストしているが、それを解析する必要がある場合は、ペイロードからそのIPアドレスパラメータを取得するのを助けるようにビーコン製造元に依頼してください。

0
追加された