【浓缩版】蓝牙开发概览
* 2020年市场调研,Nordiac芯片市场占有率40%,甩开第二名2~3倍
基本概念
Profile: 蓝牙设备可以分成很多类。对于不同的类型,其通信交互内容有其特殊性(特征)。 一个profile,就是对一种特殊性进行描述的方式。 一种设备可以支持一种或多种profile,也就是说,可以同时具备多种特殊性。 这样可以使得蓝牙既能在底层使用统一的通信标准,又能在上层确保不同设备之间的兼容性和功能实现。 具体例子 - 蓝牙耳机:支持 HFP(通话功能)和 A2DP(音频播放功能)。 - 蓝牙音箱:支持 A2DP(音频播放功能)。 - 蓝牙键盘:支持 HID(人机接口设备功能)。 - 智能手表:支持 GATT(通用属性配置文件),用于健康监测等功能。 Profile对应第1级特征 Service对应第2级特征 e.g.心率监测服务(Heart Rate Service)包含心率测量特征(Heart Rate Measurement Characteristic) Characteristic对应第3级特征 e.g. 心率测量特征包含心率值(如 75 bpm) Descriptors描述第3级特征的备注信息 e.g.心率测量特征的描述符可能包含心率的单位(如 bpm)。 Attribute, 最小数据单元 定义:GATT 协议中的最小数据单元,所有内容最终都以 Attribute 形式存储。 结构:每个 Attribute 是一个键值对,包含:
关键角色:
|
中央-外围设备:就是CS架构的Server端和Client端
误区:认为手机就是中央设备。其实谁是中央设备取决于架构中的地位,是自己定的。
中央设备:能scan所有的外围设备。谁发起扫描,谁就是中央设备。
GATT协议(Generic Attribute Profile):用于定义 BLE 设备如何组织主从关系,通信编码和数据传输的一个基础设施型的profile.
做蓝牙应用,要实现的业务流程有些啥?
蓝牙的业务逻辑,常见的封装方式:
*发现蓝牙设备
*扫描
*配对
*获取本地的信息
*数据的发送和获取
做蓝牙设备,实现通信兼容,需要注意些啥?

ATT命令有下面这几种