WP_Term Object
(
    [term_id] => 16208
    [name] => eInfochips
    [slug] => einfochips
    [term_group] => 0
    [term_taxonomy_id] => 16208
    [taxonomy] => category
    [description] => 
    [parent] => 386
    [count] => 5
    [filter] => raw
    [cat_ID] => 16208
    [category_count] => 5
    [category_description] => 
    [cat_name] => eInfochips
    [category_nicename] => einfochips
    [category_parent] => 386
)
            
eInfochips Semiwiki Profile Banner
WP_Term Object
(
    [term_id] => 16208
    [name] => eInfochips
    [slug] => einfochips
    [term_group] => 0
    [term_taxonomy_id] => 16208
    [taxonomy] => category
    [description] => 
    [parent] => 386
    [count] => 5
    [filter] => raw
    [cat_ID] => 16208
    [category_count] => 5
    [category_description] => 
    [cat_name] => eInfochips
    [category_nicename] => einfochips
    [category_parent] => 386
)

Understanding BLE Beacons and their Applications

Understanding BLE Beacons and their Applications
by eInfochips on 09-14-2021 at 10:00 am

Bluetooth Low Energy (BLE) beacon is mostly a small battery powered radio transmitter that sends Bluetooth advertising packets containing information like URL (Universal Resource Locator), UUID (Universal Unique Identifier), battery voltage, temperature, transmit power at regular intervals to the mobile or fixed devices. The beacon sends BLE advertisement packet in a specific format. There are two well-known beacon formats:

  1. iBeacon – developed by Apple
  2. Eddystone – developed by Google

The beacons are one-way communication devices. It means that they send the information but cannot request or receive information from other devices. So, by design they are very simple to implement. Before we get into the details of the iBeacon and the Eddystone beacons, let’s understand the BLE advertising packet.

BLE Advertising packet:

Images JPEG.zip (Unzipped Files)-20210911T013840Z-001 1. BLE Advertising packet

BLE Advertising Header:

2. BLE Advertising Header

BLE Advertising Payload:

3. BLE Advertising Payload

As you can see in the above images, the BLE advertising packet contains a 16-bit header and a maximum of 255 octets of payload. This means that you can transmit data up to 255 octets in the advertising packet. Out of these 255 bytes, one byte is length and another byte is AD Type. Therefore, the actual data information reduces to 253 bytes. The iBeacon uses 30 bytes of payload and the Eddystone uses up to 31 bytes of payload that depends on the type of data it sends. As the earlier Bluetooth Protocol (4 or earlier) used to allow only 31 bytes in advertising, most of the beacons have a maximum length of 31 bytes, though that’s not necessary in BLE 5.1 and beyond.

iBeacon

Now, let us take a look at the standard packet format of the iBeacon packet. The packet format is as below:

Byte 0: Length: 0x02

Byte 1:  Type:     0x01 (Flags)

Byte 2: Value:    0x06 (Typical, LE General Discoverable, BR/EDR not supported)

Byte 3: Length: 0x1a

Byte 4: Type:      0xFF (Custom Manufacturer Data)

Byte 5-6: Manufacturer ID 0x4C00

Byte 7: Subtype: 0x02     (Beacon)

Byte 8: Subtype Length: 0x15

Byte 9-24: UUID (Universal Unique Identifier)

Byte 25-26: Major Number (user defined number)

Byte 27-28: Minor Number (user defined number)

Byte 29: Tx Power in dBM@1meter (Used to calculate distance using the RSSI (Received Signal Strength Indicator))

Below is the real-time packet captured for nRF Beacon (Beacon defined for Nordic Semiconductor, not iBeacon) on the nRF Connect App. This beacon definition is the same as iBeacon, except the user defined values and flag.

4. Raw Data

Eddystone

Eddystone has three different types of protocols: Eddystone-URL, Eddystone-UID, and Eddystone-TLM.

The packet format of Eddystone-URL is as below:

Byte 0: Frame Type:       0x00

Byte 1:  Tx Power:            Calibrated at Tx power at 0 meter

Byte 2: URL Type:            0x00 for “http://www.”, 0x01 for “https://www.”,

0x02 for “http://”, 0x03 for https://

Byte 3+: Encoded URL:   The URL is provided in ASCII (American Standard Code for Information Interchange) characters, except the prefix and the last byte. These values are used for expansion or reserved for future use. Below is the expansion list:

0x00 – .com/

0x01 – .org/

0x02 – .edu/

0x03 – .net/

0x04 – .info/

0x05 – .biz/

0x06 – .gov/

The values 0x07 to 0x0d are the same as above without the /, which means 0x07 is “.com”. 0x0e to 0x20 and 0x7f to 0xff are reserved for future use.

Below is the Eddystone-URL packet captured on nRF Connect App:

5. NRF Beacons

The packet format of Eddystone-UID is as below:

Byte 0: Frame Type:       0x00

Byte 1:  Tx Power:            Calibrated at Tx power at 0 meter

Byte 2-11: Name Space ID: elided UUID

Byte 12-17: Instance ID: These six bytes can be assigned by the user by any method like random, sequential, or any other method.

Byte 18-19: RFU:              Reserved for future use

The packet format of Eddystone-TLM unencrypted is as below:

Byte 0:  Frame Type:      0x20

Byte 1:  Version:              0x00

Byte 2-3: VBAT:                Battery Voltage, 1mV/bit

Byte 4-5: TEMP:                Beacon Temperature

Byte 6-9: ADC_CNT:        Advertising PDU count

Byte 10-13: SEC_CNT:     Time since power-on or reboot

The packet format of Eddystone-TLM encrypted is as below:

Byte 0:  Frame Type:      0x20

Byte 1:  Version:              0x01

Byte 2-13: ETLM[0-11]: Encrypted Telemetry Data

Byte 14-15: SALT:             Encryption Salt

Byte 16-17: MIC:              Message Integrity Check

As you can see that the Eddystone TLM packet does not have the identification information within the packet, it needs to be interleaved with the identification type messages like Eddystone-URL or Eddystone-UID.

BLE Beacon Application Areas:

BLE beacons are used in different industries like retail, healthcare, entertainment, travel, and industrial automation. Below are the various usages of the beacons in different industries:

Positioning

As the beacon transmits the UUID information in a short range, a mobile application or an Operating System can easily capture this and display the location of the product/item to which the tag is attached. For example, if the tag is attached to a product which is on an assembly line, it can show the real-time location of the product in the assembly line.

The other application can be in a museum, where a beacon tag can be attached to a specific art and when the visitors come close to that particular art, the beacon sends the URL information on their mobile phones. The visitors can open the URL and get more information about the art. Another area of use can be monitoring of the visitors in the museum, where a tag is attached with each of them. So, the staff can check the number of visitors in a specific section of the museum and guide them as required.

Telemetry

The beacon tag can be fixed at any specific location and it can send varied information like the temperature, battery voltage, humidity, or any other physical parameter of interest to the mobile device/fixed receiver. For example, if the tag is attached to a fire-alarm, it can send its battery voltage information to the receiving device and schedule battery replacement.

Distance Measurement

As the beacons transmit the reference transmits signal strength value, you can calculate the approximate distance from the beacon using the RSSI at the receiver’s end.

Direction Finding

You can determine the beacon’s direction now with the introduction of location services in the BLE 5.1. You can also achieve sub-meter accuracy. This direction-finding service can be used in proximity marketing to find the point-of-interest, item finding by putting tags on personal items, asset-tracking, and indoor positioning.

Conclusion

As we can see from the above packet formats and usage, the BLE beacons are easy to implement, and they are being used in various industries. With the increase in advertising payload in BLE 5.1 and the introduction of location service, the usage of beacons will further increase. Developer can write their proprietary beacons to suite their application.

eInfochips provides Bluetooth implementation services including product development and testing for smart devices across various domains like retail, healthcare, travel, entertainment, and industrial automation. To know more about our services, please contact our experts today.

 

About The Author
Akhileshsingh Saithwar, works as a Member Technical Staff at eInfochips – An Arrow company.  He holds a bachelor’s degree in Electronics and Communication from Bhavnagar University, Gujarat. He has experience of working in multiple embedded domains like Avionics, Networking, Industrial Automation, and Consumer Electronics. His responsibilities include requirement gathering, validation, development, and verification in the software development life cycle.

Share this post via:

Comments

There are no comments yet.

You must register or log in to view/post comments.