diff --git a/include/bt.h b/include/bt.h new file mode 100644 index 0000000..243f114 --- /dev/null +++ b/include/bt.h @@ -0,0 +1,2 @@ +void bt_init(); +void bt_loop(); \ No newline at end of file diff --git a/platformio.ini b/platformio.ini index 11be3b8..2aaf9e4 100644 --- a/platformio.ini +++ b/platformio.ini @@ -12,5 +12,7 @@ platform = espressif32 board = esp32doit-devkit-v1 framework = arduino -lib_deps = madhephaestus/ESP32Servo@^0.12.0 -monitor_speed = 115200 \ No newline at end of file +lib_deps = + madhephaestus/ESP32Servo@^0.12.0 + h2zero/NimBLE-Arduino@^1.4.1 +monitor_speed = 115200 diff --git a/src/bt.cpp b/src/bt.cpp new file mode 100644 index 0000000..320dbf6 --- /dev/null +++ b/src/bt.cpp @@ -0,0 +1,28 @@ +#include + +#define SERVICE_UUID "4fafc201-1fb5-459e-8fcc-c5c9c331914b" +#define CHARACTERISTIC_UUID "beb5483e-36e1-4688-b7f5-ea07361b26a8" + +void bt_init() { + Serial.println("BLE START"); + + BLEDevice::init("BOT"); + BLEServer* pServer = BLEDevice::createServer(); + BLEService* pService = pServer->createService(SERVICE_UUID); + BLECharacteristic* pCharacteristic = pService->createCharacteristic( + CHARACTERISTIC_UUID, NIMBLE_PROPERTY::READ | NIMBLE_PROPERTY::WRITE); + + pCharacteristic->setValue("Hello World says Neil"); + pService->start(); + BLEAdvertising* pAdvertising = BLEDevice::getAdvertising(); + pAdvertising->addServiceUUID(SERVICE_UUID); + pAdvertising->setScanResponse(true); + pAdvertising->setMinPreferred(0x06); + pAdvertising->setMaxPreferred(0x12); + + BLEDevice::startAdvertising(); + + Serial.println("Characteristic defined! Now you can read it in your phone!"); +} + +void bt_loop() {} \ No newline at end of file diff --git a/src/main.cpp b/src/main.cpp index 10ab05c..8aed1cd 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,12 +1,15 @@ #include #include +#include void setup() { Serial.begin(115200); servo_init(); + bt_init(); } void loop() { servo_loop(); - delay(1000); + bt_loop(); + delay(100); } \ No newline at end of file diff --git a/src/servo.cpp b/src/servo.cpp index ecb459f..cd84186 100644 --- a/src/servo.cpp +++ b/src/servo.cpp @@ -41,5 +41,4 @@ void servo_loop() { servo[i].detach(); } pwm.detachPin(27); - delay(500); } \ No newline at end of file