早就对蓝牙的知识垂涎已久,由于各种原因都没能系统的好好的学习一下(最大的原因就是自己太懒了!!),最近有时间来系统的学一下蓝牙的知识。文章中很多都是通过学习韦东山老师的蓝牙讲解,讲得非常好,通俗易懂。
蓝牙技术分经典蓝牙(Classic BT)和低功耗蓝牙(BLE)
一、蓝牙频率
蓝牙采用了2.4G ISM频段。蓝牙中无线信道的划分,对于BLE低功耗蓝牙,它将2.4GHZ频率的周围划分出了0到39,总共40个信道(其中37/38/39信道为广播信道,其他信道为数据信道,也就是建立链接后使用的信道)。
二、蓝牙协议栈
1、协议栈模型如下图,在图中,它将蓝牙协议栈分为好几层,比如说物理层、链路层等等。基本上网上搜到的都是这张图,然后根据这张图来讲解,比较的晦涩难懂,看了几遍也跟没看似的。。。
2、引用韦东山老师更加形象直观的生活中的事例,来分析更好的理解蓝牙的协议栈模型,如下图:
2.1、假设医学院眼科中心是大城市中的医院,一个病人来看病,首先它进入大堂,选择科室、挂号。
比如说他来到了近视科,医生发现他的眼睛并不仅仅是近视,得需要化验确认一下,让其去检验室抽血化验,检验室的人利用仪器分析他的血液,得到各种参数。但是检验室的工作人员并不知道那些参数的具体含义,需要将检验参数写成报告发回给近视科。近视科的医生看了报告之后,就会知道病人的眼睛为什么近视。现在来总结一下,检验室给医生提供各种检查结果,医生根据检查结果得出诊疗意见,给病人提供更好的服务。
2.2、这是在大城市里看病的流程,一个医院提供一条龙服务。但是在边远的山区里面,情况就会不同了。比如说张三远程诊疗医院,整个医院里面就只有张三一名医生,他需要看内科、外科、眼科、牙科等等。他肯定不是万能的,那么张三医生是如何看那么多科室的病?他需要借助同行的帮助,他要远程请求其他科室的医生对他提供指导和服务。举例如下:
病人需要到检验室抽血,由于医院简陋没有先进的仪器,只能将血液送到大医院进行分析。这个过程其实是挺复杂的:
(张三医院)检验室---->收发室----->快递公司在医院的驻点----->快递员-------->(医学院眼科中心)快递员----->快递公司在医院的驻点------>收发室----->检验室
在眼科中心的检验室将结果分析出来之后,将检验结果送回到山区的医院,流程如下:
(医学院眼科中心)检验室---->收发室----->快递公司在医院的驻点----->快递员-------->(张三医院)快递员----->快递公司在医院的驻点------>收发室----->检验室
检验室的工作人员将大医院化验的结果发给张三,张三再去根据王医生(大医院的医生)告诉它的参数,看一下病人是否正常。
总结一下:
病人通过张三医生获得了诊疗服务;通过检验室获得了检查单,称这些检查单为属性;病人是接触不到收发室的,那么收发室又做了哪些事情?通过收发室可以运送那些样品,我们称为公务,可能张三医生为了表达对大医院协助的感谢,可能还送一些礼物,这为私物;病人也是看不到快递公司的,快递公司需要将这些公务或私物送到省城大医院,不过快递公司需要将这些公务或私物帖单子,由快递员送出去。注意,山区的快递员只能将公务或私物交给省城医院的快递员,然后再由省城医院的快递员交给快递公司在医院的驻点,再到收发室,最后到检验室。(这个地方这样形容太牵强,不要太较真,理解所表达的意思即可)
从上面可以看出,涉及到6个层次,这些层次的作用如下:
大堂: 按指定流程确定科室、挂号 (发现、连接)
医务室: 组合检查结果, 给出诊疗意见 (提供服务)
检验室: 提供检查结果, (提供属性)
收发室: 接收或派发物品, 这些物品可能是工作相关, 也可能是私人物品 (各种通道 channel)
快递公司驻点: 贴快递单 (访问地址)
快递员: 送货、收货 (传输)