Advertisement
Guest User

Untitled

a guest
May 24th, 2018
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.31 KB | None | 0 0
  1. #include "BLE.h"
  2.  
  3. #define LED_PIN LED_BUILTIN
  4. #define SERVICE_UUID 0xFF
  5. #define CHAR_UUID_LED 0xFF01
  6.  
  7. BLE ble("easyBLE LED");
  8.  
  9. void setup() {
  10.   Serial.begin(115200);
  11.   pinMode(LED_PIN, OUTPUT);
  12.  
  13.   ble.begin();
  14.  
  15.   ble.on(READ, [](int service_uuid, int char_uuid) {
  16.     Serial.println("Event: READ");
  17.     Serial.print("Service UUID: 0x");
  18.     Serial.println(service_uuid, HEX);
  19.     Serial.print("Characteristic UUID: 0x");
  20.     Serial.println(char_uuid, HEX);
  21.  
  22.     ble.reply(digitalRead(LED_PIN));
  23.   });
  24.  
  25.   ble.on(WRITE, [](int service_uuid, int char_uuid) {
  26.     Serial.println("Event: WRITE");
  27.     Serial.print("Service UUID: 0x");
  28.     Serial.println(service_uuid, HEX);
  29.     Serial.print("Characteristic UUID: 0x");
  30.     Serial.println(char_uuid, HEX);
  31.     Serial.print("Data: ");
  32.     char *data = ble.data();
  33.     for (int i=0;data[i]!=0;i++) {
  34.         Serial.print("0x");
  35.         if (data[i] < 0x10) Serial.print("0");
  36.         Serial.print(data[i], HEX);
  37.         Serial.print(" ");
  38.     }
  39.     Serial.println();
  40.  
  41.     if (service_uuid == SERVICE_UUID && char_uuid == CHAR_UUID_LED) {
  42.       digitalWrite(LED_PIN, data[0] - '0');
  43.     }
  44.   });
  45.  
  46.   BLEService *service = new BLEService(SERVICE_UUID);
  47.   service->addCharacteristic(CHAR_UUID_LED);
  48.   ble.addService(service);
  49. }
  50.  
  51. void loop() {
  52.  
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement