BLE学习
来源:互联网 发布:mac修改桌面图标大小 编辑:程序博客网 时间:2024/05/22 13:22
1.BLE通信中主要有两对角色:
在GAP通信过程中是以Central和Peripheral角色存在的:Peripheral发起广播, Central发起扫描请求。Central收到Peripheral的扫描回复后建立连接。
在GATT通信过程中是以Server和Client角色存在的:serve端用于提供数据,Client端用于使用Server提供的数据并完成处理。
*在GAP中的Central和Peripheral角色到GATT阶段可以担当Server或Client角色,并不固定。
2.BLE通信主要有两个通信:GAP和GATT:
GAP(Generic Access Profile)用于peripheral向外进行广播,使Central发现自己,从而建立GATT连接。GAP通两种方式向外广播数据:Advertising Data Payload(广播数据)和Scan Response Data Payload(扫描回复)。
(Peripherals也可以只广播自己的数据但不建立连接,iBeacon是使用这种广播方式,向多个Central发送数据)
GATT(Generic Attribute Profile)用于Peripheral和Central进行通信。GATT通过多个服务(Serivce)为Central提供数据,服务(Service)又是由多个特性(Characteristic)组成。
一个Peripheral的服务和特性通过128位的UUID来标识。
GATT连接是独占的,一个Peripheral只能被一个Central连接,一旦连接成功,Peripheral就会停止广播。
3.Peripheral端操作主要有以下步骤:
启动一个Peripheral管理对象
→设置服务及特性
→开始广播(包含GAP基本服务UUID)
→收到Central的扫描请求后,回应扫描请求
→收到Central连接请求后,建立连接,
→响应Central发起的GATT服务发现请求,回应服务信息
→响应Central发起的GATT特性发现请求,回应特性句柄
→对Central的读写做以下响应
→回应特性值
→更新特性值。
4.Central端操作主要有以下步骤
启动一个Central端管理器
→搜索正在广告的Peripheral
→发起扫描请求
→收到扫描回应后,发起连接请求
→若GAP服务的UUID相匹配,则发起建立连接请求连接Peripheral
→GATT服务发现:发送主服务UUID,获取连接Peripheral设备的服务
→GATT特性发现:发送特性UUID,获取特性值句柄,
→通过获取的特性值句柄进行以下操作
→读取特性值
→订阅特性值
→写入特性值
- BLE学习
- BLE学习笔记
- BLE 学习记录
- BLE 学习记录
- Android BLE学习笔记
- Android BLE学习笔记
- Android BLE学习笔记
- Android BLE学习笔记
- BLE:CC2540学习笔记
- Android BLE学习笔记
- Android BLE学习笔记
- 开始学习ble,非常激动!
- Android BLE蓝牙通讯学习
- BLE Link Layer学习笔记
- ble学习笔记八---------ble协议栈之简介
- ble学习笔记十-------------ble协义栈之硬件抽象层
- ble学习笔记十一-----------ble协议栈之led试验
- ble学习笔记十四---------ble协议栈之按键事件
- 内存优化(大汇总——上)
- 经典测试用例:电梯、杯子、桌子、洗衣机
- 找不到office.zh\officelr.cab
- CNTV的点播调度方式
- JAVA中的泛型
- BLE学习
- Objective-C runtime
- 从一篇知乎问答引发的Web地图探索
- 播放Flash
- Java 设计模式——静态代理模式和动态代理模式
- 大数据利器
- 普通二维码和带图片二维码生成
- 设计模式之 抽象工厂模式 Factory
- web学习之路—H5(四)