FSC-BT936D 指令手册
介绍
描述
本设计指南适用于工程师开发 FSC-BT936D 和FSC-BT936E系列蓝牙模组
模组默认参数
Name |
FSC-BT936D-XXXX |
LE-Name |
FSC-BT936D-LE-XXXX |
Pin Code |
0000 |
Secure Simple Pairing Mode |
On |
UART Baudrate |
115200/8/N/1 |
硬件说明
引脚图
引脚描述
Pin |
Pin Name |
Type |
Pin Descriptions |
|---|---|---|---|
4 |
MIC_N |
Audio |
MIC input, negative |
5 |
MIC_P |
Audio |
MIC input, positive |
6 |
MIC_BIAS |
Audio |
MIC Power Supplies |
7 |
SPK_LP |
Audio |
Headphone/speaker differential L output, positive |
8 |
SPK_LN |
Audio |
Headphone/speaker differential L output, negative |
12 |
SPK_RN |
Audio |
Headphone/speaker differential R output, negative |
13 |
SPK_RP |
Audio |
Headphone/speaker differential R output, positive |
19 |
VDD |
VDD |
3.3V供电,建议使用LDO供电 |
20 |
GND |
GND |
GND |
21 |
LED2 |
I/O |
未连接手机时,输出1KHZ方波.连接输出高电平 |
22 |
LED1 |
I/O |
未连接耳机时,输出低电平. 连接输出高电平 |
23 |
RESET |
I |
低电平复位 |
31 |
UART_TX |
O |
串口TX |
32 |
UART_RX |
I |
串口RX |
35 |
ANT |
ANT |
外接天线 |
硬件设计说明
模组简易测试只需要连接VDD/GND/UART_RX/UART_TX即可使用
画完原理图后请发给飞易通进行审核,避免蓝牙距离达不到最佳效果
功能说明
Profiles & Features
SPP (Serial Port Profile)
GATTS (Generic Attribute Profile LE-Peripheral role)
GATTC (Generic Attribute Profile LE-Central role)
HFP-HF (Hands-Free Profile)
HFP-AG (Hands-Free-AG Profile)
A2DP-Sink (Advanced Audio Distribution Profile)
A2DP-Source (Advanced Audio Distribution Profile)
AVRCP-Controller (Audio/Video remote controller Profile)
AVRCP-Target (Audio/Video remote controller Profile)
HID-DEVICE (Human Interface Profile)
PBAP (Phonebook Access Profile)
GATT透传服务
Service: 0000B360-D6D8-C7EC-BDF0-EAB1BFC6BCBC
Write、Notify: 0000B362-D6D8-C7EC-BDF0-EAB1BFC6BCBC
指令说明
规范说明
适用于整个文档
{} : 包括与{…}中的内容为可选项
<< : 主机发给模组的 COMMAND
>> : 模组回复主机的 RESPONSE/EVENT
指令格式
所有的指令使用 AT 开头,使用 <CR><LF> 结尾
<CR> 代表回车符,对应 HEX 为 0x0D
<LF> 代表换行符,对应 HEX 为 0x0A
若指令包含参数,参数应使用 = 分隔
若指令包含多项参数,参数应使用 , 分隔
若指令有响应返回,响应使用 <CR><LF> 开始,使用 <CR><LF> 结束
模组应当总是返回指令执行的结果 (成功返回 OK,失败时返回 ERR<code>)
Error Code |
Meaning |
|---|---|
001 |
Failed |
002 |
Invalid parameter |
003 |
Invalid state |
004 |
Command mismatch |
005 |
Busy |
006 |
Command not supported |
007 |
Profile not turned on |
008 |
No memory |
Others |
Reserved for future use |
Event格式
所有的事件使用<CR><LF>开始, 使用<CR><LF>结束
若事件包含参数, 参数应位于 “=” 后面
若事件包含多项参数, 参数应使用 “,” 分割
使用命令AT+SEP替换默认分隔符以防止冲突
部分事件使用 “-”、”~” 替换 “+”
指令表
通用指令
AT+SEP - 读/写Event分隔符
Command |
AT+SEP{=Param} |
|
设置范围0x01~0xFF,默认: ‘,’ , 其中‘0’表示0xFF |
Response |
返回当前分隔符 |
Description |
events/responses的参数可能包含与默认分隔符相同的值,
使用此命令替换默认分隔符以防止冲突。
(通常将默认分隔符“,”替换为十六进制值“xFF”)
|
AT+VER - 读取固件版本
Command |
AT+VER |
Response |
+VER=Param1,Param2,Param3 |
|
模块类型 |
|
固件版本 |
|
生产日期 |
Note |
升级固件后,生产日期不会变化 |
AT+BAUD - 读/写串口波特率
Command |
AT+BAUD{=Param} |
|
4800/9600/19200/38400/57600/115200(default)/128000/
230400/256000/460800/512000/921600/1382400
|
Response |
+BAUD=Param |
|
返回当前的波特率 |
Description |
模块将在接收到这条指令后,马上切换波特率 |
AT+MICGAIN - 设置麦克风音量
Command |
AT+MICGAIN{=Param} |
|
Gain (0~15, default:8),支持’+’、’-‘调整 |
Description |
调整输入音量 |
AT+SPKVOL - 设置扬声器音量
Command |
AT+SPKVOL{=Param} |
|
VOL (0~15, default:12),支持’+’、’-‘调整 |
Description |
调整输出音量 |
Note |
通话时调整通话的音量,否则调整音乐的音量 |
AT+REBOOT - 软件复位
Command |
AT+REBOOT |
Response |
OK |
Description |
模块将复位 |
AT+RESTORE - 恢复出厂设置
Command |
AT+RESTORE |
Response |
OK |
Description |
模块将恢复为出厂设置 |
AT+PROFILE - 蓝牙Profile配置
Command |
AT+PROFILE{=Param} |
|
以10进制位字段表示,每位表示 |
|
SPP (Serial Port Profile) |
|
GATT Server (Generic Attribute Profile) |
|
GATT Client (Generic Attribute Profile) |
|
HFP-HF (Hands-Free Profile Handsfree) |
|
HFP-AG (Hands-Free Profile Audio Gateway) |
|
A2DP Sink (Advanced Audio Distribution Profile) |
|
A2DP Source (Advanced Audio Distribution Profile) |
|
AVRCP Controller (Audio/Video remote controller Profile) |
|
AVRCP Target (Audio/Video remote controller Profile) |
|
HID Keyboard (Human Interface Profile) |
|
PBAP Server (Phonebook Access Profile) |
|
iAP2 (For iOS devices) |
Response |
+PROFILE=Param |
Note |
此指令无需设置, |
AT+DEVSTAT - 读设备状态
Command |
AT+DEVSTAT |
Response |
+DEVSTAT=Param |
|
以10进制位字段表示, |
|
0: Power Off; 1: Power On |
|
0: BR/EDR Not Discoverable; 1: BR/EDR Discoverable |
|
0: BLE Not Advertising; 1: BLE Advertising |
|
0: BR/EDR Not Scanning; 1: BR/EDR Scanning |
|
0: BLE Not Scanning; 1: BLE Scanning |
Example:常用组合和描述
0 |
Device power off |
1 |
Device power on |
3 |
Device power on, BR/EDR Discoverable |
5 |
Device power on, BR/EDR Not Discoverable, BLE Advertising |
7 |
Device power on, BR/EDR Discoverable, BLE Advertising |
13 |
Device power on, BR/EDR Not Discoverable, BLE Advertising, Scanning nearby BR/EDR devices |
AT+ADDR - 读BR/EDR蓝牙MAC地址
Command |
AT+ADDR |
Response |
+ADDR=Param |
|
模块的BR/EDR蓝牙MAC地址(12 Bytes ASCII) |
AT+LEADDR - 读BLE蓝牙MAC地址
Command |
AT+LEADDR |
Response |
+LEADDR=Param |
|
模块的BLE蓝牙MAC地址(12 Bytes ASCII) |
AT+NAME - 读/写BR/EDR蓝牙名称
Command |
AT+NAME{=Param1{,Param2}} |
|
BR/EDR蓝牙名称(1~31 Bytes ASCII) |
|
使能MAC地址后缀(0-2,default:1)
0: 关闭后缀
1: 开启后缀“-XXXX”(MAC地址后4Byte)
2: 开启后缀“-XXXXXX”(MAC地址后6Byte)
|
Response |
+NAME=Param |
|
蓝牙名称 |
Description |
如果存在参数则设置蓝牙名称,否则只是读取 |
AT+LENAME - 读/写BLE蓝牙名称
Command |
AT+LENAME{=Param1{,Param2}} |
|
BLE蓝牙名称(1~25 Bytes ASCII) |
|
使能MAC地址后缀(0-2,default:1)
0: 关闭后缀
1: 开启后缀“-XXXX”(MAC地址后4Byte)
2: 开启后缀“-XXXXXX”(MAC地址后6Byte)
|
Response |
+LENAME=Param |
AT+SSP - 读/写BR/EDR配对模式
Command |
AT+SSP{=Param} |
|
Pairing mode (0~3, default:2)
(0) Legacy pairing, use pin code for pairing
(1) Secure simple pairing, auto pairing
(2) Secure simple pairing, display yes/no in pairing
(3) Secure simple pairing, passkey compare,
user need to accept/reject pair request with command AT+CFM
|
Response |
+SSP=Param |
Note |
重启生效 |
AT+PIN - 读/写配对密码
Command |
AT+PIN{=Param} |
|
配对密码(4~15 Bytes ASCII, default:0000) |
Response |
+PIN=Param |
Description |
当+SSP=0时,配对密码有效 |
AT+CFM - 接受/拒绝远端的配对请求
Command |
AT+CFM=Param1, Param2 |
|
远端设备的MAC地址(12Bytes) |
|
0-拒绝远端的配对请求
1-接受远端的配对请求
|
Description |
当+SSP=3时,CFM命令有效 |
AT+PAIR: 读/写BR/EDR/BLE可发现模式
Command |
AT+PAIR=Param |
|
Mode(0-3)
0: Leave BR/EDR/BLE discoverable mode (stop advertising/broadcasting)
1: Enter BR/EDR discoverable mode (start broadcasting)
2: Enter BLE discoverable mode (start advertising)
3: Enter BR/EDR/BLE discoverable mode (start advertising/broadcasting)
|
Description |
如果未连接设备(BR/EDR或BLE),模块将始终可被发现;
如果与远程设备连接,模块将不可被发现,除非收到此命令
|
AT+PAGE: 读/写BR/EDR可连接模式
Command |
AT+PAGE=Param |
|
Mode(0-1)
0: Leave BR/EDR connectable mode (stop paging)
1: Enter BR/EDR connectable mode (start paging)
|
Description |
如果未连接设备,模块将始终处于可连接模式,
如果与远程设备连接,模块将不可连接,除非收到此命令
|
AT+SCAN - 搜索附近的设备
Command |
AT+SCAN=Param1{,Param2{,Param3{,Param4}}} |
|
扫描方式(0~2)
0: 停止扫描
1: 扫描附近BR/EDR设备
2: 扫描附近BLE设备(部分程序不支持)
|
|
(1~48)扫描时间. unit:1.28s, default:12.8s |
|
(1~25 Bytes ASCII)过滤名称. |
|
EDR:(1~25 Bytes ASCII)过滤COD. BLE:1-扫描胎压设备 |
Description |
格式说明参考: +SCAN - 扫描结果 +HFPSTAT - HFP状态 |
AT+RSSI: 读BR/EDR信号强度
Command |
AT+RSSI=Param |
|
当前连接设备的MAC地址 |
Response |
+PIN=Param |
|
RSSI value (-127 ~ 0) |
AT+PLIST - 读取/清除配对记录
Command |
AT+PLIST{=Param} |
|
(0/1~8/12 Bytes MAC address)
(0) 清除所有配对记录
(1~8) 清除指定索引的配对记录
(MAC) 清除指定地址的配对记录
|
Response1 |
+PLIST=Param1, Param2, Param3{,Param4} |
|
(1~8) 配对设备序号 |
|
以10进制位字段,设备连接的profile,参考AT+PROFILE |
|
(MAC)配对设备的MAC地址 |
|
(UTF8)配对设备的蓝牙名称 |
Response2 |
+PLIST=E 配对记录查询完成 |
AT+DSCA - 断开所有连接
Command |
AT+DSCA{=Param} |
|
(0/1/12 Bytes MAC address)
(0) 断开手机连接的蓝牙
(1) 断开耳机连接的蓝牙
(MAC) 指定地址断开连接
参数缺省则断开所有已连接的蓝牙
|
Description |
模块断开与远程设备的所有蓝牙连接 |
AT+AUDROUTE - 音频路由管理
Command |
AT+AUDROUTE{=Param} |
|
Note: HF1 & HF2 means peer Bluetooth headphones
0 Stop audio routing
1 Route music (a2dp streaming) from Module to HP1/HP2 simultaneously
2 Route voice call (hfp sco) between Module and HP1
3 Route voice call (hfp sco) between Module and HP2
4 Route voice call (hfp sco) between HP1 and HP2 (intercom mode)
5 Route voice call (hfp sco) from Module to HP1/HP2 simultaneously
6 Route music (a2dp streaming) from Module to HP1 only
7 Route music (a2dp streaming) from Module to HP2 only
|
Description |
某些路由模式需要指定固件版本,BT930不支持该指令,有关更多说明,
BT936D仅支持AUDROUTE=2,3切换通话
AT+AUDROUTE=4 支持蓝牙耳机前后对讲(备注:需AT+HFPCFG=0才能生效)
请参阅应用场景: 发射模式连接
|
AT+FOCUS - 选择连接的音频设备
Command |
AT+FOCUS{=Param1{,Param2}} |
|
(12 Bytes ASCII)目标设备MAC地址/耳机1 |
|
(12 Bytes ASCII)目标设备MAC地址/耳机2 |
Description |
BT936B/BT906/BT936D支持链接两个耳机,BT930只支持链接一个耳机 |
HFP指令
AT+HFPSTAT - 读HFP状态
Command |
AT+HFPSTAT |
Response |
+HFPSTAT=Param1,Param2,Param3 |
Description |
格式说明参考: +HFPSTAT - HFP状态 |
AT+HFPCONN - 建立HFP连接
Command |
AT+HFPCONN{=Param} |
|
目标设备MAC地址(12 Bytes ASCII) |
Description |
如果参数不存在,模块将重新连接到最后一个HFP配对过的设备 |
AT+HFPDISC - 断开HFP连接
Command |
AT+HFPDISC |
Description |
断开当前与远程设备的HFP连接 |
AT+HFPDIAL - 重拨/拨打电话号码
Command |
AT+HFPDIAL{=Param} |
|
电话号码 (1~25 Bytes ASCII) |
Description |
如果存在参数,请拨打指定号码,否则重拨 |
AT+HFPDTMF - 发送DTMF
Command |
AT+HFPDTMF{=Param} |
|
DTMF (0~9/#/*) |
AT+HFPANSW - 来电接听
Command |
AT+HFPANSW |
Description |
来电接听 |
AT+HFPCHUP - 来电去电拒接/挂断
Command |
AT+HFPCHUP |
Description |
拒绝来电或挂断去电/通话 |
AT+HFPADTS - 语音切换
Command |
AT+HFPADTS=Param |
|
0: 将语音音频从模块传输到远程设备
1: 将语音音频从远程设备传输到模块
|
Description |
如果参数缺省,则交替切换 |
AT+HFPVR - 开始/停止远程设备的语音识别
Command |
AT+HFPVR=Param |
|
0-停止 1-开始 |
Description |
开始/停止远程设备的语音识别(例如iOS设备的Siri) |
AT+HFPINFO - 读HFP当前的信息
Command |
AT+HFPINFO |
Description |
返回当前HFP的状态,信号强度,电池,设备名等信息 |
AT+MICMUTE - 静音麦克风
Command |
AT+MICMUTE=Param |
|
0-不静音 1-静音 |
Description |
通话时静音本地麦克风 |
A2DP/AVRCP指令
AT+A2DPSTAT - 读A2DP状态
Command |
AT+A2DPSTAT |
Response |
+A2DPSTAT=Param1,Param2,Param3 |
Description |
格式说明参考: +A2DPSTAT - A2DP状态 |
AT+A2DPCONN - 建立A2DP连接
Command |
AT+A2DPCONN{=Param} |
|
目标设备MAC地址(12 Bytes ASCII) |
Description |
如果参数不存在,模块将重新连接到最后一个A2DP配对过的设备 |
AT+A2DPDISC - 断开A2DP连接
Command |
AT+A2DPDISC |
Description |
断开当前与远程设备的A2DP连接 |
AT+A2DPINFO - 读A2DP当前的信息
Command |
AT+A2DPINFO |
Description |
返回当前A2DP的状态,远端设备名等信息 |
AT+AVRCPSTAT - 读AVRCP状态
Command |
AT+AVRCPSTAT |
Response |
+AVRCPSTAT=Param1,Param2,Param3 |
Description |
格式说明参考: +AVRCPSTAT - AVRCP状态 |
AT+AVRCPCFG - 读/写AVRCP配置
Command |
AT+AVRCPCFG{=Param} |
|
以10进制位字段表示,default:3,每位表示: |
|
自动获取音乐ID3信息(标题,艺术家,专辑).默认:1 |
|
如果大于0,则自动获取音乐状态(播放进度)。 默认:1(second) |
|
播放器浏览功能启用/禁用,默认不支持 |
|
指定文件夹自动拉取媒体封面图片,默认不支持 |
AT+PLAYPAUSE - 播放/暂停
Command |
AT+PLAYPAUSE |
Description |
根据当前播放状态将播放或暂停命令发送到远端媒体播放器 |
AT+PLAY - 播放
Command |
AT+PLAY |
Description |
发送播放命令到远端媒体播放器 |
AT+PAUSE - 暂停
Command |
AT+PAUSE |
Description |
发送暂停命令到远端媒体播放器 |
AT+STOP - 停止
Command |
AT+STOP |
Description |
发送停止命令到远端媒体播放器 |
AT+FORWARD - 下一曲
Command |
AT+FORWARD |
Description |
发送下一曲命令到远端媒体播放器 |
AT+BACKWARD - 上一曲
Command |
AT+BACKWARD |
Description |
发送上一曲命令到远端媒体播放器 |
PBAP指令
AT+PBSTAT - 读PBAP状态
Command |
AT+PBSTAT |
Response |
+PBATAT=Param |
Description |
格式说明参考: +PBSTAT - PBAP状态 |
AT+PBCONN - 建立PBAP连接
Command |
AT+PBCONN{=Param} |
|
目标设备MAC地址(12 Bytes ASCII) |
Description |
如果参数不存在,模块将使用当前HFP的地址连接.
一些固件支持,发送AT+PBDOWN时自动连接PBAP
|
AT+PBDISC - 断开PBAP连接
Command |
AT+PBDISC |
Description |
断开当前与远程设备的PBAP连接 |
AT+PBDOWN - 下载电话本
Command |
AT+PBDOWN=Param1{,Param2} |
|
电话本类型(0-5)
(0) Phonebook (SIM Storage)
(1) Phonebook (Phone Storage)
(2) Received call log
(3) Dialed call log
(4) Missed call log
(5) All call log
|
|
下载数量 (1~65535, default:3000 for phonebook; 50 for call log) |
Description |
对于某些手机(例如iPhone),必须在手机的蓝牙设置中打开联系人下载权限
请参阅应用场景: Phonebook下载
|
AT+PBABORT - 取消电话本下载
Command |
AT+PBABORT |
Description |
取消电话本下载 |
SPP指令
AT+SPPSTAT - 读SPP状态
Command |
AT+SPPSTAT |
Response |
+SPPATAT=Param |
Description |
格式说明参考: +SPPSTAT - SPP状态 |
AT+SPPCONN - 建立SPP连接
Command |
AT+SPPCONN{=Param} |
|
目标设备MAC地址(12 Bytes ASCII) |
AT+SPPDISC - 断开SPP连接
Command |
AT+SPPDISC |
Description |
断开当前与远程设备的SPP连接 |
AT+SPPSEND - 通过SPP发数据
Command |
AT+SPPSEND=Param1,Param2 |
|
Payload length (1~492) |
|
Payload (1~492 Bytes UTF8) |
Description |
如果透传模式开启,该指令将会被禁用 |
GATT指令
AT+GATTSTAT - 读GATT状态
Command |
AT+GATTSTAT |
Response |
+GATTATAT=Param |
Description |
格式说明参考: +GATTSTAT - GATT状态 |
AT+GATTDISC - 断开GATT连接
Command |
AT+GATTDISC |
Description |
断开当前与远程设备的GATT连接 |
AT+GATTSEND - 通过GATT发数据
Command |
AT+GATTSEND=Param1,Param2 |
|
Payload length (1~492) |
|
Payload (1~492 Bytes UTF8) |
Description |
如果透传模式开启,该指令将会被禁用 |
Events表
通用指示
+PWRSTAT - 上电状态
Format |
+PWRSTAT=Param |
|
0-Powering off 1-Powering on(booting) |
Description |
在上下电状态下,不建议使用AT命令 |
+SCAN - 扫描结果
Format1 |
+SCAN =Param1,Param2,Param3, Param4,Param5,Param6 |
|
索引 |
|
RSSI (-127 ~ -1) |
|
设备地址类型 (0~3)
(0) BR/EDR address
(1) LE public address
(2) LE random address
(3) iOS device with Carplay support
|
|
MAC地址 (12 Bytes ASCII) |
|
BR/EDR设备名称或者LE设备广播数据 |
|
设备类型(6 Bytes ASCII) |
Format2 |
+SCAN=E: 停止扫描 |
+ADV - 胎压扫描结果
Format1 |
+ADV=Param |
|
前12字节为胎压地址,后面数据则为胎压数据 |
+PAIRREQ - 配对请求
Format |
+PAIRREQ=Param1,Param2{,Param3} |
|
Passkey (000000~999999) |
|
当前配对设备的MAC地址(12 Bytes ASCII) |
|
当前配对设备的名称 |
+PAIRED - 配对结果
Format |
+PAIRED=Param1,Param2 |
|
配对结果 (0)-成功 (1~255)-失败原因 |
|
当前配对设备的MAC地址(12 Bytes ASCII) |
+SPKVOL - 音量输出大小
Format |
+SPKVOL=Param1,Param2 |
|
A2DP的音量大小 |
|
HFP的音量大小 |
HFP指示
+HFPSTAT - HFP状态
Format |
+HFPSTAT=Param1,Param,Param3 |
|
(0~10)和手机端蓝牙连接的HFP状态
(0) Unsupported
(1) Standby
(2) Connecting
(3) Connected
(4) Outgoing call
(5) Incoming call
(6) Active call
|
|
状态同上,第一路蓝牙耳机HFP的状态 |
|
状态同上,第二路蓝牙耳机HFP的状态 |
+HFPCID - 来电/去电电话号码
Format |
+HFPCID=Param |
|
(1~25 Bytes ASCII), 电话号码 |
+HFPCIE - 来电/去电电话名称
Format |
+HFPCID=Param |
|
(UTF8), 电话名称 |
+HFPDEV - HFP远端设备信息
Format |
+HFPDEV=Param1{,Param2} |
|
(12 Bytes ASCII), 当前HFP连接远端设备的MAC地址 |
|
(UTF8), 当前HFP连接远端设备的名称 |
Note |
当指示-HFPDEV表示第一路耳机的信息,当指示~HFPDEV表示第二路耳机的信息 |
+HFPAUDIO - HFP语音音频状态
Format |
+HFPAUDIO=Param1,Param2,Param3 |
|
和手机端连接蓝牙的HFP语音状态
(0) HFP语音音频断开连接,音频输入/输出切换到远端设备
(1) HFP语音建立连接,音频输入/输出切换到模块
|
|
状态同上,表示第一路耳机HFP语音状态 |
|
状态同上,表示第二路耳机HFP语音状态 |
+HFPSIG - HFP远端设备网络信号强度
Format |
+HFPSIG=Param |
|
(0~5) 远端设备的网络信号强度 |
+HFPROAM - HFP远端设备漫游状态
Format |
+HFPROAM=Param |
|
(0/1) 远端设备的漫游状态 |
+HFPBATT - HFP远端设备电池电量
Format |
+HFPBATT=Param1,Param2,Param3 |
|
(-1~5) 远程设备的电池电量,手机端的电池电量 |
|
(-1~9) 远程设备的电池电量,第一路耳机的电池电量 |
|
(-1~9) 远程设备的电池电量,第二路耳机的电池电量 |
Note |
-1表示未获取到电池电量;
由于这个状态”非蓝牙规范定义的状态”,因此有一些耳机(比如:Airpods)不支持
|
+HFPNET - HFP远端设备网络运营商
Format |
+HFPNET=Param |
|
(UTF8)远程设备的网络运营商选择 |
+HFPMANU - HFP远端设备制造商
Format |
+HFPMANU=Param |
|
(UTF8)远程设备制造商 |
+HFPNUM - HFP远端设备本机号码
Format |
+HFPNUM=Param |
|
(ASCII)远端设备的本机号码 |
+HFPIBR - HFP远端设备支持来电铃声
Format |
+HFPIBR=Param |
|
0-不支持 1-支持 |
Description |
指示当前连接的手机是否支持来电铃声 |
+HFPRING - HFP远端设备来电铃声指示
Format |
+HFPRING=Param |
|
0-不支持in-bang-ring 1-支持in-band-ring |
Description |
来电时手机正在响铃,如果远程手机不支持in-band-ring,模块播放本地铃声 |
+HFPVR - HFP远端设备语音唤醒
Format |
+HFPVR=Param |
|
0-停止唤醒语音 1-唤醒语音 |
Description |
此事件用来指示唤醒远端语音设备,如siri |
+HFPCFG - 读/写HFP配置
Format |
+HFPCFG=Param |
|
以10进制位字段表示,default:3 |
|
0-HFP异常断开时,不回链最后断开的设备,1-HFP异常断开时,不回链最后断开的设备 |
|
0-关闭16k,1-打开16k耳机通话 |
|
0-关闭三方通话功能,1-打开三方通话功能(需要固件支持三方功能) |
Description |
关闭16K耳机通话,才能支持前后对讲功能 |
A2DP/AVRCP指示
+A2DPSTAT - A2DP状态
Format |
+A2DPSTAT=Param1,Param2,Param3 |
|
和手机蓝牙连接的A2DP状态
(0) Unsupported
(1) Standby
(2) Connecting
(3) Connected
(4) Paused
(5) Streaming
|
|
状态同上,第一路蓝牙耳机A2DP的状态 |
|
状态同上,第二路蓝牙耳机A2DP的状态 |
+A2DPDEV - A2DP远端设备信息
Format |
+A2DPDEV=Param1{,Param2} |
|
(12 Bytes ASCII), 当前A2DP连接远端设备的MAC地址 |
|
(UTF8), 当前A2DP连接远端设备的名称 |
Note |
当指示-A2DPDEV表示第一路耳机的信息,当指示~A2DPDEV表示第二路耳机的信息 |
+AVRCPSTAT - AVRCP状态
Format |
+AVRCPSTAT=Param1,Param2,Param3 |
|
和手机蓝牙连接的AVRCP状态
(0) Unsupported
(1) Standby
(2) Connecting
(3) Connected
|
|
状态同上,第一路蓝牙耳机AVRCP的状态 |
|
状态同上,第二路蓝牙耳机AVRCP的状态,目前仅支持一路和耳机的AVRCP连接 |
+PLAYSTAT - 媒体播放器播放状态
Format |
+PLAYSTAT=Param |
|
(0) Stopped
(1) Playing
(2) Paused
(3) Fast Forwarding
(4) Fast Rewinding
|
+TRACKSTAT - 媒体播放器播放进度
Format |
+TRACKSTAT=Param1,Param2,Param3 |
|
(0~4), 媒体播放器状态 |
|
(Decimal ASCII),当前音乐播放的时间(秒) |
|
(Decimal ASCII),当前音乐的总时间(秒) |
+TRACKINFO - 媒体音乐信息
Format |
+TRACKINFO=Param1,Param2,Param3 |
|
标题 |
|
艺术家 |
|
专辑 |
+CTPAUSE - 暂停
Description |
远端设备发送暂停命令 |
+CTPLAY - 播放
Description |
远端设备(蓝牙耳机)发送播放命令 |
+CTSTOP - 停止
Description |
远端设备(蓝牙耳机)发送停止命令 |
+CTBACK - 上一曲
Description |
远端设备(蓝牙耳机)发送上一曲命令 |
+CTFWD - 下一曲
Description |
远端设备(蓝牙耳机)发送下一曲命令 |
PBAP指示
+PBSTAT - PBAP状态
Format |
+PBSTAT=Param |
|
(0) Unsupported
(1) Standby
(2) Connecting
(3) Connected
(4) Downloading
|
+PBCNT - 远端设备的电话簿条目
Format |
+PBCNT=Param |
|
远端设备的电话簿条目 |
+PBDATA - 电话本数据
Format1 |
+PBDATA=Param1,Param2,Param3{,Param4} |
|
类型
(0) Phonebook (SIM Storage)
(1) Phonebook (Phone Storage)
(2) Received call log
(3) Dialed call log
(4) Missed call log
|
|
电话名称 |
|
电话号码 |
|
(15 Bytes ASCII), 当前下载通话记录,则有此参数
Format:
Year(4Bytes) Month(2Bytes) Day(2Bytes) T(1Byte) Hour(2Bytes)
Minute(2Bytes) Second(2Bytes). e.g. 20161012T152826 represents
2016/10/12/15/28/26
|
Format2 |
+PBDATA=E 下载完成 |
Description |
某些手机可能没有通话时间 |
SPP指示
Note
由于IAP2(Apple Accessory Protocol)和AAP(Android Auto Protocol)的指示和SPP几乎相同,分别是:
+IAPSTAT, +IAPDATA for iAP2 profile
+AAPSTAT, +AAPDATA for AAP profile
文档将忽略这些指示说明, 默认BT930、BT936B不支持该指令.
+SPPSTAT - SPP状态
Format |
+SPPSTAT=Param |
|
(0) Unsupported
(1) Standby
(2) Connecting
(3) Connected
|
+SPPDATA - SPP接收数据
Format |
+SPPDATA=Param1,Param2 |
|
Payload length |
|
Payload |
GATT指示
+GATTSTAT - GATT状态
Format |
+GATTSTAT=Param |
|
(0) Unsupported
(1) Standby
(2) Connecting
(3) Connected
|
+GATTDATA - GATT接收数据
Format |
+SPPDATA=Param1,Param2 |
|
Payload length |
|
Payload |
应用场景
Profile初始化及修改参数
下图展示了Profile初始化以及修改名称
MCU 修改设备名CARKIT参考代码,修改任何参数建议先查询再修改最后校验:
1void change_name(void)
2{
3 uart_send("AT+NAME\r\n");
4 if(uart_read("+NAME",name_buf))
5 {
6 if(memcmp(name_buf,"CARKIT",6))
7 {
8 uart_send("AT+NAME=CARKIT,0\r\n"); //defalut disable MAC address suffix
9 uart_send("AT+NAME\r\n"); // read bt name
10 if(uart_read("+NAME",name_buf))
11 {
12 if(memcmp(name_buf,"CARKIT",6))
13 {
14 //change name fail
15 }
16 else
17 {
18 //change name success
19 }
20 }
21 }
22 }
23}
接收模式连接
Note
接收模式BT930、BT936D模块可以支持
发射模式连接
Phonebook下载
Note
部分固件不支持下载时,自动连接PBAP, 需发送AT+PBCONN连接PBAP再下载
附录
Note
如需升级最新版本请参考 空中升级说明