BLE连接流程
BLE在开机后广播,手机打开蓝牙扫描,当手机在对应通道扫描到BLE广播包,手机端发起连接请求,对讲机确认连接或者拒绝连接;确认连接后,设备端与手机端建立连接完成。交互流程如下图:
对讲机在与手机蓝牙的连接过程中,对讲机充当从机,手机充当主机,对讲机每10s发起一次广播, 如果手机开启扫描,并且扫描在对讲机广播时对应的通道扫描到对讲机,手机发起连接请求,对讲机端确认连接或者拒绝连接,确认连接后,对讲机和手机通过Protobuf处理过的数据进行,流程如下图所示
业务连接
APP与BLE连接建立以后,
App向设备发起业务连接,即向设备发送连接指令Connect;
App等待设备同意或拒绝(要有时),详细业务字段见Protobuf协议文件;
设备按键按下同意,设备向App发送同意指令;
App接收到同意指令,业务连接建立成功;
UUID
用于标识蓝牙服务以及通讯特征访问属性,不同的蓝牙服务和属性使用不同的访问方法;
每一个Service、属性特征characteristic、属性描述Descriptor都有一个专属的UUID做为标示。
“GATT层”中定义的所有属性都有一个UUID值,UUID是全球唯一的128bit的号码数字,它用来识别不同的特性。作用类似Soccket通信的端口。
蓝牙核心规范制定了两种不同的UUID,一种是基本的UUID,一种是代替基本UUID的16位UUID。
3、GATT
GATT定义的多层数据结构简要概括起来就是服务(service)可以包含多个特征(characteristic),每个特征包含属性(properties)和值(value),还可以包含多个描述(descriptor)。