Developed by Google, Eddystone is an open source beacon specification using Bluetooth low energy.
It’s cross-platform, supporting Android, iOS or any platform that supports BLE beacons.
It’s available on GitHub under the open-source Apache v2.0 license, for everyone to use and help improve.
Eddystone is based on Ephemeral Identifiers (EIDs) that change frequently, and allow only authorized clients to decode them
Benefits:
- Better semantic context and
- Precise location.
Packet Types:
- Eddystone-UID
- Eddystone-URL
- Eddystone-TLM (“telemetry”) :
This packet is broadcast alongside the Eddystone-UID or Eddystone-URL packets and contains beacon’s “health status” (e.g., battery life). This is mainly intended for fleet management, and because of that, the TLM “service” packet is broadcast less frequently than the “data” packets. Eddystone-UID : Contains an identifier of a beacon iBeacon identifier is composed of three parts: UUID, major number and minor number, and is 20 bytes long Eddystone-UID is 16 bytes long and split into two parts:
Namespace (10 bytes) : similar in purpose to iBeacon’s UUID. In iBeacon, you’d usually assign a unique UUID to all of your beacons to easily filter them out from other people’s beacons. In Eddystone-UID, you can do the same with the namespace.
Instance (6 bytes) : similar in purpose to iBeacon’s major and minor numbers, i.e., to differentiate between your individual beacons. With Estimote Beacons broadcasting Eddystone-UID, instance is represented as a string up to 12 characters long
Eddystone-URL :
Contains a single field: URL. The size of the field depends on the length of the URL
The promise and purpose of the Eddystone-URL packet ties directly into the concept of Physical Web.
Eddystone-TLM : Eddystone-TLM packet is designed to be broadcast by the beacon alongside the “data” packets (i.e., UID and/or URL) for the purposes of fleet management. Nearby Bluetooth-capable devices can read these packets and relay them to a fleet management service—like the Estimote Cloud. This service can then notify the owner of the beacon that, e.g., the battery is running out. The telemetry packet consists of:
- Battery voltage, which can be used to estimate the battery level of a Beacon
- Beacon temperature
- Number of packets sent since the beacon was last powered-up or rebootedB
- Beacon up time, i.e., time since last power-up or reboot.