From 86e240d375008115bd1ec3cc9625503b9fcac1f0 Mon Sep 17 00:00:00 2001 From: Luthics Date: Sat, 12 Nov 2022 17:33:48 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E8=93=9D=E7=89=99=E6=A8=A1?= =?UTF-8?q?=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/bt.h | 2 ++ platformio.ini | 6 ++++-- src/bt.cpp | 28 ++++++++++++++++++++++++++++ src/main.cpp | 5 ++++- src/servo.cpp | 1 - 5 files changed, 38 insertions(+), 4 deletions(-) create mode 100644 include/bt.h create mode 100644 src/bt.cpp 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