BLE蓝牙连接和经典蓝牙有所区别,BLE的整个连接流程为:
1,扫描设备,获取设备MAC地址
2,发起连接请求
3,发现设备服务
4,发起读写请求,或订阅通知
5,断开连接
BLE蓝牙的服务表现形式为service,每个service下面有一系列的characteristic,读写通知都是针对这些characteristic。characteristic下面还有descriptor表示各种属性描述符。
向设备发送指令即为写characteristic,读取设备数据即为读characteristic,设备有数据要推送过来即为notify/indicate,在此之前我们要打开characteristic的推送。
下面以一个常用的应用场景为例,描述整个通信过程:
1,连接到手环
2,校验权限,若未通过则断开连接
3,打开数据推送,手环将历史数据推送到手机上
4,手机发送指令给手环,设定闹钟
5,手机断开连接
虽然各种设备很多,但是通信过程大体都类似,无非是数据读写,推送通知等,区别只在业务。
蓝牙连接涉及到的接口不多,可参考官方文档。