Project #008: GAP Broadcaster | Cypress Semiconductor
Project #008: GAP Broadcaster
In today's example project, we demonstrate how to use the BLE Pioneer Kit to implement a GAP Broadcaster device.
Recall from Project #007, a Bluetooth Low Energy device can assume various types of GAP roles (Peripheral, Central, Broadcaster, Observer).
While most Bluetooth Low Energy devices are GAP Peripherals that Advertise their capabilities and then connect with GAP Central devices to exchange data, there are situations where you only want to Advertise data. The primary use case here is where you want a particular Bluetooth Low Energy device to send small amounts of data to more than one nearby device at the same time. This is possible by using Advertising Data Packets. By including small amounts of custom data in the 31 byte Advertising or Scan Response Packets, you can use a low-cost Bluetooth Low Energy GAP Broadcaster device to send one-way data to any nearby devices. In Bluetooth Low Energy, this is known as Broadcasting. This approach has been adopted by Apple's iBeacon, for example, which inserts a custom data in the Advertising Packets by using the Manufacturer Specific Data fields.
In this project, we also demonstrate another Bluetooth Low Energy concept called White Lists. The Bluetooth Low Energy Spec has security features like Pairing and Bonding, where Keys can be exchanged between two devices to create a secure and authenticated link. Another way to establish connections with only 'known devices' is by using White Lists - a list of known device addresses that could be connected to without any further exchange of keys. The Broadcaster device we implement in this project has a fixed device address. Any Central device that is configured with a White List containing this specific device address can ask for Scan Response Packets from the Broadcaster device.
You can download this PSoC Creator project along with a detailed PDF from GitHub here: https://github.com/cypresssemiconductorco/PSoC-4-BLE/tree/master/100_Projects_in_100_Days/Day008_Constant_Broadcaster