首页 新闻 工控搜 论坛 厂商论坛 产品 方案 厂商 人才 文摘 下载 展览
中华工控网首页
  P L C | 变频器与传动 | 传感器 | 现场检测仪表 | 工控软件 | 人机界面 | 运动控制
  D C S | 工业以太网 | 现场总线 | 显示调节仪表 | 数据采集 | 数传测控 | 工业安全
  电 源 | 嵌入式系统 | PC based | 机柜箱体壳体 | 低压电器 | 机器视觉
一分钟读懂低功耗蓝牙(BLE)MTU交换数据包
深圳市纬图物联技术有限公司
收藏本文     查看收藏

1.概述
 * MTU: 最大传输单元(MAXIMUM TRANSMISSION UNIT) , 指在一个PDU (Protocol Data Unit: 协议数据单元,在一个传输单元中的有效传输数

据)能够传输的最大数据量(多少字节可以一次性传输到对方)。
 * MTU 交换是为了在主从双方设置一个PDU中最大能够交换的数据量,通过MTU的交换和双方确认(注意这个MTU是不可以协商的,只是通知对方,双方在知道对方的极限后会选择一个较小的值作为以后的MTU,比如说,主设备发出一个150个字节的MTU请求,但是从设备回应MTU是23字节,那么今后双方要以较小的值23字节作为以后的MTU),主从双方约定每次在做数据传输时不超过这个最大数据单元
    MTU交换通常发生在主从双方建立连接关系后(参见"一分钟读懂低功耗蓝牙连接数据包")
    做个对比就可以知道BLE MTU 比较小(不过新的BLE 标准MTU 已经大幅提升,详见即将发表在VIEWTOOL BBS上的后续文章)。
 ****************************************************************“*************************      
   以太网:1500
 IEEE 802.3/802.2: 1492
 X.25: 576
 BLE: 23   => 这就是为什么WIFI 可以用于传输视频,传统蓝牙(BT)可以传输音频,而低功耗蓝牙(BTLE 或者BLE)只能够传输控制数据的原因了。
 ******************************************************************************************
 * MTU 交换命令:属于ATT 命令
 * MTU 交换过程:如下图
    MTU Exchange.png
 * MTU 两个命令(“MTU 请求”及“MTU 响应”)详解如下(见“4”)

2.关键字:Hollong BLE 侦听仪,低功耗蓝牙嗅探器, BLE 分析仪,BLE 数据抓取
 Keyword: Hollong BLE Sniffer, BLE Data Analyzer,BLE Capture

3.抓取数据包的准备工作
 * 硬件:一个BLE设备(从设备)及对应的主设备(如智能手机里面的相关应用程序,或者通用BLE 工具软件);
           一台HOLLONG BLE SNIFFER (Hollong BLE 侦听仪)
 * 软件:Hollong 蓝牙4.0/4.1 BLE协议监控分析仪 软件, 使用本软件可以打开本文中的数据包附件,进而可以更加方便及更加全面地了解更多细节(包括最全面的数据及数据解析)
        下载链接:
       http://www.viewtool.com/index.ph ... hollong-4-0-4-1-ble

