BLE知识介绍

本文详细解析了蓝牙技术中的关键要素,如为何选择37-39频道作为广播通道,2.4G频段的优势,广播数据包结构,扫描和广播时长,连接过程,服务和特性(包括16bitUUID和SPP协议),以及蓝牙串口数据透传。
摘要由CSDN通过智能技术生成

官方文档和参考文档

  1. specifications
  2. assigned-numbers
  3. 00_低功耗蓝牙BLE基础知识
  4. 蓝牙技术总结
  5. 浅谈BLE低功耗蓝牙技术相关知识

一、蓝牙传输频段

低功耗蓝牙一共有40个信道,频段范围从2402MHz到2480MHz,其中37,38,39是广播信道,剩余的是数据信道。
ble-adv-channel

为什么要选择37,38,39做广播通道

我们可以看看wifi传输信道情况,这样设计可能是为了最大程度避开wifi传输信道的干扰,影响广播扫描配对。配对成功后,蓝牙传输支持channel hop功能来做抗干扰。
wifi-channel

为什么是2.4G频段

2.4GHz 频率属于 ISM(工业、科学及医疗设备)频率,无需经过当局许可便可使用,属于全球通用。

二、蓝牙广播数据

蓝牙广播数据包长度37个字节,其中前6个字节固定是Mac地址,剩余31个字节根据实际情况定义。
adv-data-struct
长度 = 1 + N

来看一个具体的例子,如下是一个广播数据包的两个结构体,第一个占用5个字节,第二个占用4个字节,剩余不足31个字节的位置补零。

ad-structure1

上面知道了广播数据结构体的组织方式,下面来看看如何解释这些数据结构体。我们可以在官方specifications提供的Assigned Numbers文档中查看完整的广播类型定义,这里列举几个常用的类型说明:
adv-usual-type

很多字段都是需要在蓝牙官方资料中查询,这里罗列几个常用查询地址:

类型说明
补充说明
注册蓝牙公司标识查询
外观类型查询

三、蓝牙扫描,广播时长和扫描窗口

  1. scan 指的是central端在扫描周边蓝牙设备,必须设置scan interval(扫描周期:2.5ms ~ 10.24s)Advertising 指的是peripheral端广播信息,需设定Advertising interval(广播周期:20ms~10.24s)
  2. 扫描间隔(scan interval):两个连续的扫描窗口的起始时间的时间差,包括扫描休息的时间和扫描的时间。
  3. Interval时间越长,越省电,反之越耗电
  4. 设定Time out时间,避免长期scan或者Advertising造成产品耗电。
  5. 扫描窗口(scan window):一次扫描进行的时间宽度
    scan-adv-interval_window

四、蓝牙广播分类和扫描

蓝牙广播分类主要从三个维度出发:

  1. connectability可连接性:Connectable vs Non-connectable
  2. scannability可被扫描性:Scannable vs Non-scannable,可扫描的意思是scanner可以发送scan request,advertiser发送scan response data
  3. directability定向性:Directed vs Undirected,定向的意思是指定scanner的地址,其他scaner不能连接上来
    另外一个维度是discoverable,分为non-discoverable vs discoverable(general or limited),non-discoverable可以理解,就是不可发现。
广播类型使用连接支持扫描响应
可连接非定向常用普通广播方式支持
可连接定向用于已配对过,快速回连广播指定设备可连不支持
不可连接非定向常用于信标,传感器不支持
可扫描非定向在3的基础,添加可以扫描响应,用来承载更多数据支持

蓝牙广播和扫描

蓝牙广播和扫描数据格式是一样的,不同的是广播是从机设备主动发出,而扫描是从机设备响应主机设备的扫描请求后发出。有时蓝牙广播数据长度超过31个字节,我们会把其他数据通过扫描响应反馈给主机设备。
adv-scan

五、蓝牙连接

