GAP层和GATT层,SM层完成应用层数据交互和加密解密!

2019-09-20 10:59 次阅读

实验用到的工具:

蓝牙主机:TI BTool + CC2540 dongle

蓝牙从机:CC2541模块

抓包工具:TI Snfer + CC2540 dongle

手机工具:BLE调试工具箱  (无线技术联盟微信公众号关联的蓝牙工具)

01

连接请求

TI的Btool是个非常好用的PC主机小工具,其部分界面如下所示,在Discover/Connect界面,可以配置不同的连接参数,选择扫描以及根据扫描到的广播设备有选择性的进行连接。多说一句whitelist,什么是whitelist?这个和微信公众号的白名单一样,是得到主机授权的从机设备,当选择只扫描whitelist的设备时(前提是已经在主机上添加了whitelist设备),主机只会扫描过滤在whitelist里面的设备。

从下图截获的控制数据包可以看到,主机端在广播扫描之后发出一条CONNECT_REQ的指令,附带LL data,开启了主从设备连接的过程的第一步。TI的工具做的比较人性化,可以从该条语句的注释可以看到

Adv PDU Header Type的值为5,对应Spec的值是CONNECT_REQ。

在指令后面标注出发起端(主机)和从机端的Mac地址,然后是LL data。

这一条指令严格来说也是属于广播范畴,其数据格式说明可以参考上一篇文章。

展开CONNECT_REQ包,其数据包格式可分为前导,接入地址,数据包,CRC效验,详细规范如下:

PDU数据包分可分为两个部分,Header部分是指令(CONNECT_REQ),payload是详细LL data,拉出LL Data来看,如下图所示:

下面对LL Data格式详细说明:

AA: 连接中的两设备的接入地址,如下图所示,

CRCInit:CRC 初始化

WinSize:主机发送第一包数据的时间窗口

Winoffset:主机发送第一包数据的偏移时间

WinSize和Winoffset是配和使用,主机在发起CONNECT_REQ开始的Winoffset+1.25ms内准备和从机建立连接,这段时间被称为连接建立准备时间,WinSize是主机第一包数据发送的时间窗口范围。

Interval:蓝牙连接间隔时间。

Latency:连接延迟,主多次请求才唤醒从机交互一次数据。

Timeout:超时断开连接。

ChM:跳频表,主机根据信道情况给出一张跳频表,约定和从机可用的信道(0-36信道),0表示该信道不可用,1表示该信道可用。

Hop:跳频阶跃,hop是一个5~16的值。

SCA:休眠时钟校正范围。

跳频算法介绍:

跳频算法用于数据连接时候,数据信道为37个,跳频公式如下:  unmappedChannel = (lastUnmappedChannel + hopIncrement) mod 37

fn+1=(fn+hop) mod 37 

hop是一个5~16的值,每次调频之后中心频率加hop值 mod 37。因为都是正整数,这个表达式在软件中非常容易实现,软件中通过求余运算便能完成运算,协议规定第一次连接事件中fn=0,fn+1=(0+hop) mod 37,也就是hop信道编号。

02

连接事件

连接请求发出之后,开始进入连接状态,空中数据包如下所示,由绿色部分转变为黄色部分。

进入蓝牙连接状态,连接状态的数据包格式如下所示,PUD数据包包含两个部分,头字说明和数据包,头字说明里面有几种类型,分别在LLID里面详细规定,NESN和SN控制主从发送的数据包是否被正确接收。

LLID:数据包类型格式

NESN:下一个数据包序列

SN:数据包序列

NESN和SN是配合使用,他们的作用是来标识主从是否正确交互。如主从交互所示,主发心跳包或者数据时,NESN和SN给从机,从机在接收到主机标识的NESN和SN之后,回传NESN和SN+1给主,主接收到和之前发送的相差1表示之前数据正确传输,如果主机接收到的回传值是非(NESN和SN+1),表示数据可能在空中存在都是,此时需要重传。

03

数据交互

从机发起了MTU更新:

可以发现该LL Data出现橙黄色部分,抓包工具对数据进行的解析,橙黄部分表示从机要求更新MTU的大小,然后和主机相互约束一个MTU的值,后面数据包的格式及按照新约定的MTU大小来传输数据。

总结

用一张图作为总结,整个链路层的连接的流程图如下所示:

所以要想连接一个蓝牙设备,主设备只需要做几个动作,自身初始化,扫描周边设备,对特点设备发出连接请求,开始交换数据。

到此低功耗蓝牙就相互连接上了,后面应用据交互和加密解密就要交给GAP层和GATT层,SM层来完成,我们下次再讲解。

收藏 人收藏
分享:

评论

相关推荐

我在使用Multi Role Demo里面的multi.c时需要用到GAP_RegisterForHCIMsgs(selfEntity); 但我在编译时搜不到这个函数...
发表于 09-25 09:59 19次 阅读

