The frequency used is the 2.4GHz, divided into 40 channels from 2.4000 GHz to 2.4835 GHz.
37 Channels are used for data, 3 for advertising.
Frequency hopping spread spectrum is used to minimize interference
(channel = (curr_channel + hop) mod 37)
It provides a reliable data link using a 24-bit CRC and retrasmits packets if errors are detected.
BLE has only one packet format and two types of packets: advertising and data packets.
Each advertising packet can carry up 31 bytes of payload. They are sent at fixed rate, defined by advertising interval.
Scanning can be passive or active. The difference is on the replay that scanner emit after receiving a advertising packet.
Advertising packet types can be:
It has two main protocol:
The smallest data entity are the attributes. Attribute is an abstract concept for storing data.
Each attribute has some metadata that specific which ATT operation can be executed with some permissions.
Each attribute has an handle associated with it, used to identify the attribute on a particular GATT server.
The maximum length of data is 512 bytes, by the specification. No restriction exists on data types.
Slides avaiable on https://apagiaro.it/BLE-slides