以蓝牙4.0为例说明:

BLE包格式有:广播包、扫描包、初始化连接包、链路层控制包(LL层数据包)、逻辑链路控制和自适应协议数据包(即L2CAP数据包)等;

其中广播包又分为:定向广播包和非定向广播包;

逻辑链路控制和自适应协议数据包又分为:ATT指令包、信令指令包、SMP包;

1. 首先,所有的包都符合如下格式:

2. 广播包:

3. 非定向广播包:

4. 定向广播包:

5. 扫描包:

6. 初始化连接包:

7. 链路层数据包:

8. 链路层控制包:

9. L2CAP层数据包:

10. 信令指令包:

11. ATT指令包:

12. SMP指令包:

SMP指令与ATT指令类似,只是channel ID为0x0006,数据格式如下:

根据操作码不同,后面数据的格式不通同。

附:

L2CAP层的区分:

蓝牙BLE数据包格式汇总的更多相关文章

  1. 蓝牙Beacon广播数据包格式以及解析

    目录 1. 获取原始蓝牙广播包 2. 安装WireShark软件 3. 分析Beacon广播包数据 3.1 第一个数据包格式 3.2 第二个数据包格式 3.3 Android程序开发中的蓝牙广播包 4 ...

  2. 详解BLE 空中包格式—兼BLE Link layer协议解析

    BLE有几种空中包格式?常见的PDU命令有哪些?PDU和MTU的区别是什么?DLE又是什么?BLE怎么实现重传的?BLE ACK机制原理是什么?希望这篇文章能帮你回答以上问题. 虽然BLE空中包(pa ...

  3. 蓝牙ble数据转语音实现Android AudioRecord方法推荐

    蓝牙ble数据转语音实现Android AudioRecord方法推荐 教程  欢迎走进zozo的学习之旅. 概述 蓝牙BLE又称bluetooth smart,主打的是低功耗和快速链接,所以在支持的 ...

  4. IM通信协议逆向分析、Wireshark自定义数据包格式解析插件编程学习

    相关学习资料 http://hi.baidu.com/hucyuansheng/item/bf2bfddefd1ee70ad68ed04d http://en.wikipedia.org/wiki/I ...

  5. ETHERNET数据包格式( IP & UDP & ICMP & ARP )

    ETHERNET数据包格式( IP & UDP & ICMP & ARP ) ETHERNET数据包格式 一.ETHERNET 数据包的协议类型 TYPE 的值为 0x0800 ...

  6. [转帖]IP /TCP协议及握手过程和数据包格式中级详解

    IP /TCP协议及握手过程和数据包格式中级详解 https://www.toutiao.com/a6665292902458982926/ 写的挺好的 其实 一直没闹明白 网络好 广播地址 还有 网 ...

  7. [na]ip数据包格式

    IP Datagram Structure 字段名 解释 版本 IP协议的版本,目前的IP协议版本号为4,下一代IP协议版本号为6. 首部长度 IP报头的长度.固定部分的长度(20字节)和可变部分的长 ...

  8. GPS数据包格式及数据包解析

    GPS数据包解析 GPS数据包解析 目的 GPS数据类型及格式 数据格式 数据解释 解析代码 结构体定义 GPRMC解析函数 GPGGA解析函数 测试样例输出 gps数据包格式 gps数据解析 车联网 ...

  9. IP数据包格式

    IP数据包格式 0 4 8 16 31 |4位版本 | 4位首部长度 | 8位服务类型 | 16位总长度(字节数)| |16位标识 | 3位标志 | 13位片偏移 | |8位生存时间| 8位协议 | ...

随机推荐

  1. Mybatis JdbcType与Oracle、MySql数据类型对应列表

    1. Mybatis JdbcType与Oracle.MySql数据类型对应列表 Mybatis JdbcType Oracle MySql JdbcType ARRAY     JdbcType B ...

  2. 开发常用的 JavaScript 知识点总结

    No1.语法和类型 1.声明定义 变量类型:var,定义变量:let,定义块域(scope)本地变量:const,定义只读常量.变量格式:以字母.下划线“_”或者$符号开头,大小写敏感.变量赋值:声明 ...

  3. window.onload与$(document).ready()之区别

    1.执行时间 window.onload必须等到页面内包括图片的所有元素加载完毕后才能执行.         $(document).ready()是DOM结构绘制完毕后就执行,不必等到加载完毕. 2 ...

  4. C++(笔)001.

    1.编程范式 编程范式是指计算机编程的基本风格,C++可容纳多种程度范式,如面向对象编程.泛型编程及传统的过程式编程. 2.与C相比较 C++在C语言的基础上新加的特性如下: a.类和对象.继承 b. ...

  5. golang学习之mgo操作mongodb

    mgo是mongodb的golang驱动,测试代码: // mgotest project main.go package main import ( "fmt" "ti ...

  6. docker 安装ElasticSearch head

    github官网地址 https://github.com/mobz/elasticsearch-head 拉取镜像 docker pull mobz/elasticsearch-head:5 创建容 ...

  7. 建一个springboot项目

    1.打开 https://start.spring.io/ 新建一个maven的demo,这里选择的是1.5.18的版本 2.将自动生成的demo导入eclipse,直接选中File里的import, ...

  8. VMware 扩展磁盘容量

    背景:创建虚拟机后,发现原先定的磁盘容量不够了,这时候可以通过vmware扩展磁盘容量 步骤一 先关闭虚拟机,右键虚拟机设置:(我没关虚拟机,所以灰显了) 步骤二: 启动VMware环境下的Linux ...

  9. SQL COUNT DISTINCT

    Create table trade ( sell_id int,  --卖家 buy_id int, -- 卖家 time date --交易时间 ) sell_id, buy_id, time s ...

  10. BFC(Box Formatting Context)的原理

    BFC 已经是一个耳听熟闻的词语了,网上有许多关于 BFC 的文章,介绍了如何触发 BFC 以及 BFC 的一些用处(如清浮动,防止 margin 重叠等).虽然我知道如何利用 BFC 解决这些问题, ...