Is dit de juiste lay-out om iBeacons te detecteren met de Android Beacon-bibliotheek van AltBeacon?

Ik heb de referentie-implementatie-appvan de Android Beacon-bibliotheekmet behulp van de volgende beacon layout, zodat het een iBeacon-apparaat detecteert dat ik heb op hand:

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);
    }
}

Omdat ik nieuw ben in de interne aspecten van BLE-pakketten, weet ik niet zeker of dit de juiste lay-out is om te gebruiken. De bibliotheek onderschrijft de AltBeacon-standaard en de documentatie vermeldt niet hoe iBeacon-apparaten kunnen worden gedetecteerd.

  • Detecteert deze code alleiBeacon-apparaten? d.w.z. is het voorvoegsel m:te beperkend of is het de juiste bytereeks die overeenkomt met de iBeacon-specificatie?
  • Evenzo, komt de rest van de lay-out exact overeen met de iBeacon-specificaties?

Referentie:


Antwoord 1, autoriteit 100%

Dit werkte voor mij: “m:2-3=0215,i:4-19,i:20-21,i:22-23,p:24-24”

Ik denk niet dat je het 4c00-gedeelte hoeft te matchen, omdat dat de fabrikant-ID is, dus je kunt dat waarschijnlijk weglaten en beginnen met m:2-3=0215 Al het andere ziet er goed uit en het lijkt te werken.


Antwoord 2, autoriteit 7%

Je kunt de iBeacon-specificatiedownloaden (klik op “Download artwork en specificaties”).

In de huidige versie moet de bedrijfs-ID moet0x4C00zijn en moet het bakentype 0x0215zijn. Alle andere velden zijn verplicht, en zoals je hebt aangegeven.

Dus ja, je hebt helemaal gelijk en het zal alle compatibele iBeacons detecteren.

OT: Het specificeert ook dat het advertentie-interval 100 ms moet zijn, maar ik betwijfel ten zeerste of alle iBeacons zich daaraan houden.

Other episodes