- 博客(15)
- 资源 (12)
- 收藏
- 关注
原创 蓝牙协议系列之(七) GAP
7 Generic Access Profile(GAP)前面4到6章的内容,都是和基于连接的data channel有关,至于无连接的advertising channel,以及连接建立的过程,好像被我们忽略了。虽然Link Layer已经做出了定义(具体可参考第3章的介绍),但它们并没有体现到Application(或者Profile)层面,毕竟Link layer太底层了。因此,BLE协议...
2018-06-15 14:14:50
5210
2
原创 蓝牙协议系列之(六) GATT
6 Generic Attribute Protocol6.1 功能介绍ATT之所以称作“protocol”,是因为它还比较抽象,仅仅定义了一套机制,允许client和server通过Attribute的形式共享信息。而具体共享哪些信息,ATT并不关心,这是GATT(Generic Attribute Profile)的主场。GATT相对ATT只多了一个‘G‘,但含义却大不同,因为GATT是一个...
2018-06-15 14:13:56
17947
2
原创 蓝牙协议系列之(五) ATT
5 Attribute Protocol由上面章节的描述可知,在BLE协议栈中:Physical Layer负责提供一系列的Physical Channel;基于这些Physical Channel,Link Layer可在两个设备之间建立用于点对点通信的Logical Channel;而L2CAP则将这个Logical Channel换分为一个个的L2CAP Channel,以便提供应用程序级...
2018-06-15 14:13:08
6256
原创 蓝牙协议系列之(四) L2CAP
4 L2CAP Protocol4.1 功能介绍经过Link Layer的抽象之后,两个BLE设备之间可存在两条逻辑上的数据通道:一条是无连接的广播通道,海阔凭鱼跃嘛;另一条是基于连接的数据通道,是一个点对点(Master对Slave)的逻辑通道。广播通道暂且不说,这个数据通道(简称逻辑通道,Logical Channel),要怎么使用,还有一些疑问,如:1)Logical Channel只有一...
2018-06-15 14:12:16
22661
4
原创 蓝牙协议系列之(三) Link Layer
3 Link Layer3.1 功能介绍经过Physical Layer的定义,通信所需的物理通道已经okay了,即40个RF Channel(后面统一使用Physical Channel指代)。此时Link Layer可以粉墨登场了,它主要的功能,就是在这些Physical Channel上收发数据,与此同时,不可避免的需要控制RF收发相关的参数。但仅做这些,还远远不够: 首先,Phys...
2018-06-15 14:10:59
6974
原创 蓝牙协议系列之(二)Physical Layer
2 Physical Layer任何一个通信系统,首先要确定的就是通信介质(物理通道,Physical Channel),BLE也不例外。在BLE协议中,“通信介质”的定义是由Physical Layer(其它通信协议也类似)负责。Physical Layer是这样描述BLE的通信介质的:1)由于BLE属于无线通信,则其通信介质是一定频率范围下的频带资源(Frequency Band);2)BLE...
2018-06-15 14:09:45
4867
1
原创 蓝牙协议系列之(八)BLE 报文结构
8 BLE报文结构BLE报文结构如下,它由下图所示的各个域组成。因为有的域的长度超过了一个字节,所以在传输的过程中就涉及到多字节域中哪个字节先传输的问题,BLE报文传输时的字节序和比特序如下:字节序:大多数多字节域是从低字节开始传输的。注意,并不是所有的多字节域都是从低字节开始传输的。比特序:各个字节传输时,每个字节都是从低位开始。8.1 BLE报文结构(前导/接入地址)1 前导 前导是一个8比...
2018-06-15 14:05:09
20258
原创 BLE 协议系列之(一) 蓝牙介绍
蓝牙协议介绍蓝牙协议是通信协议的一种,为了把复杂问题简单化,任何通信协议都具有层次性,特点如下: 1)从下到上分层,通过层层封装,每一层只需要关心特定的、独立的功能,易于实现和维护; 2)在通信实体内部,下层向上层提供服务,上层是下层的用户; 3)在通信实体之间,协议仅针对每一层,实体之间的通信,就像每一层之间的通信一样,这样有利于交流、理解、标准化。另外,我们知道,...
2018-06-15 11:53:22
12315
原创 BLE 绑定流程
绑定就是主机与从机相互保存认证信息Long Term Key (LTK)等信息。问题1:从机跟主机配对过一次后,会不会再次配对;答:从机跟主机配对过后,相互保存绑定的认证信息,当再次连接时,主机先会去检查当前从机是否绑定过,如果有,就不会在发起配对了。即使是从机更改了配对密码也是一样,因为再次连接加密认证时是用保存好的绑定信息(LTK)来做加密认证的,而不是配对密码
2016-10-28 10:40:11
4187
原创 BLE 配对流程
BLE配对是一个三阶段的过程。前两个阶段总是使用,可能跟随着一个可选的传输特定秘钥分配的阶段。阶段1:配对特征交换阶段2:短期秘钥(STK)生成阶段3:传输特定秘钥分配STK 生成规则:1: Just work 没有加密 TK=0x012: passkey entry 密码输入如果 passkey 是 ‘019655’ then TK
2016-10-28 10:14:27
15038
4
原创 BLE 配对后通信其中一方LTK丢失情况
BLE 配对后其中有一方保存的LTK丢失了,对于这种情况,蓝牙SPEC也没有规定必须怎么做,只是推荐我们怎么做。从图可看到,当与对方设备没有绑定时,如果一方LTK丢失无法加密时,对于MITM方式的,则推荐通知用户,并询问是否需要重新配对生成LTK,因为MITM方式需要用户进行一些操作。而no MITM则直接重新配对生成LTK了。当双方绑定了时,只会直接通知用户加密失
2016-10-28 09:33:18
1868
原创 BLE 数据包重传机制
处于连接态的两个BLE终端使用简单的“停等”机制进行通信,如下图所示,每个BLE终端都维护两个1 bit参数:transmitSeqNum和nextExpectedSeqNum,分别指示当前传输的数据包序号和下一个期待接收的数据包序号,它们与Packet中的SN和NESN字段一起维护Master和Slave之间的重传机制。transmitSeqNum和nextExp
2016-10-11 15:31:09
9013
转载 BLE 广播报文解析
本文转自:http://www.cnblogs.com/aikm/p/5022502.html感谢原创作者! 在使用EN-Dongle捕获和解析广播包之前,我们先了解一下BLE报文的结构,之后,再对捕获的广播包进行分析。在学习BLE的时候,下面两个文档是极其重要的,这是SIG发布的蓝牙的核心协议和核心协议增补。核心协议Core_v4.2。核心协议增补CSS v6。
2016-10-11 11:43:47
16544
4
转载 BLE 协议栈介绍
转自:http://www.wowotech.net/bluetooth/ble_stack_overview.html1. 前言通过“蓝牙协议分析(2)_协议架构”的介绍,大家对蓝牙协议栈应该有了简单的了解,但是,肯定还有“似懂非懂、欲说还休”的感觉。有这种感觉太正常了,毕竟蓝牙协议是一个历史悠久又比较庞大的协议,没那么容易理解。因此,本文将换个视角,从协议栈设计者的
2016-10-11 11:33:18
18707
2
翻译 Bluetooth profile: ATT/GATT
英文原文URL:https://epx.com.br/artigos/bluetooth_gatt.php因为看了这篇英文文档介绍Bluetooth ATT/GATT很详细,所以翻译了一下,供参考!蓝牙4.0版本推出了低功耗规范,引入了两个核心协议:ATT(Attribute Protocol)和GATT(Generic Attribute Protocol).这两个协议主要目标是
2016-10-11 10:49:17
4200
1
depends22_x64.7z
2020-07-07
svn代码管理器中文版
2020-07-07
libstdc++-6.zip
2020-07-07
dspack 2.3.4
2017-10-17
【免费】Dynamic Skin Form for delphi 7
2017-09-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人