在BLE技术领域里有三个方向:BLE APP,BLE固件和BLE协议栈。其中BLE协议栈是基础,BLE芯片内部提供的固件程序充当驱动,手机上的APP作为控制端。做APP开发无需要太多的专业背景,而做固件开发则需要深入理解协议栈。
BLE协议栈的 官方文档 可以自由下载阅读,该文档排版优良,颇具可读性。可是该文档仅有英文版,整个文档多达2000多页,这无疑增加了非英语读者的阅读困难。网上能够找到一些关于协议栈的简单介绍,比如这个页面,概述了协议栈各层的主要概念,适合通览一遍。
这些网络资源对于协议栈的细节大多点到为止,无以深入,于是我尝试结合自己的经验,挑重点介绍一下BLE协议栈的内容。成文过程主要参考《BLE权威指南》一书,也利用Google+Baidu做了大量搜索,借鉴了许多第三方博客和论坛的优质答案并保留了原始链接,尽可能将一些问题解释清楚。
BLE协议栈 – 物理层(Physical Layer)
BLE协议栈 – 链路层(Link Layer)
BLE协议栈 – HCI
BLE协议栈 – L2CAP
BLE协议栈 – SM
BLE协议栈 – ATT
BLE协议栈 – GATT
BLE协议栈 – GAP
原作者:CY大象,原链接已失效
读后感:
该文章由CY大象大神(CY原厂AE)所总结,我非常认同CY大象大神在文中说的这句话“这些网络资源对于协议栈的细节大多点到为止,无以深入,于是我尝试结合自己的经验,挑重点介绍一下BLE协议栈的内容。”相对于BLE标准的2000多页,上图所示的文章资源相当于将我们平时关注的BLE协议栈内容都涉及到了,同时也有别他人写的一些相关的BLE协议栈,笔者看过之后受益良多,通过跟原作者联系,经过原作者的许可,才将该序列的总结转载至论坛,这里我非常感谢CY大象大神的贡献及开源精神,未来的世界终究是美好的😘