ble_beacon.ino

M5Stack PaperDIY Assembly Kit (ESP32-S3) · File : ble_beacon.ino · Language : C++ · Use case : Diffuser un signal Bluetooth Low Energy (BLE) comme balise.

Turns the board into a BLE beacon detectable by smartphones.

Uses the native ESP32 BLE stack. Compatible with BLE scanning apps. Check radio power.

ble_beacon.ino

#include <BLEDevice.h>
#include <BLEUtils.h>
#include <BLEServer.h>

#define DEVICE_NAME "M5PaperDIY"

BLECharacteristic *pCharacteristic;
bool deviceConnected = false;

class MyServerCallbacks : public BLEServerCallbacks {
  void onConnect(BLEServer* pServer) {};
  void onDisconnect(BLEServer* pServer) {
    BLEDevice::startAdvertising();
  }
};

void setup() {
  Serial.begin(115200);
  BLEDevice::init(DEVICE_NAME);
  BLEServer *pServer = BLEDevice::createServer();
  pServer->setCallbacks(new MyServerCallbacks());
  
  BLEService *pService = pServer->createService("ABCD");
  pCharacteristic = pService->createCharacteristic("1234", BLECharacteristic::PROPERTY_READ);
  pCharacteristic->setValue("Hello BLE");
  pService->start();
  
  BLEAdvertising *pAdvertising = BLEDevice::getAdvertising();
  pAdvertising->addServiceUUID("ABCD");
  pAdvertising->start();
  Serial.println("BLE Beacon actif");
}

void loop() {
  delay(1000);
}

← Back to the board