Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit f2f73e8

Browse files
Merge pull request #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)

AltStyle によって変換されたページ (->オリジナル) /