美文网首页
蓝牙开发系列一:流程简介

蓝牙开发系列一:流程简介

作者: 猿二胖 | 来源:发表于2017-11-19 17:30 被阅读0次

    一、整体流程

            蓝牙连接的整体流程如下:

    二、扫描阶段

        1、扫描设备

                低功耗蓝牙设备通过广播信道发现其他设备,一个设备进行广播(外围设备)。而另一个设备(中心设备)进行扫描。中心设备可以主动连接外围设备。

     广播包中包含以下字段:

      1)设备名称

      2)设备UUID

      3)设备mac地址。由于苹果安全限制,苹果设备不能拿到设备的mac地址。可以将设 备的mac地址以广播的形式告诉苹果设备。

    2、设备匹配

        2.1、 区分不同的设备

       1)按照名称。某一厂商可以将设备的名称定义为一定规律的名称来区分其                        它厂家设备。例如ZYT0000001,ZYT0000002....

     2) 按照UUID区分:每个设备定义不同的serviceUUID值。实现区分。    

      2.2、匹配设备

        1)由于苹果安全限制,苹果设备不能拿到设备的mac(苹果给出虚拟的UUID值映射到Mac)。因此只能依靠厂商自定义数据部分进行设备的匹配。例如厂商定义数据写入唯一序列号、设备名称等方式。

     2)若需要实现设备与账号绑定,APP需要保存厂商自定义数据(绑定时传输到后台服务器等方式),从而在更换手机登录时,利用该数据匹配到设备,进行连接和通讯

    三、连接阶段

        3.1  设备连接过程又分为:

            1)蓝牙层连接(此时不可以进行设备的读写操作)

             2)发现服务

              3)发现服务特征值(只有发现设备的对应的服务特征值后,方可真正的进行设备间的 数据交互,此时设备真正意义上的连接成功)

            4)订阅服务。发现服务后(服务包含读写通道),对需要的服务特征值实现订阅, 即启用蓝牙读响应。

     四、配对流程(可选)

           4.1、配对流程非必须流程,核心的安全要求时:由用户参与,能够体现出发起连接的设   备。(手机等),让用户确认授权。

    鉴于蓝牙BLE4.0底层协议不支持静态PIN配对,采用应用层PIN认证的解决方案。手环与之认证PIN密码(这个PIN码不是位于SE中,而是位于蓝牙MCU中).当手机发起蓝牙连接配对请求时。手环设备侧接收配对请求,但手机侧发起PIN认证,手环备PIN认证通过则保持蓝牙连接,否则从手环设备侧断开蓝牙连接。(有屏幕设备可选择点击屏幕配对,屏幕则通过敲击实现认证)

    五、指令收发

            经过连接阶段后,即可进行蓝牙指令的收发,BLE要求每个数据包不超过20字节。因此

      发送之前需要进行自行分包,逐个写入通道。

    相关文章

      网友评论

          本文标题:蓝牙开发系列一:流程简介

          本文链接:https://www.haomeiwen.com/subject/zvwuvxtx.html