[原创] BLE协议栈学习

wateras1   2014-1-21 17:38 楼主



F9LW`]~TGWUSJV78QO~W9~6.jpg



PHY物理层在2.4GHz的ISM频段中跳频识别。
LL连接层:控制设备的状态。设备可能有5中状态:就绪standby,广播advertising,搜索scanning,初始化initiating和连接connected。广播者传播数据,使得浏览者可以接收到。initiator就是一个对广播者回复连接请求的设备。如果广播者接受请求,广播者和initiator初始者就会进入connected连接状态。一个处于连接状态的设备会有一个角色:master和slave。初始化这个连接的为master,接受这个连接请求的为slave。
HCI层为host和controller之间通过一个标准接口进行通信提供了一些方法。这一层可以通过一个软件API或者是硬件接口如UART,SPI和USB。
L2CAP为上层数据提供封装服务。
SM:定义了建立连接和KEY的方法。
GAP:直接与profile和app进行接触,解决设备的发现和连接相关的服务,此外GAP也会初始化安全相关的特色。

ATT协议允许一个设备去显示一些数据,对于其他设备称之为“Attribute属性”,在ATT中,那些显示这些属性的设备被称为server,同等的另一个设备称为client。LL层的状态master和slave和ATT层的这两个状态无关。
GATT层:是一个服务框架定义了对ATT应用的子程序。GATT指定了profile的结构。在BLE中,由profile或者是服务所使用的所有类型的数据都称为characteristic。发生于两个设备间通过BLE连接进行交换的数据都需经过GATT子程序处理。因此,app和profile会直接使用GATT。

总之要开发app,直接打交道的是GAP和GATT,GAP用来建立连接,GATT用来数据收发。


淘宝:https://viiot.taobao.com/Q群243090717 多年专业物联网行业经验,个人承接各类物联网外包项目

回复评论 (7)

谢谢分享
加油!在电子行业默默贡献自己的力量!:)
点赞  2014-1-21 17:40
引用: soso 发表于 2014-1-21 17:40
谢谢分享

才开始分享,前段时间一直很忙,今晚有时间还有分享一篇。
淘宝:https://viiot.taobao.com/Q群243090717 多年专业物联网行业经验,个人承接各类物联网外包项目
点赞  2014-1-21 17:42
引用: wateras1 发表于 2014-1-21 17:42
才开始分享,前段时间一直很忙,今晚有时间还有分享一篇。

赞 这下搞无线的朋友有福啦
加油!在电子行业默默贡献自己的力量!:)
点赞  2014-1-21 17:44
初学者需要这样的资料,谢谢啊
点赞  2015-6-7 23:15
谢谢分享
点赞  2015-10-4 23:32
nice ,说的很到位,继续更新更多教程啊,特别是关于CC2650的
点赞  2016-3-31 16:08
入门简介,不错
点赞  2017-1-21 14:42
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复