官方帮助见这里
BLE服务端命令
AT+RESTORE//复位
AT+BLEINIT=2 //将esp32设置成蓝牙SERVER
AT+BLEGATTSSRVCRE //GATTS创建服务, 建议初始化后就建立GATTS, 建立连接在创建会报错
AT+BLEGATTSSRVSTART //GATTS 开启全部服务。
AT+BLEGATTSCHAR? //GATTS 发现服务特征
AT+BLEADDR?//查看MAC地址
AT+BLEADVDATA="0201060A09657370726573736966" //广播设备名称espressif
AT+BLEADVSTART //打开广播
BLE客户端命令
AT+BLEINIT=1//客户端
AT+BLECONN=0,"84:f7:03:6d:97:6e",0,10//通过MAC地址连接蓝牙Server
AT+BLEGATTCPRIMSRV=0//获取第0个连接的服务列表
AT+BLEGATTCCHAR=0,3//获取第0个连接第3(从1开始算)服务列表
经过以上步骤客户端已连接到服务端。
特别说明:对于同一服务,客户端的 <srv_index> 值等于 ESP32 Bluetooth LE 服务端的值 + 2,这是正常现象。
1.双向透传
在客户端运行如下命令,开启透传
AT+BLESPPCFG=1,3,5,3,7//1为设置 SPP 参数而非重置,3为tx服务序号,5为tx服务特征序号,3为rx服务序号,7为rx服务特征序号
AT+BLESPP//使能SPP
在服务端运行如下命令(服务特征序号与客户端相反)
AT+BLESPPCFG=1,1,7,1,5//1为设置 SPP 参数而非重置,1为tx服务序号,7为tx服务特征序号,1为rx服务序号,5为rx服务特征序号
AT+BLESPP//使能SPP
2.监听Indicate
在客户端运行如下命令,开启indicate,等待服务端发送indicate数据:
AT+BLEGATTCWR=0,3,7,1,2//勾选发送新行,0为连接号,3为服务号,7为特征号,1为特征描述符序号,2为indicate
在服务端运行如下命令
AT+BLEGATTSIND=0,1,7,3//勾选发送新行,0为连接号,1为服务号(客户端服务号-2),7为特征号,3为数据长度
123//数据
服务端可以多次发送。
3.监听Notify
在客户端运行如下命令,开启notify,等待服务端发送notify数据:
AT+BLEGATTCWR=0,3,6,1,1//勾选发送新行,0为连接号,3为服务号,6为特征号,1为特征描述符序号,2为notify
在服务端运行如下命令
AT+BLEGATTSNTFY=0,1,6,8//勾选发送新行,0为连接号,1为服务号(客户端服务号-2),8为特征号,8为数据长度
12345678//数据
服务端可以多次发送。