蓝牙电话是如何实现连接的?

技术动态 2020-03-21 8 0

        蓝牙电话望文生义便是运用蓝牙技能结束电话拨打相关功用,其时市面上一般运用到蓝牙音箱、蓝牙手环和蓝牙车载等设备上,由于车载蓝牙涉及到的知识点更全面,所以首要以车载为第一视角解说蓝牙电话相关的内容。今天我们就来说说 蓝牙电话是如何实现连接的


        蓝牙电话总体上涉及到蓝牙的HFP和PBAP这两种协议,本篇共享先介绍HFP,PBAP留下下一篇文章持续。


        Hands-Free Profile简称HFP,协议规定了免提设备控制电话相关操作,这儿的免提设备指的便是相关的蓝牙设备(如车载蓝牙、蓝牙音箱等)。具体描述请参阅协议文档《HFP_v1.7.1.pdf》。


        先来大致了解下蓝牙电话在安卓系统中的架构,然后逐层分析各部分的作用:

image

        从上面无缺的HFP联接时序图可以看出蓝牙电话运用的操作只需求调用HFP协议的联接API后监听系统中对应的广播就行,大部分作业都在bluedroid内结束,各层分工清晰高效。 


        联接进程中唯一需求注意的是蓝牙服务层只有在Service Level Connection联接结束后(对应于相关AT指令依次交互结束)才会对外广播联接情况改变到Connected的广播。


        这样在操作联接HFP协议失败时,我们就可以从以下六个方面分析原因:

  1.  运用层是否正确调用联接的相关API

  2.  运用层是否正确设置监听广播

  3.  其时蓝牙的ACL链路是否树立成功

  4.  SDP服务搜索HFP协议是否正常结束

  5.  RFCOMM是否联接成功

  6. AT指令是否依次交互结束


        AT指令依次交互的次第为:BRSF -> BAC(AG、HF都支撑codec协商) -> CIND=? -> CIND? -> CMER-> CHLD=?(AG、HF都支撑三方通话) ->……

image

        下图为HFP联接在HCI层的无缺流程(PS:RFCOMM联接前应该会有l2cap链路的联接,由于这份log中前面现已联接成功,所以截图中没有RFCOMM的l2cap链路联接)


<span font-size:16px;"="" style="color: rgb(0, 0, 0);">

        HFP联接的流程大体便是上面这些关键,后面三部分的内容我们在接下来的文章中再做分析。


        感兴趣的小伙伴欢迎私信我一同评论哦 !更多蓝牙相关知识,请点击蓝牙的来历


关注公众号了解更多......

扫一扫关注公众号

智能家居 智能照明 单片机外围电路如何设计

评论

cache
Processed in 0.002355 Second.
cache
Processed in 0.002355 Second.