#include <BLE.h>
char char1Value = 0;
int char2Value = 0;
long char3Value = 0;
String char4Value = String("Hello, world!");
BLE_Char char1 =
{
{0xF1, 0xFF},
BLE_READABLE | BLE_WRITABLE,
"Characteristic 1"
};
BLE_Char char2 =
{
{0xF2, 0xFF},
BLE_READABLE,
"Characteristic 2"
};
BLE_Char char3 =
{
{0xF3, 0xFF},
BLE_WRITABLE,
"Characteristic 3"
};
BLE_Char char4 =
{
{0xF4, 0xFF},
BLE_NOTIFIABLE,
"Characteristic 4"
};
BLE_Char *simpleServiceChars[] = {&char1, &char2, &char3, &char4};
BLE_Service simpleService =
{
{0xF0, 0xFF},
4, simpleServiceChars
};
void setup() {
Serial.begin(115200);
ble.begin();
ble.addService(&simpleService);
ble.writeValue(&char1, char1Value);
ble.writeValue(&char2, char2Value);
ble.writeValue(&char3, char3Value);
ble.writeValue(&char4, char4Value);
ble.setAdvertName("Simple Profile");
ble.startAdvert();
}
void loop() {
ble.handleEvents();
// Print the values every second to see changes by the client.
if (millis() % 1000 == 0)
{
Serial.print("char1:");
Serial.println(ble.readValue_char(&char1));
Serial.print("char2:");
Serial.println(ble.readValue_int(&char2));
Serial.print("char3:");
Serial.println(ble.readValue_long(&char3));
Serial.print("char4:");
Serial.println(ble.readValue_String(&char4));
Serial.println("===================");
}
}