4. MTU 请求(REQEUST)
   完整数据(以下关注蓝色标注部分)
    MTU request complete.png
    1)  存取地址
    Access Address: 0xaf9a8c69
    固定为4个字节,其值由连接请求数据包指定(详见“一分钟读懂低功耗蓝牙连接数据包”)

    MTU req access address.png

   2) 头信息
 Data Header: 0x0706    000. .... = RFU: 0
    ...0 .... = More Data: False
    .... 0... = Sequence Number: 0
    .... .1.. = Next Expected Sequence Number: 1
    .... ..10 = LLID: Start of an L2CAP message or a complete L2CAP message with no fragmentation (0x2)
    000. .... = RFU: 0
    ...0 0111 = Length: 7
    MTU req header info.png

 3) L2CAP 长度
    在BLE中,GAP,GATT,SMP 都使用L2CAP 通道将命令及数据打包送到链路层(LINK LAYER),L2CAP 打包过程中需要指定L2CAP的长度及通道号。
    Length: 3
    MTU req l2cap size .png

   4) L2CAP 通道号(CID):channel ID
   CID: Attribute Protocol (0x0004)
    MTU req l2cap channel ID.png    

    5) ATT 命令
     标准发下:
      MTU REQUEST ATT FORMAT.png      
     实际数据包:
    Opcode: Exchange MTU Request (0x02)
    0... .... = Authentication Signature: False
    .0.. .... = Command: False
    ..00 0010 = Method: Exchange MTU Request (0x02)
      MTU req l2cap opcode.png    


   6) MTU 值 (请求的值)
    Client Rx MTU: 185
    MTU req l2cap MTU value.png
   
   7) CRC
    MTU req CRC.png

4. MTU 响应(RESPONSE)
    完整数据包:
    mtu rsp complete.png
    1) 存取地址
    Access Address: 0xaf9a8c69
    固定为4个字节,其值由连接请求数据包指定(详见“一分钟读懂低功耗蓝牙连接数据包”)
    mtu rsp access address.png

    2. 头信息
    Data Header: 0x0712    000. .... = RFU: 0
    ...1 .... = More Data: True
    .... 0... = Sequence Number: 0
    .... .0.. = Next Expected Sequence Number: 0
    .... ..10 = LLID: Start of an L2CAP message or a complete L2CAP message with no fragmentation (0x2)
    000. .... = RFU: 0
    ...0 0111 = Length: 7
    mtu rsp header info.png

    3. L2CAP 长度
        解释同(请求包)。
        Length: 3
       mtu rsp l2cap size.png

    4. L2CAP 通道号
        解释同(请求包)。
       CID: Attribute Protocol (0x0004)
       mtu rsp l2cap channel ID.png

    5. ATT 命令
       标准:
       MTU Response ATT FORMAT.png

       实例:
       Opcode: Exchange MTU Response (0x03)    0... .... = Authentication Signature: False
    .0.. .... = Command: False
    ..00 0011 = Method: Exchange MTU Response (0x03)
       mtu rsp opcode.png

     6) MTU 值
      Server Rx MTU: 23
       mtu rsp mtu value.png

      7)CRC
       CRC: 0xf4767e
    [Expert Info (Note/Checksum): CRC unchecked, not all data available]
       mtu rsp crc.png    
     
下载完整抓取到的数据包: em9304 fineme 071117.zip
原文链接:
http://www.viewtool.com/bbs/forum.php?mod=viewthread&tid=63214&extra=page%3D1


微信公众号: 纬图物联
纬图物联微信公众号QR.jpg


 

状 态: 离线

公司简介
产品目录

公司名称: 深圳市纬图物联技术有限公司
联 系 人: 郭珍
电  话: 0755-88600716
传  真:
地  址: 龙华区民治街道创业花园创新大厦
邮  编: 518131
主  页:
 
该厂商相关技术文摘:
利用SPI适配器读写控制AT45DBXX存储器芯片
利用Ginkgo 2 USB转CAN适配器调试STM32的CAN程序
纬图 Ficus STM32F105 I2C/SPI/CAN/ADC/DAC/PWM/GPIO/UART
基于CAN总线的Bootloader程序源码下载
一分钟读懂低功耗蓝牙(BLE)连接数据包
1分钟读懂低功耗蓝牙广播数据
利用Ginkgo USB-I2C适配器和TCS3414传感器实现一个颜色识别器
如何升级或更换Ginkgo系列适配器固件
更多文摘...
立即发送询问信息在线联系该技术文摘厂商:
用户名: 密码: 免费注册为中华工控网会员
请留下您的有效联系方式,以方便我们及时与您联络

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 不良信息举报
工控网客服热线:0755-86369299
版权所有 中华工控网 Copyright©2022 Gkong.com, All Rights Reserved