3.5 KiB
Eddystone-URL
The Eddystone-URL frame broadcasts a URL using a compressed encoding format in order to fit more within the limited advertisement packet.
Once decoded, the URL can be used by any client with access to the internet. For example, if an Eddystone-URL beacon were to broadcast the URL https://goo.gl/Aq18zF
, then any client that received this packet could choose to visit that url.
The Eddystone-URL frame forms the backbone of the Physical Web, an effort to enable frictionless discovery of web content relating to one’s surroundings. Eddystone-URL incorporates all of the learnings from the UriBeacon format from which it evolved.
Frame Specification
Byte offset | Field | Description |
---|---|---|
0 | Frame Type | Value = 0x10 |
1 | TX Power | Calibrated Tx power at 0 m |
2 | URL Scheme | Encoded Scheme Prefix |
3+ | Encoded URL | Length 1-17 |
Tx Power Level
Tx power is the received power at 0 meters, in dBm, and the value ranges from -100 dBm to +20 dBm to a resolution of 1 dBm.
Note to developers: the best way to determine the precise value to put into this field is to measure the actual output of your beacon from 1 meter away and then add 41dBm to that. 41dBm is the signal loss that occurs over 1 meter.
The value is a signed 8 bit integer as specified by TX Power Level Bluetooth Characteristic.
Examples
- The value 0x12 is interpreted as +18dBm
- The value 0xEE is interpreted as -18dBm
URL Scheme Prefix
The URL Scheme Prefix byte defines the identifier scheme, an optional prefix and how the remainder of the URL is encoded.
Decimal | Hex | Expansion |
---|---|---|
0 | 0x00 | http://www. |
1 | 0x01 | https://www. |
2 | 0x02 | http:// |
3 | 0x03 | https:// |
Eddystone-URL HTTP URL encoding
The HTTP URL scheme is defined by RFC 1738, for example
https://goo.gl/S6zT6P
, and is used to designate Internet resources
accessible using HTTP (HyperText Transfer Protocol).
The encoding consists of a sequence of characters. Character codes excluded from the URL encoding are used as text expansion codes. When a user agent receives the Eddystone-URL the byte codes in the URL identifier are replaced by the expansion text according to the table below.
Decimal | Hex | Expansion |
---|---|---|
0 | 0x00 | .com/ |
1 | 0x01 | .org/ |
2 | 0x02 | .edu/ |
3 | 0x03 | .net/ |
4 | 0x04 | .info/ |
5 | 0x05 | .biz/ |
6 | 0x06 | .gov/ |
7 | 0x07 | .com |
8 | 0x08 | .org |
9 | 0x09 | .edu |
10 | 0x0a | .net |
11 | 0x0b | .info |
12 | 0x0c | .biz |
13 | 0x0d | .gov |
14..32 | 0x0e..0x20 | Reserved for Future Use |
127..255 | 0x7F..0xFF | Reserved for Future Use |
Note:
- URLs are written only with the graphic printable characters of the US-ASCII coded character set. The octets 00-20 and 7F-FF hexadecimal are not used. See “Excluded US-ASCII Characters” in RFC 2936.
- Range 07-13 define the same top level domains as 00-06 without a /.
See Also
- Configuration Service Specification — An optional GATT service for configuring the Eddystone-URL output of your beacon