esp32-c3_BLE/BLE_server_ana/BLE_server_ana.ino

48 lines
1.5 KiB
C++

#include <BLEDevice.h>
#include <BLEUtils.h>
#include <BLEServer.h>
#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);
}