#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); }