The Bluetooth LE protocol supports two different communication styles: connection-oriented communication and broadcast communication.
Connection-oriented communication: When there is a dedicated connection between devices, so the communication is bi-directional.
Broadcast communication: When devices communicate without establishing a connection first, by broadcasting data packets to all devices within range.
The GAP layer defines specific device roles for nodes in a Bluetooth LE network. These roles determine things like how the device advertises its presence, or how it scans and connects to other nodes.
Advertising and scanning refers to the process by which Bluetooth LE devices become aware of each other’s presence and connection possibilities. For two Bluetooth LE devices to connect to each other, one of them needs to advertise its presence and willingness to connect, while the other will scan for such devices.
Advertising: The process of transmitting advertising packets, either just to broadcast data or to be discovered by another device. Scanning: The process of listening for advertising packets.
Central and peripheral
In the previous example, the device that advertises its presence and willingness to connect is acting as the peripheral. While the device that scans for advertisements is the central. If the peripheral’s advertisement packets are scanned by the central, the central can choose to initiate a connection by sending a connection request to the peripheral. The peripheral and the central have then established a connection.
Central: A device role that scans and initiates connections with peripherals. Peripheral: A device role that advertises and accepts connections from centrals.
The central device can send connection requests to more than one peripheral simultaneously, and it assumes the role of the host in this connection. Peripherals can also accept connection requests from other centrals by restarting the advertising process after a connection has been established.
Since the central acts as the host, it is responsible for typical host-role duties such as connection management and much of the data processing. This means peripherals generally use less power than a central.
IoT devices that are resource constrained and require low-power are usually the peripheral device in a Bluetooth LE connection, while the central device is something like a mobile phone, which has more power.
Since the most common use-case for our devices is as a peripheral, that is the connection topology we will examine in the exercises in this course.
Broadcaster and observer
Sometimes devices only wish to broadcast information without being in a connection with another device. In this case, a special kind of peripheral, called a broadcaster, can send out advertisement packets, but without receiving any packets or allowing connection requests. The information that is broadcasted is included in the advertisement packets. A very good example of broadcasters are beacon devices. They only transmit information, without the need to connect to a specific device. On the other end, a special kind of central device called an observer, listens for the advertising packets, but without sending a connection request to initiate a connection.
Broadcaster: A special kind of peripheral that broadcasts advertisement packets without accepting any connection requests. Observer: A special kind of central that listens to advertising packets without initiating a connection.
For simplicity, we will stick to the peripheral/central device roles throughout this course, unless otherwise noted.
Now that we have established the different roles of a Bluetooth LE device, let’s look at how the device roles are used in the different network topologies possible with Bluetooth LE.
In a broadcast topology, the data transfer happens without the devices ever establishing a connection. This is done by using the advertisement packets to broadcast the data to any device that is in range to receive the packets. A peripheral (more specifically a broadcaster) advertises the data, and the central (more specifically an observer) will scan and read the data from the advertisement packets.
This type of communication is commonly used in proximity beacons, in indoor navigation, and many other applications that require a low-power device to transmit small amounts of data to many other devices simultaneously.
The advantage to a broadcast topology is that there is no limit to how many devices one can broadcast to. Anyone in range of the advertisement packets can receive the information. This is also much more power efficient than connection-oriented communication. However, due to the limited data available in the advertisement packets, the throughput is limited. There is also no acknowledgment from the receiving devices.
A connected network topology establishes a connection before the transfer of data occurs. Unlike the broadcast topology, the communication is now bidirectional.
Although the Bluetooth LE specification technically does not limit the number of connections possible, there are bandwidth and hardware limitations that come with using small embedded devices.
Below is an example of a connected topology where a central has established communication with three peripherals, and one of those peripherals is already connected to two other centrals.
The advantage of a connected topology is the increased throughput that comes with establishing a direct link before communication. Additionally, the communication is bi-directional, meaning that the central and peripheral can communicate with each other, as opposed to broadcasting, where the peripheral just broadcasts to the central without being able to receive anything back.
More on this
With the introduction of Periodic Advertising with Responses (PAwR) in Bluetooth 5.4, bidirectional communication in connectionless mode is possible. This is however beyond the scope of this course
A single device can also operate in multiple different roles simultaneously. For instance, the same device can act as a peripheral in one setting, and a central in another.
This multi-role functionality is often used in systems where a device, let’s call it a hub, is receiving sensor data from multiple sensors, but also wants to forward this data to mobile phones. In this case, the hub can act as a central and connect to multiple sensors (peripherals), and can also act as a peripheral and transmit sensor data to one or more smartphones (centrals).