web-dev-qa-db-ja.com

これはAltBeaconのAndroid Beacon LibraryでiBeaconsを検出するための正しいレイアウトですか?

Android Beacon Libraryreference implementation app を次の beacon layout を使用して正常に変更しました。手元に:

public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        BeaconManager beaconManager = BeaconManager.getInstanceForApplication(this);
        beaconManager.getBeaconParsers().add(new BeaconParser().
               setBeaconLayout("m:0-3=4c000215,i:4-19,i:20-21,i:22-23,p:24-24"));
        beaconManager.bind(this);
    }
}

BLEパケットの内部は初めてなので、これが正しいレイアウトかどうかはわかりません。ライブラリは AltBeacon 標準を支持しており、そのドキュメントにはiBeaconデバイスの検出方法が記載されていません。

  • このコードはalliBeaconデバイスを検出しますか?つまり、m:プレフィックスの制限が厳しすぎる、またはiBeacon仕様に一致する正しいバイトシーケンスですか?
  • 同様に、レイアウトの残りの部分はiBeaconの仕様と正確に一致していますか?

参照:

89
ento

それも私にとってはうまくいきました!

4c00の部分はメーカーIDであるため、一致させる必要はないと思います。そのため、おそらくそれを省いてm:2-3 = 0215で始めることができます。

63
mobiledevbrick

iBeacon spec をダウンロードできます(「アートワークと仕様のダウンロード」をクリックします)。

現在のバージョンでは、会社IDmust0x4C00、およびビーコンタイプは0x0215。他のすべてのフィールドは必須であり、指定したとおりです。

はい、あなたは正確に正しいです、そしてそれはすべての準拠したiBeaconsを検出します。

OT:広告間隔は100ミリ秒でなければならないことも指定していますが、すべてのiBeaconsがそれに固執していることを真剣に疑います。

2
Timmmm