human
ニンブルの書店を使用してテキストを受信して​​コンソールで印刷するBluetoothサーバーを作成するESP-32のコードを教えてください。
gpt
Nimble Bookstoreを使用してESP-32にBluetoothサーバーを作成するC ++コードの例を次に示します。

#include <bledevice.h>
#include <bleerver.h>
#include <bleutils.h>
#include <ble2902.h>

bleerver *pserver = null;
bleservice *pservice = null;
bleharacteristic *pcharacteristic = null;

クラスmycallbacks：public blecharacteristiccallbacks {
  void onwrite（bleharacteristic *pcharacteristic）{
    std :: string rxvalue = pcharacteristic-> getValue（）;

    if（rxvalue.length（）> 0）{
      serial.println（ "受信値："）;
      for（int i = 0; i <rxvalue.length（）; i ++）{
        serial.print（rxvalue [i]）;
      }
      serial.println（）;
    }
  }
};

void setup（）{
  serial.begin（115200）;
  serial.println（ "BLE WORKの起動！"）;

  bledevice :: init（ "esp32 server"）;
  pserver = bledevice :: createServer（）;
  pservice = pserver-> createService（service_uid）;
  pcharacteristic = pservice-> createCharacteristic（
    特性_uid_rx、
    bleharacteristic :: property_notify |bleharacteristic :: property_write
  ）;

  pcharacteristic-> setCallbacks（new MyCallBacks（））;
  pservice-> start（）;

  BLEADVERTISING *PADVERTISING = BLEDEVICE :: getAdvertising（）;
  padvertising-> addserviceuid（service_uuid）;
  Padvertising-> setScanresse（false）;
  Padvertising-> Set Bruck（0x06）;
  Padvertising-> setMaxPreferred（0x12）;
  bledevice :: StartAdvertising（）;
  serial.println（ "特徴的な定義！携帯電話で読むことができます！"）;
}

void loop（）{
  bledevice :: poll（）;
}

この例では、Bluetoothサーバーと、書き込みを許可する機能を備えたサービスが作成されます。MyCallbacksクラスは、OnWriteイベントマネージャーを実装して、コンソールで受信したテキストを印刷します。最後に、サーバーは起動し、接続したいデバイスを探してリスニングを開始します。