怎样用树莓派通过HTTP从PHP网站发送SMS

  本教程演示了如何使用Raspberry Pi通过HTTP请求和响应从PHP网站发送SMS。它提供....
的头像 39度创意研究所 发表于 09-24 11:24 101次 阅读

我想问一下差分信号length tuning中,gap,amplitude increase gap increase如何设置,和差分线的width和gap是什么关系 ...
发表于 09-06 05:35 45次 阅读

HI, 在M24SR库中是否有任何LibNdef用于Wifi凭证,就像用于短信,电子邮件,AAR等的lib Ndef一样?或者我们是否...
发表于 08-12 07:05 197次 阅读

如何使用SMS为LED供电

这里我们将LED连接到LinkitONE
的头像 39度创意研究所 发表于 08-07 17:36 543次 阅读

怎样用树莓派上的Node-RED创建一个SMS应用程序

本教程的设置包括带有华为3G USB调制解调器的RaspberryPi 3,它连接到蜂窝网络。
的头像 39度创意研究所 发表于 08-01 16:42 349次 阅读

SMS2003又是微软的一个令人兴奋的软件,微软非常巧妙的将SMS 2003与AD进行了整合,非常方便的实现了对域环境下资源的管理...
发表于 07-19 06:19 107次 阅读

使用SMS短信进行PDU编码的详细资料和程序免费下载

目前,发送短消息常用Text和PDU(Protocol Data Unit,协议数据单元)模式。使用....
发表于 06-21 17:43 110次 阅读
使用SMS短信进行PDU编码的详细资料和程序免费下载

如何进行SMS短信的PDU编码详细资料说明

目前,发送短消息常用Text和PDU(Protocol Data Unit,协议数据单元)模式。使用....
发表于 05-08 18:18 85次 阅读
如何进行SMS短信的PDU编码详细资料说明

如何使用BDS和GPRS进行智能汽车定位器的设计

企事业单位及高校外来车辆进出频繁,单位及校园内部道路外来车辆随意停放现象日趋严重。为了规范停车,本文....
发表于 03-25 08:00 151次 阅读
如何使用BDS和GPRS进行智能汽车定位器的设计

美好的一天,支持团队, 我有一个关于BlueNRG-1同时主/从模式支持的问题。 正如我从文档“BlueNRG-1,BlueNR...
发表于 02-13 12:54 305次 阅读

你好, 我想在PSoC 4 BLE设备中使用“可连接定向”的广告包,但是在拉低“广告类型”功能时,在组件GUI中找不到GAP...
发表于 10-30 10:22 293次 阅读

嗨, 使用GAP_INIT启动芯片时,它会自动创建设备名称和外观特征。这些是使用写属性创建的,允许任何人重写设备的...
发表于 09-28 16:50 386次 阅读

SMS的功能及结构介绍

SMS(Short Messaging Service)是最早的短消息业务,也是现在普及率最高的一种....
发表于 09-27 11:31 343次 阅读
SMS的功能及结构介绍

输电线路覆冰在线监测研究

 研发基于通用移动通信系统/短信息服务(GSMSMS)的输电线路覆冰在线监测系统,整个系统主要由省监....
发表于 09-08 14:34 285次 阅读
输电线路覆冰在线监测研究

使用AT命令控制SMS(演示软件)(PDF)

使用AT命令控制SMS(演示软件)(PDF)
发表于 02-25 18:08 253次 阅读
使用AT命令控制SMS(演示软件)(PDF)

一种基于STM32的SMS短消息收发系统_宋维

一种基于STM32的SMS短消息收发系统_宋维
发表于 01-14 22:32 294次 阅读
一种基于STM32的SMS短消息收发系统_宋维

手把手教你用蓝牙:初探蓝牙协议中的通用访问规范GAP

初探蓝牙协议中的通用访问规范GAP 青云开发板资料,介绍GAP的基础知识。
发表于 07-26 15:18 792次 阅读
手把手教你用蓝牙:初探蓝牙协议中的通用访问规范GAP

基于PDA和无线模块的SMS程序设计

本文讨论了基于微软Windows CE的PDA设备串口通信,通过将PDA的串口与一个无线模块相连,实....
发表于 04-18 10:46 290次 阅读
基于PDA和无线模块的SMS程序设计

基于SMS%2fWLAN的嵌入式Linux工控预警传输系统

发表于 08-24 19:11 313次 阅读
基于SMS%2fWLAN的嵌入式Linux工控预警传输系统

基于STM32的SMS短消息收发系统

短消息服务作为GSM网络提供的一种基本服务,已成为诸多领域远程控制的一种通信手段。讨论一类通用的SM....
发表于 11-26 14:44 953次 阅读
基于STM32的SMS短消息收发系统

手机短信点播内容的广播方式及其原理

