Skip to content

Commit f2f73e8

Browse files
authored
Merge pull request arduino-libraries#134 from polldo/example-enhanced-advertising
Add enhanced advertising examples
2 parents f107880 + 2986119 commit f2f73e8

File tree

2 files changed

+85
-0
lines changed

2 files changed

+85
-0
lines changed
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
#include <ArduinoBLE.h>
2+
3+
BLEService myService("fff0");
4+
BLEIntCharacteristic myCharacteristic("fff1", BLERead | BLEBroadcast);
5+
6+
// Advertising parameters should have a global scope. Do NOT define them in 'setup' or in 'loop'
7+
const uint8_t manufactData[4] = {0x01, 0x02, 0x03, 0x04};
8+
const uint8_t serviceData[3] = {0x00, 0x01, 0x02};
9+
10+
void setup() {
11+
Serial.begin(9600);
12+
while (!Serial);
13+
14+
if (!BLE.begin()) {
15+
Serial.println("failed to initialize BLE!");
16+
while (1);
17+
}
18+
19+
myService.addCharacteristic(myCharacteristic);
20+
BLE.addService(myService);
21+
22+
// Build scan response data packet
23+
BLEAdvertisingData scanData;
24+
// Set parameters for scan response packet
25+
scanData.setLocalName("Test enhanced advertising");
26+
// Copy set parameters in the actual scan response packet
27+
BLE.setScanResponseData(scanData);
28+
29+
// Build advertising data packet
30+
BLEAdvertisingData advData;
31+
// Set parameters for advertising packet
32+
advData.setManufacturerData(0x004C, manufactData, sizeof(manufactData));
33+
advData.setAdvertisedService(myService);
34+
advData.setAdvertisedServiceData(0xfff0, serviceData, sizeof(serviceData));
35+
// Copy set parameters in the actual advertising packet
36+
BLE.setAdvertisingData(advData);
37+
38+
BLE.advertise();
39+
Serial.println("advertising ...");
40+
}
41+
42+
void loop() {
43+
BLE.poll();
44+
}
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
#include <ArduinoBLE.h>
2+
3+
BLEService myService("fff0");
4+
BLEIntCharacteristic myCharacteristic("fff1", BLERead | BLEBroadcast);
5+
6+
// Advertising parameters should have a global scope. Do NOT define them in 'setup' or in 'loop'
7+
const uint8_t completeRawAdvertisingData[] = {0x02,0x01,0x06,0x09,0xff,0x01,0x01,0x00,0x01,0x02,0x03,0x04,0x05};
8+
9+
void setup() {
10+
Serial.begin(9600);
11+
while (!Serial);
12+
13+
if (!BLE.begin()) {
14+
Serial.println("failed to initialize BLE!");
15+
while (1);
16+
}
17+
18+
myService.addCharacteristic(myCharacteristic);
19+
BLE.addService(myService);
20+
21+
// Build advertising data packet
22+
BLEAdvertisingData advData;
23+
// If a packet has a raw data parameter, then all the other parameters of the packet will be ignored
24+
advData.setRawData(completeRawAdvertisingData, sizeof(completeRawAdvertisingData));
25+
// Copy set parameters in the actual advertising packet
26+
BLE.setAdvertisingData(advData);
27+
28+
// Build scan response data packet
29+
BLEAdvertisingData scanData;
30+
scanData.setLocalName("Test advertising raw data");
31+
// Copy set parameters in the actual scan response packet
32+
BLE.setScanResponseData(scanData);
33+
34+
BLE.advertise();
35+
36+
Serial.println("advertising ...");
37+
}
38+
39+
void loop() {
40+
BLE.poll();
41+
}

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy