HFP AT命令及其交互流程(包含AG与HF的场景流程)

HFP(Hands-Free Profile)是蓝牙协议中用于实现免提通话功能的规范,主要应用于车载系统、蓝牙耳机/音箱等设备。它基于RFCOMM协议,使用AT指令集进行控制,同时通过SCO/eSCO链路传输音频。HFP协议定义了两个核心角色:AG(Audio Gateway,音频网关,通常是手机)HF(Hands-Free Device,免提设备,如耳机或车载系统)


一、HFP AT命令基础

1.1 通信格式规范

方向 格式 说明
HF → AG AT<command><CR> 以AT开头,回车符(0x0D)结尾
AG → HF <CR><LF><result code><CR><LF> 回车换行包裹结果码
AG响应 OK / ERROR / +CME ERROR 命令执行结果

二、服务级连接(SLC)建立流程

SLC(Service Level Connection)是HFP控制信道建立的基础,必须在RFCOMM连接之上进行。
音频网关(AG) 免提设备(HF) 音频网关(AG) 免提设备(HF) RFCOMM连接已建立 1. 能力交换 (BRSF) 2. 编解码器协商 (可选,HFP 1.6+) alt 双方都支持Codec Negotiation 3. 状态指示器配置 4. 三方通话支持查询 (可选) alt 双方都支持三方通话 5. HF指示器配置 (可选,HFP 1.7+) alt 双方都支持HF Indicators 6. 音量同步 SLC建立完成,进入待机状态 AT+BRSF=<HF支持的特性> +BRSF:<AG支持的特性> OK AT+BAC=<HF可用编解码器> OK AT+CIND=? +CIND: (call,(0,1)),(callsetup,(0-3)),... OK AT+CIND? +CIND: 0,0,1,5,0,5,0 OK AT+CMER=3,0,0,1 OK AT+CHLD=? +CHLD: 0,1,1x,2,2x,3,4 OK AT+BIND=<HF支持的指示器> OK AT+BIND=? +BIND: 1,2 AT+BIND? +BIND: 1,1 / +BIND: 2,0 OK AT+VGS=<增益值> OK AT+VGM=<增益值> OK


三、来电处理完整流程

3.1 带内铃声(In-band Ringing)场景

音频网关(AG) 免提设备(HF) 音频网关(AG) 免提设备(HF) SLC已建立,音频连接已存在 AG通过音频通道播放铃声 opt 支持来电显示(CLIP) HF本地产生提示音 loop 铃声持续 通话建立,语音通过SCO传输 alt 用户通过HF接听 用户通过AG接听 用户通过HF拒接 RING (周期性发送) +CLIP: "<号码>",129 RING AT+ATA OK +CIEV: callsetup,0 +CIEV: call,1 +CIEV: callsetup,0 +CIEV: call,1 AT+CHUP OK +CIEV: callsetup,0

3.2 不带内铃声(No In-band Ringing)场景

音频网关(AG) 免提设备(HF) 音频网关(AG) 免提设备(HF) SLC已建立,无音频连接 HF本地产生铃声 opt 支持来电显示 建立音频连接(SCO) 通话建立 RING (周期性发送) +CLIP: "<号码>",129 AT+ATA (用户接听) OK +CIEV: callsetup,0 +CIEV: call,1


四、去电(呼出)流程

音频网关(AG) 免提设备(HF) 音频网关(AG) 免提设备(HF) alt 通过号码拨号 重拨最后一个号码 记忆拨号 建立音频连接(SCO) alt 对方接听 对方拒接/取消 ATD<号码> AT+BLDN ATD><记忆位置> OK +CIEV: callsetup,2 (拨号中) +CIEV: callsetup,3 (响铃中/远端提醒) +CIEV: callsetup,0 +CIEV: call,1 (通话中) +CIEV: callsetup,0 +CIEV: call,0


五、三方通话(多路呼叫)管理

