What is BLE central and peripheral?
Some customers may confused by some different name for BLE roles, one customer asked us:
What is actually the difference between them all, master, slave, central, peripheral, client, server and so on?
>>> No wonder the customer was confused, but there are two different kind of roles in BLE that it's useful to separate.
First, there is the concept of Central/Peripheral, which has to do with establishing a link. This is also known as the GAP role. A Peripheral can advertise, to let other devices know that it's there, but it is only a Central that can actually send a connection request to estalish a connection. When a link has been established, the Central is sometimes called a Master, while the Peripheral could be called a Slave.
In addition to the above roles, the Core Specification also defines the roles of an Observer and a Broadcaster. These are basically just non-connecting variants of the Central and Peripheral, in other words devices that just listens for advertisement packages (and possibly send scan responses) or just sends such packages, without ever entering a connection.
Then, you have the roles of a GATT Server and a GATT Client. Normally, the Server is the device that contains data, that the Client can read.
However, there is no connection between these roles. Even though it is most common for a Peripheral to be a Server and a Central to be a Client, it is perfectly possible to have a Peripheral that is only a Client, or a Central that is both a Server and a Client.