NimBLE-Arduino icon indicating copy to clipboard operation
NimBLE-Arduino copied to clipboard

not able to ask connection confirmation when client connect to server

Open spilz87 opened this issue 2 years ago • 1 comments
trafficstars

Hello

I'm building a server on an ESP32. I would like it request a connection confirmation (just yes/no) when I connect with my iphone. But it connect directly and ask confirmation only when I try to read value :(

What I'm doing wrong ?

#include <NimBLEDevice.h>

void setup() {
  Serial.begin(115200);
  Serial.println("Starting NimBLE Server");
  NimBLEDevice::init("NimBLE");
  NimBLEDevice::setPower(ESP_PWR_LVL_P9); /** +9db */

  NimBLEDevice::setSecurityPasskey(0);
  NimBLEDevice::setSecurityIOCap(BLE_HS_IO_NO_INPUT_OUTPUT);
  NimBLEDevice::setSecurityAuth(false, true, true);
  NimBLEServer *pServer = NimBLEDevice::createServer();
  NimBLEService *pService = pServer->createService("ABCD");
  NimBLECharacteristic *pSecureCharacteristic = pService->createCharacteristic("1235", NIMBLE_PROPERTY::READ | NIMBLE_PROPERTY::READ_ENC);

  pService->start();
  pSecureCharacteristic->setValue("Hello Secure BLE");

  NimBLEAdvertising *pAdvertising = NimBLEDevice::getAdvertising();
  pAdvertising->addServiceUUID("ABCD");
  pAdvertising->start();
}

void loop() {
}

I don't want a pin code, just a confirmation to connect

thanks in advance for your help :)

spilz87 avatar Feb 05 '23 09:02 spilz87

You would need to call NimBLEDevice::startSecurity from the onConnect callback to do this.

h2zero avatar Feb 20 '23 18:02 h2zero