音频网关(AG) 免提设备(HF) 音频网关(AG) 免提设备(HF) 当前已有活跃通话 当前通话保持,被保持通话激活 多方通话建立 alt 接听新来电,保持当前通话 挂断当前通话,接听新来电 拒接等待中的来电 切换两路通话 合并通话(会议) +CIEV: callsetup,1 (新来电等待) RING AT+CHLD=2 OK +CIEV: call,1 +CIEV: callheld,1 (有通话被保持) AT+CHLD=1 OK +CIEV: callsetup,0 +CIEV: call,1 AT+CHLD=0 OK +CIEV: callsetup,0 AT+CHLD=2 OK AT+CHLD=3 OK


六、关键AT命令速查表

命令 功能 方向 关键响应
AT+BRSF 能力交换 HF→AG +BRSF:<bitmap>
AT+BAC 编解码器能力通知 HF→AG OK
AT+CIND 指示器查询/配置 AG→HF +CIND:
AT+CMER 事件报告启用 HF→AG OK
AT+CHLD 呼叫保持控制 HF→AG +CHLD:(测试)
AT+ATA 接听来电 HF→AG OK
AT+CHUP 挂断电话 HF→AG OK
ATD<number>; 拨号 HF→AG OK
AT+BLDN 重拨 HF→AG OK
AT+VGS 扬声器音量 HF→AG OK
AT+VGM 麦克风增益 HF→AG OK
AT+BIND HF指示器配置 HF→AG +BIND:
AT+BIEV 指示器值更新 HF→AG OK
RING 来电提醒 AG→HF -
+CLIP 来电号码显示 AG→HF -
+CIEV 指示器值变化 AG→HF -

七、状态指示器(CIND)详解

指示器 取值范围 含义
service 0,1 网络服务状态 (0=无服务, 1=有服务)
call 0,1 通话状态 (0=无通话, 1=通话中)
callsetup 0-3 呼叫建立状态 (0=无, 1=来电, 2=去电拨号中, 3=远端响铃)
callheld 0-2 保持状态 (0=无保持, 1=通话保持, 2=活跃+保持)
signal 0-5 信号强度 (0-5级)
roam 0,1 漫游状态 (0=非漫游, 1=漫游)
battchg 0-5 电池电量 (0-5级)
相关推荐
物联网IoT小易2 小时前
物联网设备数据异常怎么处理?重复、乱序、断点续传与脏数据治理
物联网·mqtt·数据治理·时序数据库·物联网设备·物联网设备接入·物联网设备连接
航飞光电市场经理2 小时前
【工业物联网】UWB/北斗/蓝牙多源融合定位技术对比:主流厂商技术路线解析
物联网
桐盛科技6 小时前
能碳数据清洗用MAD算法,窗口大小和阈值怎么调?
物联网·算法·边缘计算
wuyk55510 小时前
【Socket 进阶之路】第 3 章 TCP 三次握手 & 四次挥手深度剖析|连接建立、断开、状态机、TIME_WAIT 核心工程问题
服务器·开发语言·网络·物联网·网络协议·tcp/ip
超智算科技19 小时前
2026服贸会现场直击|Net Zero Hub净零算力枢纽全球首发! 超智算受邀深度参与服贸会全球OPC共创节
网络·人工智能·科技·物联网·gpu算力
数字新视界1 天前
动环监控系统技术深度剖析与应用探索
物联网·动环监控·机房·机房动环监控系统·动力与环境监控系统
Privasa-隐私实验室1 天前
蓝牙-多设备调试效率翻倍:从手动折腾到全自动调试的完整落地流程
物联网·ios·智能家居·智能硬件·智能手表
悟天特斯1 天前
AI驱动的楼宇节能:从粗放管控到精准降碳的实践路径
开发语言·人工智能·python·物联网
沐欣工作室_lvyiyi1 天前
基于物联网技术的农业气象数据采集与分析平台(论文+源码)
物联网·毕业设计·软件工程·单片机设计·4g通信·电子信息工程·物联网毕业设计
MuMuMu12231 天前
再生资源回收终端物联网落地实践,越华环保集团碳惠小屋边缘数据方案解析
物联网