首页 > 其他分享 >HFP(hands free profle)

HFP(hands free profle)

时间:2023-07-18 13:33:22浏览次数:30  
标签:AG HFP feature free 发送 profle 支持 indicators HF

HFP蓝牙免提协议:

1. 角色:

 AG(audio gateway):音频网关,相当于手机

 HF(hand free): 免提端,相当于耳机

  

2. 支持的feature:

 

 

3. SLC(service level connect establishment)服务级连接的建立

 SLC就是一些AT指令的交互,交互完后,SLC就建立成功了。

 前提:SLC建立前必须存在HFP基于RFCOMM的server channel的连接,有了这个连接才能在HF和AG间交互AT command。

 SLC连接过程:

   3.1 支持的feature交换(Supported features exchange):

       a. HF发送AT+BRSF=<HF supported features>告诉AG它支持的feature

     b. AG会发送+BRSF告诉HF它支持的feature

     这样HF和AG都知道了对方都支持的feature。

   3.2 codec协商(Codec Negotiation):

     a. 如果HF支持Codec Negotiation feature,并且通过+BRSF知道了AG也支持Codec Negotiation feature

     b. HF发送AT+BAC=<HF available codecs>指令告诉AG它自己可用的codec(包括msbc、cvsd)    3.3 AG指示器(AG Indicators):      Indicators包括:service, call, or call setup      在检索AG支持的feature后,HF将要确定AG支持的indicators,以及这些indicators 的顺序      a. HF发送AT+CIND=?指令来检索AG支持的indicators,以及这些indicators 的顺序      b. HF发送 AT+CIND?来检索当前的indicators的状态      c. HF发送AT+CMER指令来开启 "Indicators status update",相当于打开了总开关,AG会回应OK      d. 当AG中indicators的值有改变,AG将发送 +CIEV告诉HF他的indicators的值改变了      e. 如果HF和AG都支持“Call waiting and 3-way calling” feature,HF将发送AT+CHLD=?命令来检索AG是如何支持call hold and multiparty services    3.4 HF指示器(HF Indicators)

       a. 如果HF和AG都支持HF Indicator feature,HF将发送AT+BIND=<HFsupported HF indicators>指令通知AG它支持的Indicators,AG会回应OK

     b. HF发送AT+BIND=?来获取AG支持的HF indicators,AG会发送+BIND告诉HF它支持的HF indicators,并跟着OK

     c. 在HF接收到AG支持的HF indicators后,HF将发送AT+BIND?命令来确定开启哪些HF indicators。AG将用+BIND来响应,并跟着OK

     d. 之后,只要HF的indicators改变,他都将发送AT+BIEV指令到AG   

   3.5 结束SLC(End of Service Level Connection):

 

 

     

 

标签:AG,HFP,feature,free,发送,profle,支持,indicators,HF
From: https://www.cnblogs.com/zj-studyrecoding/p/17562684.html

相关文章

  • freee Programming Contest 2023(AtCoder Beginner Contest 310)
    Preface打的就是依托答辩,当时看一眼D感觉是个爆搜不想写就先跳了去想F,结果傻逼了没想出来最后30min了赶紧溜回去把D爆搜写了,但是已经罚时爆炸了,其实如果正常正序做的话排名会挺稳的后面一问包大爷发现F是个傻逼题,只能说计数水平实在是低下A-OrderSomethingElse签到题#i......
  • 在MacOS中使用free up Purgeable space释放磁盘空间,CleanMacX里面自带这个功能
    当你的Mac硬盘空间不足时,macOS会自动将一些文件标记为"可清除"(Purgeable),这些文件包括已下载但未安装的软件、iCloudDrive中的文件、以及其他一些可以重新下载或重新生成的文件。你可以通过释放这些"可清除"空间来腾出磁盘空间。要释放Purgeable空间,可以按照以下步骤操作:打......
  • JFreeChart教程_编程入门自学教程_菜鸟教程-免费教程分享
    教程简介JFreeChart是JAVA平台上的一个开放的图表绘制类库。它完全使用JAVA语言编写,是为applications,applets,servlets以及JSP等使用所设计。JFreeChart可生成饼图(piecharts)、柱状图(barcharts)、散点图(scatterplots)、时序图(timeseries)、甘特图(Ganttcharts)等等多种图表,并......
  • 人工智能大语言模型微调技术:SFT 监督微调、LoRA 微调方法、P-tuning v2 微调方法、Fre
    人工智能大语言模型微调技术:SFT监督微调、LoRA微调方法、P-tuningv2微调方法、Freeze监督微调方法1.SFT监督微调1.1SFT监督微调基本概念SFT(SupervisedFine-Tuning)监督微调是指在源数据集上预训练一个神经网络模型,即源模型。然后创建一个新的神经网络模型,即目标模型。......
  • freee Programming Contest 2023(AtCoder Beginner Contest 310)
    freeeProgrammingContest2023(AtCoderBeginnerContest310)-AtCoderA-OrderSomethingElse(atcoder.jp)题意是在买一道菜的情况下可以将原为\(P\)元的饮料优惠到\(Q\)元,否则就按原价买#include<bits/stdc++.h>#defineintlonglongusingnamespacestd;signed......
  • freee Programming Contest 2023(AtCoder Beginner Contest 310)题解
    点我看题A-OrderSomethingElse直接比较\(P\)和\(Q+min(D_i)\),输出较小值即可。点击查看代码#include<bits/stdc++.h>#definerep(i,n)for(inti=0;i<n;++i)#definerepn(i,n)for(inti=1;i<=n;++i)#defineLLlonglong#definefifirst#definesesecond#defi......
  • anchor base和anchor free的应用场景介绍
    在目标检测领域,能大规模应用在业务领域和工业领域的,很大一部分都是采用yolo来做,我们知道yolo这个系列,除了v1和v2和x以外,都是基于anchorbase的。这也从侧面说明,anchorbase其实更适用业务,我们知道业务上肯定是追求高召回和高准确率,所以anchorfree很显然不能很好满足这两个需求。......
  • freemarker取list前几条数据
    freemarker取list前几条数据 1、取前几条数据<@_categoryListid=4><#assignn=0/>//list外先定义assign<#listpage.listascolumn><#assignn=n+1/>//list里面再定义assign<#ifngt3><#br......
  • H7-TOOL发布固件V2.22, 增加FreeRTOS/uCOS2 Trace,加强RTT和CAN助手,脱机烧录增加比亚迪
    H7-TOOL发布固件V2.22,增加FreeRTOS/uCOS2Trace,加强RTT和CAN助手,脱机烧录增加比亚迪,上海芯圣51,TI,S32K3,钜泉光电等 H7-TOOL所有资源汇总(含操作手册):http://www.armbbs.cn/forum.php?mod=viewthread&tid=89934 PC机软件:升级PC软件到V2.2.2h7toolPC_release(V2.2.2)......
  • SpringBoot与Freemarker整合
    1.需要导入freemarker的pom文件;<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-freemarker</artifactId></dependency>2.需要在application.properties配置文件中配置一些freemarker的参数;serve.port......