Skip to main content

低功耗蓝牙AutoConnect

低功耗蓝牙连接的基本流程包括扫描、连接和通信三个步骤。

扫描:在低功耗蓝牙连接建立之前,需要进行设备之间的扫描。扫描方式为主动扫描及被动扫描两种。主动扫描是指从中央设备(例如手机)发起扫描,搜索周围的外围设备(例如华为智能手环)。被动扫描则是外围设备在广播自己的信息时被中央设备发现。通过扫描可以获取到设备的唯一标识符(MAC地址)和设备名称等信息。

下图为广播过程:

img

连接:连接是指中央设备与外围设备之间建立起通信链路。

连接包括以下几个步骤:首先,中央设备向外围设备发送连接请求。然后,外围设备回复连接响应,并开始建立通信链路。接着,中央设备和外围设备进行服务发现,以确定彼此支持的服务和特征值。最后,中央设备和外围设备进行特征值读写、订阅等操作。

img

通信:在连接建立之后,中央设备和外围设备之间就可以进行数据传输了。低功耗蓝牙通信采用“主从”架构,也就是说,中央设备负责控制通信流程,而外围设备则被动接受并响应。通信过程中,中央设备会向外围设备发送指令,包括读取、写入、订阅等操作。外围设备则根据指令进行相应的处理,并将结果返回给中央设备。下图为连接过程:

蓝牙广播包为37个字节(最大长度),设备地址在其中占用了6个字节,剩余31个字节是可自定义使用。31个可用的字节又按照一定的格式来组织,被分割为n个AD Structure。如下图所示: