esp32与android蓝牙,[ESP32]ESP32 Arduino BLE调试 / 与安卓蓝牙数据交互

#include BLECharacteristic *pCharacteristic;

bool deviceConnected = false;

char BLEbuf[32] = {0};

uint32_t cnt = 0;

#define SERVICE_UUID "6E400001-B5A3-F393-E0A9-E50E24DCCA9E" // UART service UUID

#define CHARACTERISTIC_UUID_RX "6E400002-B5A3-F393-E0A9-E50E24DCCA9E"

#define CHARACTERISTIC_UUID_TX "6E400003-B5A3-F393-E0A9-E50E24DCCA9E"

class MyServerCallbacks: public BLEServerCallbacks {

void onConnect(BLEServer* pServer) {

deviceConnected = true;

};

void onDisconnect(BLEServer* pServer) {

deviceConnected = false;

}

};

class MyCallbacks: public BLECharacteristicCallbacks {

void onWrite(BLECharacteristic *pCharacteristic) {

std::string rxValue = pCharacteristic->getValue();

if (rxValue.length() > 0) {

Serial.print("------>Received Value: ");

for (int i = 0; i < rxValue.length(); i++) {

Serial.print(rxValue[i]);

}

Serial.println();

if (rxValue.find("A") != -1) {

Serial.print("Rx A!");

}

else if (rxValue.find("B") != -1) {

Serial.print("Rx B!");

}

Serial.println();

}

}

};

void setup() {

Serial.begin(115200);

// Create the BLE Device

BLEDevice::init("ESP32 BLE Test");

// Create the BLE Server

BLEServer *pServer = BLEDevice::createServer();

pServer->setCallbacks(new MyServerCallbacks());

// Create the BLE Service

BLEService *pService = pServer->createService(SERVICE_UUID);

// Create a BLE Characteristic

pCharacteristic = pService->createCharacteristic(CHARACTERISTIC_UUID_TX, BLECharacteristic::PROPERTY_NOTIFY);

pCharacteristic->addDescriptor(new BLE2902());

BLECharacteristic *pCharacteristic = pService->createCharacteristic(CHARACTERISTIC_UUID_RX, BLECharacteristic::PROPERTY_WRITE);

pCharacteristic->setCallbacks(new MyCallbacks());

// Start the service

pService->start();

// Start advertising

pServer->getAdvertising()->start();

Serial.println("Waiting a client connection to notify...");

}

void loop() {

if (deviceConnected) {

memset(BLEbuf, 0, 32);

memcpy(BLEbuf, (char*)"Hello BLE APP!", 32);

pCharacteristic->setValue(BLEbuf);

pCharacteristic->notify(); // Send the value to the app!

Serial.print("*** Sent Value: ");

Serial.print(BLEbuf);

Serial.println(" ***");

}

delay(1000);

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值