欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

2020-10-11

程序员文章站 2022-07-10 08:19:04
蓝牙HFP简介一、说明简单的来说,HFP协议一般用来方便用户通过蓝牙拨打或者接听电话使用 。分为2个不同的角色。Audio Gateway:作为音频的网管,既可以作为输入,也可以作为输出。一般常见的设备,比如智能手机。Hands Free:作为音频网关的远程设备输入输出机制的设备,同时还可以对音频网关做一些控制。常见的 设备比如车载蓝牙,蓝牙耳机。二、协议的架构下图是整体的协议层次以来关系。下图是具体的2个角色协议栈描述The Baseband, LMP and L2CAP are t...

Hands Free Profile(HFP)简介

一、说明
简单的来说,HFP协议一般用来方便用户通过蓝牙拨打或者接听电话使用 。
分为2个不同的角色。
Audio Gateway:作为音频的网管,既可以作为输入,也可以作为输出。一般常见的设备,比如智能手机。
Hands Free:作为音频网关的远程设备输入输出机制的设备,同时还可以对音频网关做一些控制。常见的 设备比如车载蓝牙,蓝牙耳机。
二、协议的架构
下图是整体的协议层次以来关系。
2020-10-11

下图是具体的2个角色协议栈描述
2020-10-11

The Baseband, LMP and L2CAP are the OSI layer 1 and 2 Bluetooth protocols. RFCOMM is the
Bluetooth serial port emulation entity. SDP is the Bluetooth Service Discovery Protocol.

三、连接过程
2020-10-11

  1. 建立RFCOMM连接
  2. HF发送"AT+BRSF=“通知AG自己支持的Feature,然后AG发送”+BRSF: "回复HF自己支持的Feature,再回复一个"OK"指令
  3. 如果HF和AG都支持Codec协商,HF发送"AT+BAC="通知AG自己支持的Codec,AG回复一个"OK"指令
  4. 如果HF和AG都支持三方通话,HF发送" AT+CIND=?“请求获取AG支持的3GPP标准Indicator,然后AG进行发送”+CIND"回复HF自己支持的Indicator,再回复一个"OK"指令
  5. HF发送" AT+CIND? “请求获取AG当前的Indicator的值,然后AG发送”+CIND"回复对应的信息,再回复一个"OK"指令
  6. HF发送"AT+CMER=“请求打开AG的Indicator状态上报,AG回复"OK”。当AG对应的状态发生变化的时候,主动上报" +CIEV"指令给HF,通知当前状态发生了变化
  7. HF发送"AT+CHLD=?"请求获取AG的三方通话支持能力,然后AG进行回复
  8. 如果HF和AG都支持HF Indicator,那么HF发送"AT+BIND="通知AG自己支持的Indicator的编号,AG需要回复"OK"作为回应
  9. 当步骤8完成后,HF发送"AT+BIND=?“获取AG的Indicator信息,AG需要发送一或者多个”+BIND"作为回应,最后以"OK"指令作为结束。当HF对应的状态发生变化的时候,HF会发送"AT+BIEV"通知AG
  10. 整个连接完成。由于中间有些指令是可选的,如果可选支持双方都不支持的情况,可以忽略该步骤,认为连接完成。

本文地址:https://blog.csdn.net/z986257321/article/details/109009330

相关标签: bluetooth