• BT stack浅入了解


    蓝牙设备使用无线电波连接手机和电脑。蓝牙产品包含一块小小的蓝牙模块以及支持连接的蓝牙无线电和软件。当两台蓝牙设备想要相互交流时,它们需要进行配对。蓝牙设备之间的通信在短程(被称为微微网,指设备使用蓝牙技术连接而成的网络)的临时网络中进行。这种网络可容纳两至八台设备进行连接。当网络环境创建成功,一台设备作为主设备,而所有其它设备作为从设备。微微网在蓝牙设备加入和离开无线电短程传感时动态、自动建立。
     
     
    蓝牙协议规范的目标是允许遵循规范的应用能够进行相互间操作.蓝牙SIG规范的完整蓝牙协议栈如图:

    蓝牙的核心协议由基带,链路管理,逻辑链路控制与适应协议和服务搜索协议等4部分组成.
    (1)基带协议基带协议确保各个蓝牙设备之间的射频连接,以形成微微网络。
    (2)链路管理协议
    链路管理协议(LMP)负责蓝牙各设备间连接的建立和设置。LMP通过连接的发起,交换和核实进行身份验证和加密,通过协商确定基带数据分组大小;还控制无线设备的节能模式和工作周期,以及微微网络内设备单元的连接状态。
    (3)逻辑链路控制和适配协议
    逻辑链路控制和适配协议(L2CAP)是基带的上层协议,可以认为L2CAP与LMP并行工作。L2CAP与LMP的区别在于当业务数据不经过LMP时,L2CAP为上层提供服务。
    (4)服务搜索协议
    使用服务搜索协议(SDP),可以查询到设,备信息和服务类型,从而在蓝牙设备间建立相应的连接。
     
     

     

    特征(Characteristics)— 一个characteristics包含一个单独的value值和0 –n个用来描述characteristic 值(value)的descriptors。一个characteristics可以被认为是一种类型的,类似于一个类。

    描述符(descriptor)—descriptor是被定义的attributes,用来描述一个characteristic的值。例如,一个descriptor可以指定一个人类可读的描述中,在可接受的范围里characteristic值,或者是测量单位,用来明确characteristic的值。

    服务(service)—service是characteristic的集合。例如,你可以有一个所谓的“Heart RateMonitor”service,其中包括characteristic,如“heart rate measurement ”。你可以在 bluetooth.org找到关于一系列基于GATT的profile和service。

     蓝牙设备可以包括多个Profile,一个Profile中有多个Service,一个Service中有多个Characteristic,一个Characteristic中包括一个value和多个Descriptor。

     每个attribute属性被UUID(通用唯一标识符)唯一标识 ,UUID是标准128-bit格式的ID用来唯一标识信息。attributes 被 ATT 格式化characteristics和services形式进行传送。

  • 相关阅读:
    Android Permission 访问权限大全(转)
    .NET中DateTime.Now.ToString的格式化字符串
    linux
    code only
    常用JavaScript操作页面元素的方法
    C#将字符串数组转换为以逗号分隔的字符串
    C#去除数组空格
    追源索骥:透过源码看懂Flink核心框架的执行流程
    高并发请求的缓存设计策略
    spark 2.3 导致driver OOM的一个SparkPlanGraphWrapper源码的bug
  • 原文地址:https://www.cnblogs.com/zeng-iauto/p/11977127.html
Copyright © 2020-2023  润新知