私は完全なeddystoneビーコンエミュレータを作成しようとしています。 URL、UIDフレームに問題はありません。 しかし、TLMの余分なデータを出そうとすると、何の作業もしません。ビーコン送信Eddystone TLMフレームAltBeaconいいえ
広告開始時にBeaconParserエクストラパーサーが含まれますか?
これは私のコードです:
//create BeaconParse Like UID and add extraparser for TLM
BeaconParser beaconParser = new BeaconParser();
beaconParser.addExtraDataParser(new BeaconParser().setBeaconLayout(BeaconParser.EDDYSTONE_TLM_LAYOUT));
beaconParser.setBeaconLayout(BeaconParser.EDDYSTONE_UID_LAYOUT);
BeaconTransmitter mBeaconTransmitter = new BeaconTransmitter(this, beaconParser);
//this is the beacon with info for UID and ExtraData with 5 values of TLM
Beacon beacon = new Beacon.Builder()
.setId1("0x2F234454F4911BA9FFA6")//UID
.setId2("0x0BDB87539B67") //UID
.setManufacturer(0xfeaa) //0x00E0 eddystone
.setBeaconTypeCode(0x00) //0X00 withTLM
.setMultiFrameBeacon(true) //TLM
.setServiceUuid(0xfeaa) //TLM
.setTxPower(-65) //UID
.setDataFields(Arrays.asList(new Long[]{0l}))//?
.setExtraDataFields(Arrays.asList(new Long[]{0L, 3580L,5776L, 289780991L, 28978000L}))//TLM extradata
.build();
//then create the Transmitter and start it
BeaconTransmitter bt = new BeaconTransmitter(this, beaconParser);
bt.startAdvertising(beacon);
私はビーコンを検出したときに問題がある、それはMExtraDataFields = nullを付属しています。
私はTLM情報がBeaconTransmitterによって放出されるadvertisingDataに含まれていないと思います。
TLMはサポートされていますか? BeaconTransmitterの制限はありますか、問題は私が気にするビーコンですか?
おそらく、この種の情報を送信するために識別子を使用する必要があります。
私はサムスンS5とサムスンs7Edge、としてみてください、と申し訳ありませんが、それは動作しませんAltBeacon
hey! @davidgyoung私はそれを開発するための時間がまだありませんが、私はTLMのための広告データの情報に関する情報を検索することができます: eddystoneプリアンブルデータ広告パッケージ 0x02,0x01,0x06,0x03,0x03,0xAA、0xFE、0x11、 0x16,0xAA、0xFE プラスTlmサービスデータ –
0x32,0x00(バージョン)... 重要なことは、TLMframeのインターリーブがビーコンリーダーの責任であることです。これは、TLMフレームをURL/UIDと、Bluetoothアドレス。 BeaconTransmitterまたはbluetoohスキャナLEは、毎回異なるbtAddressを要求します。 –