在连接配对期间peripheral 需要提供四个参数给到central:
. MIN_CONN_INTERVAL
. MAX_CONN_INTERVAL
. SALVE_LATENCY
. CONN_SUP_TIMEOUT

central 会参考这四个参数,并传输connect event给peripheral当做彼此沟通的时间。
connect interval:标准位7.5ms~4s(IOS interval:20ms~2s)
slave latency: 为了节省peripheral的功耗,central可以接受peripheral几次不回传。
supervision Timeout:设定当多久没有收到任何通讯要求时,中断连接。
connect-data-change

六、蓝牙服务和特性

蓝牙协议框图
蓝牙协议框图

蓝牙设备服务和特性关系
蓝牙设备服务和特性关系

蓝牙服务和特性UUID
UUID
可以看到上面128bit的uuid非常长,而我们在实际使用或者在nrfconnect里看到的uuid是没有这么长的,是因为蓝牙联盟组织为了方便,给出了一个基地址,用户可以在基地址的基础上修改16bit来作为自己需要的uuid。

base-uuid
在低功耗蓝牙中,所有的数据通信都依赖于各个服务中的特性,根据特性的可读,可写,通知等不同类型进行划分。每个特性可以同时赋值为多个不同的权限。

service-char-permision

per-diff

七、16bit的UUID

每个UUID对应的名称,在数据手册里都有定义。

NameUUID
Alert Notification Service0x1811
Audio Input Control Service0x1843
Audio Stream Control Service0x184E
Authorization Control Service0x183D
Automation IO Service0x1815
Basic Audio Announcement Service0x1851
Battery Service0x180F
Binary Sensor Service0x183B
Blood Pressure Service0x1810
Body Composition Service0x181B
Bond Management Service0x181E
Broadcast Audio Announcement Service0x1852
Broadcast Audio Scan Service0x184F
Common Audio Service0x1853
Constant Tone Extension Service0x184A
Continuous Glucose Monitoring Service0x181F
Coordinated Set Identification Service0x1846
Current Time Service0x1805
Cycling Power Service0x1818
Cycling Speed and Cadence Service0x1816
Device Information Service0x180A
Device Time Service0x1847
Elapsed Time Service0x183F
Electronic Shelf Label Service0x1857
Emergency Configuration Service0x183C
Environmental Sensing Service0x181A
Fitness Machine Service0x1826
Gaming Audio Service0x1858
GAP Service0x1800
GATT Service0x1801
Generic Health Sensor Service0x1840
Generic Media Control Service0x1849
Generic Telephone Bearer Service0x184C
Glucose Service0x1808
Health Thermometer Service0x1809
Hearing Access Service0x1854
Heart Rate Service0x180D
HTTP Proxy Service0x1823
Human Interface Device Service0x1812
Immediate Alert Service0x1802
Indoor Positioning Service0x1821
Insulin Delivery Service0x183A
Internet Protocol Support Service0x1820
Link Loss Service0x1803
Location and Navigation Service0x1819
Media Control Service0x1848
Mesh Provisioning Service0x1827
Mesh Proxy Service0x1828
Mesh Proxy Solicitation Service0x1859
Microphone Control Service0x184D
Next DST Change Service0x1807
Object Transfer Service0x1825
Phone Alert Status Service0x180E
Physical Activity Monitor Service0x183E
Public Broadcast Announcement Service0x1856
Published Audio Capabilities Service0x1850
Pulse Oximeter Service0x1822
Reconnection Configuration Service0x1829
Reference Time Update Service0x1806
Running Speed and Cadence Service0x1814
Scan Parameters Service0x1813
Telephone Bearer Service0x184B
Telephony and Media Audio Service0x1855
Transport Discovery Service Bluetooth SIG Proprietary0x1824
Tx Power Service0x1804
User Data Service0x181C
Volume Control Service0x1844
Volume Offset Control Service0x1845
Weight Scale Service0x181D

八、SPP协议

蓝牙串口数据透传。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值