uploaded 2 days ago
A nimBLE client and server framework for esp32

readme

# cubicat_ble

A nimBLE client and server framework for the ESP32, easy to develop custom BLE smart appliances.

##### 服务器(Peripheral):

创建的BLEServer实例默认包含一个Service和一个Characteristic,UUID分别是CUBICAT_SERVICE_UUID和
CUBICAT_PROTOCOL_CHAR_UUID。增加服务端功能只需要获取这个BLECharacteristic,用addOperation函数
添加对应操作,比如开灯操作,就addOperation(OP_GENERIC_SWITCH, function)在function内部实现收到
OP_GENERIC_SWITCH操作码后需要执行的逻辑

##### 客户端(Central):

创建一个BLEClient实例,初始化后开始扫描,扫描到第一个外围设备后,会延迟3秒(可设定)开始连接所有扫描到的设备。
连接成功后就可以操作外围设备了,用连接句柄conn handle和Cubicat协议特征uuid CUBICAT_PROTOCOL_CHAR_UUID
可以获得协议通信用的BLECharacteristic,这个特征上的opCodes就包含连接的设备的所有可用功能的操作码,比如
发现连接设备的opCodes里包含OP_GENERIC_SWITCH说明这个设备有开关功能,你就可以写入这个操作码来控制设备的
开关

#### 协议说明

所有协议相关的都定义在ble_service_definitions.h文件中,OP_DEFINE用于定义操作码,操作码为32位整形,
高16位为操作业务代码,低16位为业务数据大小,CubicatBLE协议第一个字节为操作码数量,之后数据为操作码和
操作数据交替组成,BLEProtocol类负责编码和解码。

#### 其它

Cubicat BLE 具有客户端发现设备断连自动重新搜索和发起连接的功能,服务端有发现客户端断开后自动重新广播的功能,
双端依靠心跳机制保活。

Links

Supports all targets

License: MIT

To add this component to your project, run:

idf.py add-dependency "isaac830/cubicat_ble^1.0.5"

or download archive

Stats

  • Archive size
    Archive size ~ 19.49 KB
  • Downloaded in total
    Downloaded in total 6 times
  • Downloaded this version
    This version: 1 time

Badge

isaac830/cubicat_ble version: 1.0.5
|