我是靠谱客的博主 光亮故事,最近开发中收集的这篇文章主要介绍蓝牙4.0BLE各个协议层简述,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

主机协议层:

主机协议层包括 L2CAP-逻辑连接控制和适配层,ATT-属性协议层,GATT-通用属性配置层,GAP-通用访问文件配置层,SMP-安全协议层

一般关注的为GAP,GATT,以及ATT层。

GAP-通用访问文件配置层

主要进行广播adv,比如大家熟悉的GAPRole_SetParameter(),

GATT

为了进行数据传输,首先要知道什么数据可以传输,在这里引入术语:GATT Server,GATT Client,大部分主设备一般为GATT Client,从设备作为GATT Server,当然一个设备同时可以有GATT Server 和 GATT Client。那么GATT Client怎么知道GATT Server有数据呢?在这里就要引入 GATT Table,每个元素就是一个属性,每个属性有一个handle,一个uuid,一个value。handle作为在设备上特殊熟悉的一个参考,每个handle在设备上都是独一无二的,UUID反应属性是什么类型的数据。

更加详细点的如下图,标注了哪些是GATT Server哪些是GATT Client

UUID,128-bit 长度,作为属性类型的识别 包括Base和Alias两部分,Alias是Base中的一个16bit的部分,UUID的Base部分好像是随机产生的,Alias是需要添加的????。

所有的bluetooth SIG标准组织中 services和characteristics使用相同的格式 0000XXXX-0000-1000-8000-00805F9B34FB

上面有个误区,其实Service 不只是GATT层有,Service还有可能是 GAP Service,GATT Service,Battery State Service,Thermometer Humidity Service等,而每个Service可以有多个characteristics,如下图先左的红色箭头即为Service,橙色左箭头即为Service下的characteristics。

最后

以上就是光亮故事为你收集整理的蓝牙4.0BLE各个协议层简述的全部内容,希望文章能够帮你解决蓝牙4.0BLE各个协议层简述所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部