summaryrefslogtreecommitdiff
path: root/examples/Arduino/BLE_server/BLE_server.ino
diff options
context:
space:
mode:
Diffstat (limited to 'examples/Arduino/BLE_server/BLE_server.ino')
-rw-r--r--examples/Arduino/BLE_server/BLE_server.ino41
1 files changed, 41 insertions, 0 deletions
diff --git a/examples/Arduino/BLE_server/BLE_server.ino b/examples/Arduino/BLE_server/BLE_server.ino
new file mode 100644
index 0000000..45ebf99
--- /dev/null
+++ b/examples/Arduino/BLE_server/BLE_server.ino
@@ -0,0 +1,41 @@
+/*
+ Based on Neil Kolban example for IDF: https://github.com/nkolban/esp32-snippets/blob/master/cpp_utils/tests/BLE%20Tests/SampleServer.cpp
+ Ported to Arduino ESP32 by Evandro Copercini
+*/
+
+#include <BLEDevice.h>
+#include <BLEUtils.h>
+#include <BLEServer.h>
+
+BLEDevice ble;
+
+// See the following for generating UUIDs:
+// https://www.uuidgenerator.net/
+
+#define SERVICE_UUID "4fafc201-1fb5-459e-8fcc-c5c9c331914b"
+#define CHARACTERISTIC_UUID "beb5483e-36e1-4688-b7f5-ea07361b26a8"
+
+void setup() {
+ Serial.begin(115200);
+ Serial.println("Starting BLE work!");
+
+ ble.init("MyESP32");
+ BLEServer *pServer = new BLEServer();
+ BLEService *pService = pServer->createService(SERVICE_UUID);
+ BLECharacteristic *pCharacteristic = pService->createCharacteristic(
+ CHARACTERISTIC_UUID,
+ BLECharacteristic::PROPERTY_READ |
+ BLECharacteristic::PROPERTY_WRITE
+ );
+
+ pCharacteristic->setValue("Hello World says Neil");
+ pService->start();
+ BLEAdvertising *pAdvertising = pServer->getAdvertising();
+ pAdvertising->start();
+ Serial.println("Characteristic defined! Now you can read it in your phone!");
+}
+
+void loop() {
+ // put your main code here, to run repeatedly:
+ delay(2000);
+} \ No newline at end of file