BLE蓝牙技术概述DAVID.LOU2018蓝牙亚洲大会数据•蓝牙技术概述•低功耗蓝牙体系结构•BLE应用开发介绍•应用开发注意事项蓝牙技术概述蓝牙技术•蓝牙SIG定义的一种基于2.4GHZ的短距离无线通信技术,能在包括移动电话、无线耳机、便携式计算机等相关外围设备之间进行无线信息交换。
•低功耗蓝牙技术是蓝牙4.0之后引进的一种新型的超低功耗无线传输技术,该技术具有极低运行和待机功耗,主要针对低成本、简易的无线体域网和无线个域网而设计的。
蓝牙SIG•蓝牙技术联盟,国际性的非营利组织,拥有超过33,000家成员公司,主要负责监督蓝牙规范的开发,管理认证项目,并维护商标权益等。
•主要分为3类会员:•发起会员(9个): 3COM、爱立信、IBM、英特尔、朗讯、微软、摩托罗拉、诺基亚和东芝。
主要任务是制定规范和市场项目开发•合作会员:一种付费的会员,他们具有访问各种早起规范草案的权利•接受会员:一种无付费的成员,只需要签定一个接受蓝牙规范的协议,保证开发的产品符合蓝牙规范的要求发展史•BT 1.0(1999),BASIC RATE 基本码率,1Mbps ,兼容差,抗干扰弱,数据安全性差•BT 2.0(2004),ENHANCED DATA RATE (EDR) 增强码率,支持双工模式,3Mbps•BT 2.1(2007),安全简易配对(SSP), SNIFF 省电•BT 3.0(2009),HIGH SPEED交替射频,24Mbps ,核心,ALTERNATIVE MAC/PHY•BT 4.0(2010),经典蓝牙兼容低功耗模式,传输距离100M,BLE 物理层1MBPS,MTU 23 •BT 4.2(2014),隐私保护程度、安全连接、数据包长度,MTU 255,SCANFILTER•BT 5.0(2016),高输出功率,通信距离更长300M,广播数据达512字节,BLE 物理层2Mbps,物联网方向改进普通蓝牙与BLE蓝牙比较参数类型传统蓝牙低功耗蓝牙4.0波段 2.4GHz ISM频段 2.4GHz ISM频段跳频79个信道,带宽1MHz40个信道,带宽2MHz 调制方式CFSK CFSK通信距离10~100m30~100m305kb/s最大速率721kb/s(BR)2.1Mb/s(EDR)24Mb/s(HS)发射功率0~20dBm-20~10dBm链接时间20ms3ms最大包长度1021byte27byte通信方式Socket GATT主从设备转换支持不支持分布式网络支持不支持BLE物理参数•BLE操作在2.4 GHZ的ISM频段,范围2400 ~ 2483.5 MHZ•BLE具有40个RF信道,对应中心频率的2402 + K * 2 MHZ(K = 0, ..., 39.)•BLE发射端输出功率0.01 mW (-20 dbm) ~ 10 mW (+10 dbm)•蓝牙跳频速率为1600次/S近距离通信对比种类Zigbee Wifi红外RFID传统蓝牙BLE HomeRF 距离(m)50~30010~10051~1010~10030~100502.4G820nm 5.8G 2.4G 2.4G 2.4G频段(Hz)868M~2.4G连接时间30ms3S毫秒级毫秒3~10S3ms 1.28s速度(S)250Kbps300Mbps 1.5~16Mbps0.212Mbps24Mbps(HS)305kbps100Mbps50mW 最大功耗1~3mW100mW10mW01~100mW0.01~10mW复杂性简单非常复杂简单复杂简单简单复杂安全性128AES SSID小角度密钥128AES128AES50/跳频网络节点6500050无无8127集成度高一般一般一般高高一般成本低一般低低低低一般BLE优势•低功耗——约普通蓝牙的10%•可靠——跳频技术,保证传输可靠性•低成本——CMOS制造工艺,协议栈非常简练•无限制——全球技术,使用不存在特殊规定和限制性规则•安全——提供完整的鉴权功能,数据完整性,AES128加密传输BLE应用领域•智能楼宇:室内定位和位置服务•智慧城市:共享单车、智能停车场、体育馆、无线抄表、遥测•智能家居:照明、温控、烟雾探测器、摄像头、门铃、门锁•汽车自动化:蓝牙钥匙•医疗健身:血压计、体温计、运动手环•工业控制:能源石油天然气领域的各类蓝牙传感器•农业自动化:联合收割机、变量施肥播种机、无人驾驶拖拉机•…蓝牙体系架构物理层•包含基带部分和射频收发模块;•工作在2.4GHZ 的ISM无线频段,负责从物理信道发送和接收数据包;•调频技术,抗干扰、抗衰弱;•物理信道分布图:LINK LAYER链路层•LL层是整个BLE协议栈的核心,也是BLE协议栈的难点和重点•由多址接入、设备发现、链路层链接3个部分组成•对上为逻辑链路控制和适配协议提供服务•对下选择合适的信道进行数据交换与通信•负责广播、扫描、链接建立和维护,设备过滤•定义BLE空中协议,空中接口数据的各类数据格式•主要包含5类操作状态:待机、发起、扫描、链接、广播PACKET FORMAT•前导:01010101或者10101010,取决于接入地址的第一个比特。
•接入地址:•广播地址:0X8E89BED6•数据地址:随机值•PDU格式:参考后面•CRC校验: X24 + X10 + X9 + X6 + X4 + X3 + X + 1广播信道PDU•ADV_IND•用途最广的广播类型,包括广播数据和扫描响应数据,它表示当前设备可以接受其他任何设备的连接请求。
•ADV_DIRECT_IND0 ~ 10ms•定向广播类型是为了尽可能快的建立连接。
这种报文包含两个地址:广播者的地址和发起者的地址。
发起者收到发给自己的定向广播报文之后,可以立即发送连接请求作为回应•ADV_NONCONN_IND•仅仅发送广播数据。
•ADV_SCAN_IND•不能用于发起连接,但允许其他设备扫描该广播设备。
这意味着该设备可以被发现,既可以发送广播数据,也可以响应扫描发送扫描回应数据,但不能建立连接•两个相邻的广播事件的之间的时间间隔(T_ADVEVENT)为:•T_ADVEVENT = ADVINTERVAL + ADVDELAY•ADVINTERVAL:“0.625MS”的整数倍,可连接 20MS ~ 10.24S,不可连接: >100 MS •ADVDELAY: 0 ~ 10MS,是LINK LAYER(链接层)分配的一个伪随机数•ADV_IND 、ADV_NONCONN_IND、ADV_SCAN_IND•ADV_DIRECT_IND•SCAN_REQ•SCAN_RSP•CONNECT_REQTRANSMIT WINDOW•主设备因处理事务较多,为确保连接的高效性,在连接请求时增加WINOFFSET+1.25MS和WINSIZE参数•第一个包的数据传输不会早于: WINOFFSET+1.25MS•最后一个包的传输不会晚于: WINOFFSET+1.25MS+ WINSIZE•参数范围:•WINOFFSET: 0 ~ CONNINTERVAL*1.25MS•WINSIZE: 1.25 MS ~10 MS数据信道PDUHCI(HOST CONTROLLER INTERFACE)L2CAP(逻辑链路控制与适配协议)•复用层,负责为上层提供数据封装业务,支持数据的分割、重组功能,方便大块数据的传输,流控制和重发功能;•协议复用技术:因为基带不能够识别全部高层协议的类型标志,所以位于基带上层的逻辑链路控制适配层必须支持识别不同的高层协议;•数据包分段重组技术:负责向高层协议栈提供面向连接的数据服务,允许传达8KBYTE数据•分为两部分:•CHANNEL MANAGER主要负责创建、管理、释放L2CAP CHANNEL•L2CAP RESOURCE MANAGER负责统一管理、调度L2CAP CHANNEL上传递的PDU(PACKET DATA UNIT),以确保那些高QOS的PACKET可以获得对物理信道的控制权SMP安全协议•端到端协议,所有的SMP命令在一个专属的L2CAP信道执行;•低功率蓝牙独有协议,类似传统蓝牙的LMP(LINK MANAGER PROTOCOL),降低了BLE成本;•定义了简单的匹配和密钥分发协议;•实现设备之间的配对、认证、加密功能;•用于加密密钥及身份密钥的生成、存储;•提供安全工具箱,加密算法,计数器,HASH运算等;ATT属性协议•BLE通信的基础,专门为低功耗蓝牙设计;•端到端的通信协议,通过固定的L2CAP信道4,实现客户端和服务器端的通信;•BLE以属性的形式向其他蓝牙设备暴露自己的某些数据,定义属性的权限;•根据属性类型,定义了多种CLIENT访问SERVER的属性方式,也可以被SERVER通知或者指示•采用CS模式,暴露属性的叫SERVER,另一端是CLIENT;GATT通用属性协议•位于ATT之上,使用的是ATT的L2CAP信道,定义属性协议的服务框架•用于支持和发现远端设备的服务功能、特征值、描述符,类似传统蓝牙的服务发现协议SDP•定义了基于ATT协议的服务框架,服务的流程、格式及特征值,提供了相关操作接口(读写通知发现)•将功能类似的服务进行整合,分主要服务,次要服务常用的PROFILE•AVRCP(AUDIO/VIDEO REMOTE CONTROL PROFILE)音频/视频远程控制规范•A2DP(ADVANCED AUDI O DISTRIBUTION PROFILE)传输立体声音频信号•SPP (SERIAL PORT PROFILE)虚拟串口•FTP(FILE TRANSFER PROFILE)文件传输协议•BPP(BASIC PRINTING PROFILE)打印协议•HFP(HANDS-FREE PROFILE)让蓝牙设备可以控制电话•HDP(HEALTH DEVICE PROFILE)健康•…GAP通用接入规范•位于GATT之上的基础的PROFILE;•确保了不同厂商的两个蓝牙设备(不管制造商)可以通过 BLUETOOTH 技术交换信息,所有蓝牙单元都必须支持GAP以保证基本的互操作性和共存性•定义了BLE的基本层级,及层级之间的协同工作•定义蓝牙设备的所有基础功能,为蓝牙设备提供诸如设备发现、链接建立、安全、认证、服务发现等功能;•定义用户接口有关的参数,蓝牙名称、地址、配对码•GAP定义了四种角色:广播设备、观察设备、中心设备、外围设备安全模式•GAP定义了两类安全模式,在访问的服务涉及到安全保护时可以配置•安全模式1:链接内部提供不同级别的加密,高级别安全可以满足低级别的需求•等级1 无认证和加密要求•等级2 带加密的未认证配对•等级3 带加密的认证配对•安全模式2:不同级别的数据签名保护•等级1 带数据签名的未认证配对•等级2 带数据签名的认证配对蓝牙配对方式•PASSKEY ENTRY(密码输入)•NUMERIC COMPARISON(数值比较)•JUST WORKS (不鉴权,直接使用)•OUT OF BAND (OOB)AMP管理协议•ALTERNATE MAC/PHYS•蓝牙核心系统提供一种通信机制,次要控制器(SECONDARY CONTROLLERS)•当两个蓝牙设备的L2CAP链接建立后;•本地AMP管理器能检测到另外一个设备的AMP管理器•如果同意,创建AMP物理连接,让数据流从AMP控制器传输•直接使用802.11的WIFI协议进行快速通信BEL应用开发•基于非连接的:•苹果推出的IBEACON:实现广告推送和室内定位•手机 QQ -“寻找丢失儿童”:应用开发分类•基于连接的:蓝牙通信的主要步骤蓝牙广播。