google / eddystone

Specification for Eddystone, an open beacon format from Google
Apache License 2.0
3.08k stars 762 forks source link

Number of EID slots and ETLM #174

Open samueleforconi opened 8 years ago

samueleforconi commented 8 years ago

Reading the Eddystone Specification I haven't found any limitation regarding the number of EID slots that a beacon could broadcast. It seems that a single beacon could also broadcast 2 or more different EID slots... is this correct? If this is the case, my question is: if a beacon is broadcasting 2 or more EID slots, and another slot is configured as ETLM, which Identity Key / Time Counter should be used to encrypt the ETLM packet?

samueleforconi commented 8 years ago

Ok, in the Spec I've found this:

If the beacon is configured to broadcast multiple EID frames, then the beacon should cycle through the set identity keys and use them in turn to broadcast an equal number of ETLM frames.

That solves the question about what to advertise (a beacon with multiple EID slots should advertise multiple ETLM frames - one for each slot, I think the beacon manufacturer should choose how to cycle through the ID keys).

But this does not solve the question about reading an ETLM ADV Slot Data characteristic when there are multiple EID slots.

When there are multiple EID slots and one TLM (ETLM) slot configured, reading the ETLM ADV Slot Data characteristic what should produce? Which EID Identity Key should be used?

mashbridge commented 8 years ago

You're right, that's an open issue. Right now we say that reading the characteristic should return the data that would be broadcast, so perhaps a useful simplification would be that reading from the slot data characteristic in sequence should use each key in turn to encrypt the data.

We're keen to balance this with the implementation difficultly and open to other suggestions.

mtwooburn commented 6 years ago

Back to basics. What is the definition of Slot? Is that an advert or is that an AD element in an advert?