Broadcaster Role#
The Broadcaster role transmits advertising data without accepting connections. Use this page for legacy and extended beacon-style advertising and for periodic advertising on the broadcaster side. For extended advertising parameters, opermode setup, and extended scanning, see Extended advertising.
Beacon Support#
Beacon applications use the Broadcaster role to transmit advertising data that can be received by Observer devices (scanners). Beacons are commonly used for location services, proximity detection, and broadcasting sensor data.
Broadcaster Role Implementation#
Non-Connectable Advertising:
Use
ADV_NONCONN_INDfor advertising-only beacons (non-connectable, non-scannable — no scan response).Use
ADV_SCAN_INDwhen the beacon must remain non-connectable but still answer scan requests with scan response data.Ideal for one-way data transmission.
Setting Up Beacon:
Configure advertising data with
rsi_ble_set_advertise_data(). If you need a scan response, use a scannable non-connectable type such asADV_SCAN_INDand set the payload withrsi_ble_set_scan_response_data()(ADV_NONCONN_INDdoes not transmit scan response data).Start advertising with
rsi_ble_start_advertising_with_values()using the chosen non-connectable type.Advertising continues indefinitely until stopped.
Beacon Data Format:
Follow standard advertising data format (AD structure).
Common beacon formats: iBeacon, Eddystone, AltBeacon.
Include manufacturer-specific data (AD type 0xFF) for custom beacons.
Maximum 31 bytes for legacy advertising, up to 200 bytes for extended advertising.
Extended Advertising for Beacons:
Use extended advertising for larger beacon payloads (see Extended advertising).
Use
rsi_ble_start_ae_advertising()for extended advertising.
Beacon Best Practices:
Use appropriate advertising interval (balance range vs. power).
Include device identifier in advertising data.
Consider using periodic advertising for synchronized beacons (see Periodic Advertising (Broadcaster)).
Monitor advertising status and handle errors.
Periodic Advertising (Broadcaster)#
Periodic advertising builds on extended advertising: the broadcaster sends periodic events on secondary channels. Observers discover the extended advertising train first, then establish periodic sync (see Observer role — Periodic Advertising Sync).
Setting Up Periodic Advertising:
Create or use an advertising set for extended advertising (use
rsi_ble_app_adv_set_clear_or_remove()if needed).Configure extended advertising parameters using
rsi_ble_set_ae_params().Set extended advertising data and optionally scan response data using
rsi_ble_set_ae_data()through thetypefield.Set periodic advertising parameters using
rsi_ble_app_set_periodic_ae_params().Set periodic advertising data using
rsi_ble_set_ae_data()with the periodic advertising data type.Start extended advertising with
rsi_ble_start_ae_advertising().Enable periodic advertising using
rsi_ble_app_set_periodic_ae_enable().
Periodic Advertising Parameters:
Interval: Time between periodic advertising events (7.5ms to 81.92s)
Advertising Data: Up to 200 bytes per packet (same limit as extended advertising; Extended advertising)
Synchronization: Periodic advertising includes sync information for observers
Use Cases:
Location beacons with periodic updates
Sensor data broadcasting
Time-synchronized data transmission
Large data payloads without connection overhead
APIs Used in This Section#
Topic | APIs / symbols | Reference |
|---|---|---|
Beacon |
| |
Periodic advertising — broadcaster |
|