版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本文格式为Word版,下载可任意编辑——蓝牙知识小结蓝牙协议知识总结
蓝牙设备和主机进行连接和数据通信的流程如下:
1外部设备发出广告(带有UUID信息等其他信息);
2主机(集中器设备)收到广告信息,进而发送扫描请求;表示我扫描到你的信息;3外部设备收到扫描请求后,返回扫描回应,表示我知道你扫描到我的信息;4主机进而发送连接请求信息,表示主机要跟设备建立无线连接;5设备收到连接请求后,发送相应请求回应;表示已经建立连接;
数据读写流程如下进一步(在建立连接的基础上):
6主机发送主服务UUID(设备的广告UUID)给设备;服务发现7设备收到后回应服务信息;
8主机发送特性UUID;特性发现9设备收到后回应特性值句柄;(类似于存储设备的地址)
10主机发送特性值句柄;读信息11设备收到后回应特性值;
12主机发送特性值句柄和要写入值;写信息13设备回应写入成功响应;
在睡眠状态,耗电只有1微安(uA),而在连接事件中最高的是10几个毫安
连接建立之后,再进行安全密钥的交换配对,进而进行数据的读写;
主机和从机绑定之后,断开连接后,可以快速的建立连接并进行加密读写,而不需要再次配对;特点
1低功耗蓝牙速度只有100bps,传统蓝牙有3Mbps
2低功耗蓝牙不需要IOS的MFI认证,传统蓝牙必需;3低功耗蓝牙能纽扣电池能用1年多,传统蓝牙不行;
频道:
2.4G–2.48G总共40个频段,每2M一个频段;
其中37(2.40G),38(2.426G),39(2.48G)为3个广播频道;这3个频道避开了wifi常用的频道,与wifi可以共存;其他37个为连接频道;
1、BLE中主从机建立连接,到配对和绑定的过程如下图。
正如上图所示,最简单一次蓝牙通信需要以上相关步骤,包括discoverydevice,connect,pairing,bond等4个主要部分。
1)广播:广播包可以包含广播数据,广播包可以无指定或者对指定的设备发送。可以声明
该器件是可连接的还是不可连接的。在一次广播中,广播包可以在三个广播通道中同时发送。
广播类型:1未指定可连接2指定可连接3未指定不可见4未指定不可连接#defineGAP_ADTYPE_ADV_IND0x00//!<Connectableundirectedadvertisement#defineGAP_ADTYPE_ADV_DIRECT_IND0x01//!<Connectabledirectedadvertisement
#defineGAP_ADTYPE_ADV_DISCOVER_IND0x02//!<Discoverableundirectedadvertisement
#defineGAP_ADTYPE_ADV_NONCONN_IND0x03//!<Non-Connectableundirectedadvertisement
#defineGAP_ADTYPE_SCAN_RSP_IND0x04//!<OnlyusedingapDeviceInfoEvent_t
在peripheral.c中
GAPRole_Init(taskID++);进行了初始化设置
还有有以下函数bStatus_tGAPRole_SetParameter(uint16param,uint8len,void*pValue)
GAPRole_GetParameter(…..)可以调用进行设置。2)scanning
1)被动扫描:扫描者监听广播频道的广播包,收到后将其上传到host层
2)主动扫描:扫描者监听广播频道的广播包,当收到广播包后扫描者发送一个scan
Request包,广播设备回应一个scanreponse包
3)Connection
在扫描设备扫描到一个可连接的广播消息后,扫描设备可以通过发送connectionreequst包给广播设备从而成为连接的发起者
Connectionresqust包含从机链路层一系列的参数,这些参数声明连接时的通道
及时序要求。建立连接
GAPCentralRole_EstablishLink(DEFAULT_LINK_HIGH_DUTY_CYCLE,DEFAULT_LINK_WHITE_LIST,addrType,peerAddr);
广播设备接收了连接请求,就进入了连接状态,发起者成了主机,广播设备成了从机。两个已连接的设备的所有通信发生在连接事件中,连接事件周期性的发生,周期由连接间隔参数决定。
连接间隔:使用调频的间隔;两个连接事件之间的时间间隔,蓝牙传数据是在一个频段发送
数据后,然后跳到另一个频段再传数据,从一个频道另一个频段的时间间隔就是连接间隔;即使没有数据发送,也要调频切换测试包是否连接断开;所以,连接间隔是定时的存在;可以认为是一个固定的时序;每隔一段时间就自动调到另一个频道的去建立连接;这个时间中,是很少功耗的,基本没有;
单位是1.25毫秒;范围是63200个单位;也就是1.25ms到4s的范围不同的应用时间间隔不一样,
时间间隔长,功耗就低,传输数据慢;时间间隔短,功耗就高,传输数据就快。
从机延时:从机假如没有数据发送,可以跳过连接间隔,不用频繁的定时去建立连接,从
而过一段较长时间再去建立连接;这个时间就是从机延时时间;从而功耗降低好多;单位是和连接间隔一样;范围是0499
管理超时超过这个时间,还没有建立连接,则认为是连接丢失,断开。回到未连接状态;单位是10ms,范围是10(100ms)3200(32s)。超时值必需比有效连接间
隔大;有效连接间隔=连接间隔×(1+从机延时)
假如从机不想使用当前的连接参数,可以向主机发送连接更新请求,从机设备可以在任何时
候发送连接更新请求,使得从机可以动态的调整连接参数。
GAPCentralRole_UpdateLink(simpleBLEConnHandle,
DEFAULT_UPDATE_MIN_CONN_INTERVAL,DEFAULT_UPDATE_MAX_CONN_INTERVAL,DEFAULT_UPDATE_SLAVE_LATENCY,DEFAULT_UPDATE_CONN_TIMEOUT);
无论主机还是从机,都可以无条件的终止当前连接,一方请求终止,另一方必需在断开连接状态之前响应。
连接还可以由超时而终止。超时时间小于32s,大于有效连接间隔(连接间隔×(1+从机延时))
终止连接函数:
GAPCentralRole_TerminateLink(simpleBLEConnHandle);
主机和从机保存各自的超时计时器,每次收到数据包就清零,一旦达到超时数值,就认为连接已经丢失就会断开连接。
连接超时判断,终止连接在程序中还没找到。
2.BLE中的GAP和GATT
GA
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论