蓝牙学习笔记一

  学习蓝牙有一段时间了,整理一下一直来的学习经验与参考资料,供初学者使用. 该学习笔记系列主要记录的是低功耗蓝牙(BLE),经典蓝牙只是简单的描述,因为BlueTooth4.0及以后都是以低功耗为侧重点。
国内对于蓝牙的资料确实很少,而且也不太全面,所以,你要想真正摸透蓝牙规范及协议栈,你最好具备一定的英语水平。
 
蓝牙里程版本
•版本1.0(基本码率 1Mbps)
•版本2.0(增强码率 3Mbps)
•版本3.0 (交替射频 54Mbps)
•版本4.0(低功耗、含前版本功能)
•版本4.1(一从多主?)
•版本5.0(mesh 组网)
 
详细版本资料:
 
蓝牙4.0单模与双模
•单模是指蓝牙BLE(Bluetooth Low Energy),其特点是功耗更低,可以使电池的使用时间更长,成本更低且传输距离更远。蓝牙 BLE 4.0只能与BT4.0互相传输无法向下兼容(与3.0/2.1/2.0无法相通)。
•双模即为蓝牙BLE和经典蓝牙(Classic Bluetooth,在此前的1.1、1.2、2.0、2.1、3.0版本上发展和完善而来)的组合。在拥有蓝牙BLE特点的同时,还向下兼容蓝牙 3.0 、 2.1、2.0标准。
 
经典蓝牙(BR/EDR) 通信方式:
 
 
BLE连接建立过程:
 
在BLE种,要清楚这两种角色,有多种叫法
1、主设备,也叫中心设备(mster, central)
2、从设备,也叫外围设备(slave, peripheral)
主设备一般是主动发起连接的设备,从设备一般是发起广播的设备.
 
在Bluetooth4.0,支持一主多从,支持最多7个从设备. 这个网络叫做 Piconet(微微网),也称为PAN(个人域网络)。
 
绿色的为Master,黑色的为Slave
在Bluetooth4.1时,蓝牙官方规范文档,在拓扑图中加入Scatternet (散射网),如图:
 
 
 
Scatternet (散射网) 基于多个Piconet网络组成,从而实现一从多主。 一个从设备最多同时被7个主设备连接。
 
要想全面了解蓝牙,你必须了解蓝牙规范,可在蓝牙官网下载所有版本的规范文档:
如果官网的连接失效了,也可以在这下载。
 
google 在Android方面对蓝牙的阐述以及接口:
 
蜗窝科技(概述了整个蓝牙协议的知识面,看完会有个大概的理解)
 
书本《低功耗蓝牙开发权威指南》比较全面地讲解bluetooth4.0,分各个层级讲解蓝牙原理以及如何工作,没有涉及到代码,个人觉得部分内容讲得还不够深入细致。
 
Android 5.0 谷歌提供了从设备接口,手机端也可以作为从设备,google demo:https://github.com/googlesamples/android-BluetoothAdvertisements
 
Android 的蓝牙协议栈使用的 bluedroid,Nordic Team 总结了一些 bluedroid 协议栈的问题. 以及如何更新最新的bluedroid。Nordic 在蓝牙方面还是很有权威的。
 
android 源码对应蓝牙资料
 
在iOS与Android系统,如何让BLE最大输出
Maximizing BLE Throughput on iOS and Android
 
android BLE 框架:

 

posted @ 2018-07-11 10:14  小小情意  阅读(1760)  评论(0编辑  收藏  举报