ESP32,使用arduino开发低功耗蓝牙ble笔记。

// 初始化BLE设备,设置本地设备名为“ESP32-S3 BLE Service”
//这是广播的时候名称
BLEDevice::init("ESP32-S3 BLE Service");

// 创建一个新的BLE服务器实例,并保存到pServer指针中
//BLEDevice::createServer();这个函数返回的是BLEServer类型的指针
//createServer是BLEDevice类里面的一个静态方法
//只可以调用一次这个函数,并不支持多个。
pServer = BLEDevice::createServer();  

//下面这个需要提前创建好
// 定义一个指向BLEServer对象的指针,用于管理BLE服务器实例
//BLEServer *pServer = NULL;

// 创建一个BLE服务,并指定其UUID,并且获取到这个服务的指针。
//这个是服务,不是服务器。
BLEService *pService = pServer->createService(SERVICE_UUID);

 // 创建一个发送特性,并设置其属性为可以发送通知
pTxCharacteristic = pService->createCharacteristic(
     CHARACTERISTIC_UUID_TX,        //给这个特性配置UUID号
        BLECharacteristic::PROPERTY_NOTIFY//设置这个特性的权限
);

// 为这个特性添加一个CCCD描述符,允许客户端订阅通知
//有了这个描述符,客户可以设置这个描述符的值来告诉服务器要不要给我发通知,0x0000是不发送 0x0001是要发送 
pTxCharacteristic->addDescriptor(new BLE2902());

配置了一个可写入权限,默认可容纳600字节。(由于这款手机app最大发送509个字节,我测试出至少509个字节是可以写入的,也可以读取出这509个字节)(实际手机可发送512字节,但是扣除固定3字节)

// 创建一个接收特性,并设置其属性为可写
pRxCharacteristic = pService->createCharacteristic(
     CHARACTERISTIC_UUID_RX,//分配UUID
     BLECharacteristic::PROPERTY_WRITE//设置这个特性的权限是什么
);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值