随着手机应用和用户生成型内容(UGC)的飞速增长,将SMS和MMS信息等手机内容发布到广播系统中的能....
发表于 07-20 17:45 1208次 阅读
手机短信点播内容的广播方式及其原理

基于SMS的智能家居远程监控系统

该系统通过手机短信不但可以遥控家居的电器设备,而且还可以对家居安防系统进行远程监视,具有结构简单、运....
发表于 07-11 09:46 913次 阅读
基于SMS的智能家居远程监控系统

sms是什么意思

sms是什么意思,sms的体系结构介绍。SMS是一种存储和转发服务。也就是说,短消息并不是直接从发送....
发表于 12-21 16:29 12308次 阅读
sms是什么意思

基于GSM模块的移动购物系统设计

随着社会经济的发展和生活水平的提高,人们的消费观念不再局限于传统的零售业,移动支付作为一种新的移动互....
发表于 09-23 12:02 936次 阅读
基于GSM模块的移动购物系统设计

Web+SMS技术在公路地质灾害监测中的应用

为了减少或消除公路边坡地质灾害的影响,利用先进的通信和计算机技术建立公路边坡 地质灾害监测 预警系统....
发表于 08-05 14:49 435次 阅读
Web+SMS技术在公路地质灾害监测中的应用

基于PDA和无线模块的SMS程序设计

本内容提供了基于PDA和无线模块的SMS程序设计,欢迎大家下载学习
发表于 06-27 15:54 428次 阅读
基于PDA和无线模块的SMS程序设计

基于ARM9工控主板的SMS短信息应用

英创公司的嵌入式工控主板均预装WinCE5.0正版操作系统,在工业控制及终端检测设备中,具有低成本、....
发表于 06-09 15:58 640次 阅读
基于ARM9工控主板的SMS短信息应用

移动短信SMS综合资料

GSM中唯一不要求建立端-端业务路径的业务就是短消息,即使移动台已处于完全电路通信情况下仍可进行短消....
发表于 05-10 15:41 408次 阅读
移动短信SMS综合资料

基于GAP技术的网络隔离设备的设计

简要介绍GAP技术的原理,提出一种基于现场可编程门阵列(FPGA)的实现方案。通过详细分析SCSI协....
发表于 12-03 16:35 295次 阅读
基于GAP技术的网络隔离设备的设计

基于GSMSMS的输电线路覆冰在线监测系统

研发基于通用移动通信系统/ 短信息服务(GSMSMS) 的输电线路覆冰在线监测系统, 整个系统主要由....
发表于 10-13 15:32 327次 阅读
基于GSMSMS的输电线路覆冰在线监测系统

SMSC推出USB333x/334x ULPI收发器系列

  智能混合信号连接解决方案(Smart Mixed-Signal Connectivity)的领先....
发表于 09-02 09:03 675次 阅读
SMSC推出USB333x/334x ULPI收发器系列

SMS模块TC351及其外围电路设计

摘 要:详细介绍了Siemens新一代短消息收发模块TC35I的主要特性、SMS AT指令集和PDU....
发表于 05-17 11:07 856次 阅读
SMS模块TC351及其外围电路设计

基于SMS的单片机无线监控系统设计

本文介绍了基于SMS 的单片机远程监控系统,采用内置CAN 控制器的AT90CAN128作为控制器来....
发表于 01-13 16:09 322次 阅读
基于SMS的单片机无线监控系统设计

SMS有奖问答游戏的设计与实现

        介绍在Linu....
发表于 09-15 08:21 276次 阅读
SMS有奖问答游戏的设计与实现

基于SMS 和WAP Push 的移动商务系统设计

        本文在SMS ....
发表于 09-14 09:46 318次 阅读
基于SMS 和WAP Push 的移动商务系统设计

基于智能手机平台的SMS系统测试技术研究

        &n....
发表于 09-14 09:30 246次 阅读
基于智能手机平台的SMS系统测试技术研究

SMS在真空控制系统维护中的应用

随着企业规模的不断扩大,设备的维护成本在不断增加。将短消息业务应用在远程监测系统中,就可以大幅降低设....
发表于 09-07 09:45 209次 阅读
SMS在真空控制系统维护中的应用

基于SMS 通信的直放站监控系统设计

论述直放站远程监控系统的方案、系统的组成、硬件的配置、软件设计、工作原理、功能以及技术性能。该系统通....
发表于 05-14 14:58 2123次 阅读
基于SMS 通信的直放站监控系统设计

远程监控系统通过SMS发送电子邮件-Remote Monit

Abstract: This application note demonstrates how t....
发表于 05-07 11:37 1251次 阅读
远程监控系统通过SMS发送电子邮件-Remote Monit
电子发烧友 华秋开发
APP 网站地图
红运快三 红运快三 红运快三 红运快三 红运快三 红运快三 红运快三 红运快三 红运快三 红运快三