2015-11-08 21 views
6

Ich würde gerne wissen, wofür der Beacon Code steht. Ich meine, soweit ich weiß, sollte es das Beacon-Layout identifizieren. Bedeutet das, dass ich jede Art von Layout anpassen und ihm irgendeine Art von Beacon Code zuweisen kann? Ich meine, kann ich etwas in der Art schreiben:AltBeacon setBeaconLayout()

setBeaconLayout ("m: 2-3 = abcd, ich: 4-13, ich: 14-23, p: 24-24, d: 25-25")

Danke für Ihre Hilfe

Antwort

15

Nach AltBeacon docs:

m - ServiceUuid für diese Bake Typ - Matching-Byte-Sequenz für diesen Bake-Typen (genau ein erforderlich)

s zu analysieren zu parsen (optional, nur für Gatt-basierte Beacons)

i - Kennung (mindestens eine erforderlich, mu ltiple erlaubt)

p - Leistungskalibrierungsfeld (genau eine erforderlich)

d - Datenfeld (optional, multiple erlaubt)

x - extra-Layout. Bedeutet, dass das Layout sekundär zu einem primären Layout mit derselben übereinstimmenden Bytefolge (oder ServiceUuid) ist. Zusätzliche Layouts erfordern keine Strom- oder Identifikationsfelder und erstellen Beacon Objekte ohne Identifikatoren.

Beispiel eines Parsers Zeichenfolge für AltBeacon:

„m: 2-3 = Stran, i: 4-19, I: 20,21, H: 22,23, P: 24-24, d : Dies bedeutet, dass decodiert wird der Bake Typ 25-25"

wenn eine Anzeige mit 0xbeac in Bytes 2-3 und eine dreiteilige Kennung 4-19 aus Bytes wird gezogen gefunden wird, Bytes 20-21 und Bytes 22-23 jeweils. Ein unterschriebener Leistungskalibrierungswert wird aus Byte 24 und ein Datenfeld aus Byte 25.

hier ist die list einiger Leuchtfeuer Layouts

ALTBEACON  m:2-3=beac,i:4-19,i:20-21,i:22-23,p:24-24,d:25-25 
EDDYSTONE TLM x,s:0-1=feaa,m:2-2=20,d:3-3,d:4-5,d:6-7,d:8-11,d:12-15 
EDDYSTONE UID s:0-1=feaa,m:2-2=00,p:3-3:-41,i:4-13,i:14-19 
EDDYSTONE URL s:0-1=feaa,m:2-2=10,p:3-3:-41,i:4-20v 
IBEACON  m:2-3=0215,i:4-19,i:20-21,i:22-23,p:24-24 
wird gezogen gezogen werden