BLE设备的状态迁移图:
Standby State:不会发送和接收数据包
Advertising State:转发广播数据包并且能够监听广播通道的数据,在这个状态下,设备被认为是广播者
Scanning State:监听广播通道的数据,这个状态下被当做扫描者。
Initiating State:监听广播广播通道数据从一个特定的设备,然后发起连接。
Connection State:设备连接起来
Link Layer pack格式:
主要有两种 pack:
Advertising pack、Data pack
Preamble(这个值取决于Accesss Address的最低位):
如果是0就是 10101010
如果是1就是 01010101
Accesss Address:
对于广播信道的是个固定的值: 0x8E89BED6
如果是数据通道的话,Accesss Address这个值由在Initiating设备所产生的随机值
产生的随机值有六大要求:
(1)不能是6个连续的0或者1
(2)不能和广播信道的值一样
(3)最少要和广播信道的值保持两位不一样
(4)四个字节的值不能一样
(5)不能出现24个翻转
(6)每六个相同的bit要翻转一次
PDU:具体决定这个数据包是什么类型
Advertising PDU:
Header:
PDU Type:决定广播pack是哪一种类型
RFU:保存用在以后使用
TxA