LibraryBLE Advertising and Scanning

BLE Advertising and Scanning

Learn about BLE Advertising and Scanning as part of IoT Development with Embedded Systems

Understanding BLE Advertising and Scanning for IoT

Bluetooth Low Energy (BLE) is a cornerstone technology for the Internet of Things (IoT), enabling low-power, short-range wireless communication. A fundamental aspect of BLE operation is its advertising and scanning mechanism, which allows devices to discover and connect with each other.

What is BLE Advertising?

Advertising is the process by which a BLE peripheral (like a sensor or wearable) broadcasts its presence and capabilities to nearby devices. These broadcasts are sent in small packets called advertising packets. Devices that are advertising are typically in a low-power state, waiting to be discovered.

Advertising packets are like a device's business card, announcing its existence.

Advertising packets contain essential information such as the device's name, its unique address, and the services it offers. This allows other devices to identify and understand what the advertising device can do without needing to establish a full connection.

Advertising packets are transmitted periodically. The frequency of these transmissions, known as the advertising interval, is a critical parameter that balances discoverability with power consumption. A shorter interval means faster discovery but higher power usage. Advertising data can be customized to include specific information relevant to the application, such as sensor readings or device status.

Types of BLE Advertising

Advertising TypeDescriptionUse Case
Connectable UndirectedDevice advertises its presence and is available for connection.Standard device discovery and connection (e.g., headphones, smartwatches).
Connectable DirectedDevice advertises its presence and specifically targets a known central device for connection.Faster connection setup to a specific device.
Non-connectableDevice broadcasts data but cannot be connected to.Periodic data broadcasts (e.g., beacons).
ScannableDevice advertises and can respond to scan requests.Allows devices to request more information.

What is BLE Scanning?

Scanning is the process by which a BLE central device (like a smartphone or a gateway) actively listens for advertising packets from nearby peripherals. When a scanner receives an advertising packet, it can identify the peripheral and decide whether to initiate a connection or simply record its presence.

Scanning is how devices find other BLE devices.

Scanners continuously listen on specific BLE channels for advertising packets. They can be configured to look for specific types of advertising data or to filter devices based on their name or address. This allows for targeted discovery.

Scanning can be performed in two primary modes: passive and active. Passive scanning involves simply listening for advertising packets. Active scanning involves sending a 'scan request' to an advertising device, to which the peripheral can respond with a 'scan response' packet containing additional data. This interaction allows the scanner to gather more information before deciding to connect.

Advertising and Scanning in Action: The Discovery Process

The interplay between advertising and scanning is crucial for establishing communication in BLE. A peripheral advertises its presence, and a central device scans for these advertisements. If the central device finds an advertisement it's interested in, it can send a connection request to the peripheral, initiating a connection.

The BLE advertising and scanning process can be visualized as a two-way street. On one side, peripherals (like a smart sensor) periodically broadcast small packets of information (advertising packets) containing their identity and capabilities. On the other side, centrals (like a smartphone) actively listen for these broadcasts on specific radio frequencies (channels). When a central detects an advertising packet, it can choose to respond with a scan request to get more details, or directly initiate a connection to the peripheral. This dance of broadcasting and listening is fundamental to how BLE devices find and interact with each other in the IoT ecosystem.

📚

Text-based content

Library pages focus on text content

Understanding the advertising interval and scan window parameters is key to optimizing power consumption and discoverability for your IoT devices.

Key Parameters and Considerations

Several parameters influence the effectiveness of BLE advertising and scanning:

  • Advertising Interval: The time between consecutive advertising packets. Shorter intervals improve discoverability but increase power consumption.
  • Scan Window: The duration a central device actively scans.
  • Scan Interval: The time between consecutive scan windows.
  • Advertising Data Payload: The amount and type of data included in advertising packets. This is limited in size.
  • Filter Policies: How scanners decide which advertising packets to process (e.g., ignore packets from unknown devices).
What is the primary function of BLE advertising?

To broadcast a device's presence and capabilities to nearby devices.

What is the role of a BLE scanner?

To listen for and discover advertising devices.

What is the trade-off associated with a shorter advertising interval?

Improved discoverability but increased power consumption.

Learning Resources

Bluetooth Core Specification - Advertising and Scanning(documentation)

The official and most comprehensive resource detailing the intricacies of BLE advertising and scanning protocols as defined by the Bluetooth SIG.

Nordic Semiconductor: BLE Advertising and Scanning(blog)

A practical explanation of BLE advertising and scanning concepts, often with examples relevant to embedded development using their chips.

Adafruit: Understanding Bluetooth Low Energy (BLE)(tutorial)

An introductory guide to BLE, covering fundamental concepts like advertising and scanning in an accessible manner for makers and hobbyists.

Silicon Labs: BLE Advertising and Scanning Explained(blog)

A clear breakdown of the advertising and scanning mechanisms, including different advertising types and their implications for IoT applications.

Espressif: ESP32 BLE Tutorial - Advertising(documentation)

Specific documentation for implementing BLE advertising on the popular ESP32 microcontroller, including code examples.

YouTube: BLE Advertising and Scanning Explained(video)

A visual explanation of how BLE advertising and scanning work, often featuring diagrams and practical demonstrations.

Wikipedia: Bluetooth Low Energy(wikipedia)

Provides a broad overview of BLE, including its history, features, and common use cases, which contextualizes advertising and scanning.

Microchip: BLE Advertising and Scanning Fundamentals(documentation)

An application note detailing the fundamental principles of BLE advertising and scanning, often geared towards embedded developers using Microchip's MCUs.

The Bluetooth SIG: BLE Advertising Data(blog)

Focuses on the structure and content of BLE advertising data packets, explaining how to effectively use this space for IoT applications.

Elecia White: BLE Advertising and Scanning(video)

A clear and concise video explanation of BLE advertising and scanning, often from an embedded systems perspective.