From d4e62efa065e2d711deb34a624d28b2e5268ebbf Mon Sep 17 00:00:00 2001 From: Adema Date: Wed, 2 Apr 2025 10:13:32 +0200 Subject: [PATCH] Upload files to "BLE_server_ana" --- BLE_server_ana/BLE_server_ana.ino | 47 +++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 BLE_server_ana/BLE_server_ana.ino diff --git a/BLE_server_ana/BLE_server_ana.ino b/BLE_server_ana/BLE_server_ana.ino new file mode 100644 index 0000000..f4cd0ac --- /dev/null +++ b/BLE_server_ana/BLE_server_ana.ino @@ -0,0 +1,47 @@ +#include +#include +#include + +#define SERVICE_UUID "4fafc201-1fb5-459e-8fcc-c5c9c331914b" +#define CHARACTERISTIC_UUID "beb5483e-36e1-4688-b7f5-ea07361b26a8" + +BLECharacteristic *pCharacteristic; + +void setup() { + Serial.begin(115200); + Serial.println("Starting BLE work!"); + + BLEDevice::init("ESP32 Analog Advertiser"); + BLEServer *pServer = BLEDevice::createServer(); + BLEService *pService = pServer->createService(SERVICE_UUID); + pCharacteristic = pService->createCharacteristic( + CHARACTERISTIC_UUID, + BLECharacteristic::PROPERTY_READ | + BLECharacteristic::PROPERTY_NOTIFY + ); + + pService->start(); + BLEAdvertising *pAdvertising = BLEDevice::getAdvertising(); + pAdvertising->addServiceUUID(SERVICE_UUID); + pAdvertising->setScanResponse(true); + pAdvertising->setMinPreferred(0x06); + pAdvertising->setMinPreferred(0x12); + BLEDevice::startAdvertising(); + Serial.println("Characteristic defined! Now advertising analog values."); +} + +void loop() { + int analogValues[3]; + analogValues[0] = analogRead(A0); + analogValues[1] = analogRead(A1); + analogValues[2] = analogRead(A2); + + char valueStr[50]; + snprintf(valueStr, sizeof(valueStr), "A0:%d A1:%d A2:%d", analogValues[0], analogValues[1], analogValues[2]); + + Serial.println(valueStr); + pCharacteristic->setValue(valueStr); + pCharacteristic->notify(); + + //delay(1000); +}