FSC-BT1058 音频发射&接收 AT 指令手册

[English]

概述

发布说明

序号

版本

日期

说明

1
V1.0.0
2024/05/23
1. 初始版本
2
V1.0.1
2024/07/09
1. 增加 Le Audio 相关指令和消息说明
2. 增加 GATTS 相关指令和消息说明
3. 修复已知错误
3
V1.0.2
2025/01/07
1. 修复已知错误
2. 增加部分指令和事件上报
4
V2.0.0
2026/01/08
1. 加入主从一体
2. 增加部分指令和事件上报

说明

本设计指南适用于工程师开发 FSC-BT1058 系列蓝牙模块

默认配置

BR/EDR 名称

FSC-BT1058

BLE 名称

FSC-BT1058-LE

串口配置

115200/8/N/1

硬件参考设计

引脚图

以 FSC-BT1058 为例:

_images/BT1058_pin_map.png

引脚说明

序号

名称

类型

说明

4

I2S_CLK

I/O

I2S BCLK

5

I2S_IN

I

I2S DATA IN

6

I2S_OUT

O

I2S DATA OUT

7

I2S_WS

I/O

I2S SYNC

8

RESET

I

低电平复位

13

UART_TX

O

串口TX

14

UART_RX

I

串口RX

15

SPDIF_OUT

I/O

SPDIF 音频输出脚

16

UART_RTS

I/O

串口流控脚(默认为PA脚)

17

LED0

I/O

配对模式时输出方波,蓝牙已连接输出高电平

18

LED1

I/O

BLE未连接输出低电平,已连接输出高电平

32

GND

GND

GND

33

VDD

VDD

3.3V供电,建议使用LDO供电

34

VREG_IN

I

开关机脚

36

VDD_IO

I

pio supply

43

MIC_LP

Audio

MIC0/Line_IN differential L input, positive

44

MIC_LN

Audio

MIC0/Line_IN differential L input, negative

45

MIC_BIAS

Audio

MIC Power Supplies

46

SPK_RN

Audio

Headphone/speaker differential R output, negative

47

SPK_RP

Audio

Headphone/speaker differential R output, positive

48

SPK_LN

Audio

Headphone/speaker differential L output, negative

49

SPK_LP

Audio

Headphone/speaker differential L output, positive

51

EXT_ANT

ANT

改变天线附近的0欧电阻,可以外接蓝牙天线

说明

  • 简单测试, 只需连接 VDD/VDD_IO/GND/UART_TX/UART_RX

  • 电路设计绘制完成后, 请发给feasy.com审核以确保模块最佳通讯距离

功能说明

配置规范

  • SPP (串口配置规范)

  • GATTS (通用属性配置文件, LE外设)

  • GATTC (通用属性配置文件, LE中心)

  • HFP-HF (免提规范, 设备)

  • HFP-AG (免提规范, 网关)

  • A2DP-SINK (高级音频分发规范, 从端)

  • A2DP-SOURCE (高级音频分发规范, 主端)

  • AVRCP-CONTROLLER (音视频远程控制规范, 控制器)

  • AVRCP-TARGET (音视频远程控制规范, 目标)

  • HID-DEVICE (人机接口规范)

  • PBAP (电话本规范)

  • LE-AUDIO (低功耗音频规范)

GATT 默认服务和特征

类型

UUID

特征

说明

服务

0xFFF0

透传服务

0xFFF2

写, 写不带响应

从 APP 发到模块

通知

0xFFF1

通知

从模块发到 APP

指令说明

概述

  • 所有指令和消息, 都符合下述形式

  • { } 中包含的内容是可选参数

  • << 后跟随主机发给模块的指令

  • >> 后跟随模块发给主机的响应/消息

指令格式

AT+CMD{=参数1{,参数2{,参数3...}}}<CR><LF>
  • 所有指令以"AT"开始, 回车换行结尾

  • <CR>表示回车符, 十六进制为0x0D

  • <LF>表示换行符, 十六进制为0x0A

  • 如果指令包含参数, 参数在"="之后

  • 如果指令包含多个参数, 每个参数之间以","分隔

  • 如果指令有响应, 响应以回车换行开始和结束

  • 模块对每条指令都会返回执行结果, 执行成功返回"OK", 失败返回"ERROR"

例如: 获取模块BR/EDR名称
<< AT+NAME
>> +NAME=FSC-BT1058
>> OK
例如: 在没有来电和去电的时候接通通话
<< AT+HFPANSW
>> ERROR

消息格式

<CR><LF>+消息{=参数1{,参数2{,参数3...}}}<CR><LF>
  • 所有上报的消息, 以回车换行开始和结束

  • 如果消息包含参数, 参数在"="之后

  • 如果消息包含多个参数, 每个参数之间以","分隔

例如: 从APP接收到SPP的数据, 内容为"1234567890"
>> +SPPDATA=10,1234567890

指令列表

通用指令

AT+HELP - 列出当前固件支持的所有指令

指令

AT+HELP

响应
<COMMAND SUMMARY:DESCRIPTION:PROFILE CATEGORY>
...
...

AT+VER - 获取固件版本信息

指令

AT+VER

响应

+VER=参数1,参数2,参数3

说明

+VER - 固件版本信息

AT+BAUD - 获取/设置串口波特率

指令

AT+BAUD{=参数}

参数
9600/ 19200/ 38400/ 57600/ 115200/ 230400/ 460800
500000/ 921600/ 1000000/ 1382400/ 1500000/ 2000000

响应

+BAUD=参数

参数

模块当前波特率

说明

修改波特率立即生效, 不需要重启模块

AT+MODCFG - 设置设备主从模式

指令

AT+MODCFG{=Param}

参数

0-从端模式应用 音频接收 1-主端应用 音频发射

说明

+DEVMOD - 设备模式信息

AT+I2SCFG - 获取/设置 I2S 配置

指令

AT+I2SCFG{=参数}

参数

十进制数, 以十六进制解析

位[0]
0: 失能
1: 使能
位[1]
0: 主机模式
1: 从机模式
位[2]
0: 48000Hz采样率
1: 44100Hz采样率
位[3]
0: 数据左对齐
1: 数据右对齐
位[4]
0: 数据延时1位
1: 数据不延时
位[6-5]
00: 16位采样深度
01: 24位采样深度

响应

+I2SCFG=参数

参数

当前I2S配置, 格式如上

说明

重启后生效

AT+SPDIFCFG - SPDIF格式配置 (从端有效)

指令

AT+SPDIFCFG{=Param}

参数

0-不使能音频输出SPIDF格式 1-使能音频输出为SPDIF格式

说明

若音频输出为spdif,I2S配置失效。

AT+SPKVOL - 设置扬声器音量 (从端有效)

指令

AT+SPKVOL{=Param}

参数

Volume ('+' / '-'/ 0-15, default:15)

说明

调整输出音量,音乐时调整A2DP音量,通话时调整HFP音量,同时支持LEA模式下音量调节

AT+MICGAIN - 获取/设置输入增益(设置为主模式下生效)

指令

AT+MICGAIN{=参数}

参数
0 ~ 10: 设置目标增益
+: 增益加大
-: 增益减小

响应

+MICGAIN=参数

参数

当前输入增益

说明
USB输入模式, 参数只能是+/-
I2S/SPDIF输入, 此指令无效

AT+REBOOT - 软件复位

指令

AT+REBOOT

说明

模块将断开所有连接, 然后重启

AT+RESTORE - 恢复默认配置

指令

AT+RESTORE

说明

模块将恢复默认配置, 然后重启

AT+BTEN - 获取和设置蓝牙状态

指令

AT+BTEN{=参数}

参数
0: 失能
1: 使能

响应

+BTEN=参数

参数

当前蓝牙状态

AT+LECFG - 获取/设置 LE 随机 MAC 地址

指令

AT+LECFG{=参数}

参数
0: 失能
1: 使能

响应

+LECFG=参数

参数

当前状态

AT+PROFILE - 获取/设置使用的蓝牙配置规范

指令

AT+PROFILE{=参数}

参数

十进制数, 以十六进制解析

位[0]

SPP (串口配置规范)

位[1]

GATTS (通用属性配置文件, LE外设)

位[2]

GATTC (通用属性配置文件, LE中心)

位[3]

HFP-HF (免提规范, 设备)

位[4]

HFP-AG (免提规范, 网关)

位[5]

A2DP-SINK (高级音频分发规范, 从端)

位[6]

A2DP-SOURCE (高级音频分发规范, 主端)

位[7]

AVRCP-CONTROLLER (音视频远程控制规范, 控制器)

位[8]

AVRCP-TARGET (音视频远程控制规范, 目标)

位[9]

HID-DEVICE (人机接口规范)

位[10]

PBAP (电话本规范)

位[11]

MAP (消息访问配置文件)

位[12]

LE AUDIO BIS-SINK (低功耗音频 广播音频)

位[13]

LE AUDIO BIS-SOURCE (低功耗音频 广播音频)

位[14]

LE AUDIO CIS-SINK (低功耗音频 单播音频)

位[15]

LE AUDIO CIS-SOURCE (低功耗音频 单播音频)

响应

+PROFILE=参数

参数

当前使用的规范

说明
修改配置, 模块自动重启
从端使用配置 SPP,GATTS, HFP-HF, A2DP-SINK, AVRCP-CONTROLLER,LE AUDIO,BIS-SINK,LE AUDIO CIS-SINK
主端使用配置 SPP,GATTS,GATTC,HFP-AG, A2DP-SOURCE,AVRCP-TARGET,LE AUDIO BIS-SOURCE,LE AUDIO CIS-SOURCE
HID,PBAP,MAP 目前保留还未实现功能

AT+AUTOCONN - 获取/设置上电自动回连次数

指令

AT+AUTOCONN{=参数}

参数
0: 失能
1 ~ 15: 重连次数

响应

+AUTOCONN=参数

参数

当前重连次数

AT+STAT - 获取所有状态

指令

AT+STAT

响应

+STAT=参数1,参数2,参数3,参数4,参数5,参数6,参数7

参数1

+DEVSTAT - 模块状态

参数2

+SPPSTAT - SPP 状态

参数3

+GATTSTAT - GATT 状态

参数4

+HFPSTAT - HFP 状态

参数5

+A2DPSTAT - A2DP 状态

参数6

+AVRCPSTAT - AVRCP 状态

参数7

+BISSTAT - Le Audio Broadcast 状态

参数8

+CISSTAT - Le Audio Unicast 状态

AT+DEVSTAT - 获取模块状态

指令

AT+DEVSTAT

响应

+DEVSTAT=参数

参数

+DEVSTAT - 模块状态

AT+ADDR - 获取 BR/EDR MAC 地址

指令

AT+ADDR

响应

+ADDR=参数

参数

模块 BR/EDR MAC 地址(12字节 ASCII)

AT+LEADDR - 获取 LE MAC 地址

指令

AT+LEADDR

响应

+LEADDR=参数

参数

模块 LE MAC 地址(12字节 ASCII)

AT+NAME - 获取/设置 BR/EDR 名称

指令

AT+NAME{=参数1{,参数2}}

参数1

BR/EDR 名称

参数2
名称后缀, 在设置名称后面追加 MAC 地址的后4位
0: 失能
1: 使能

响应

+NAME=参数

参数

BR/EDR 名称

说明

设置名称最多不超过31字节

AT+LENAME - 获取/设置 LER 名称

指令

AT+LENAME{=参数1{,参数2}}

参数1

LE 名称

参数2
名称后缀, 在设置名称后面追加 MAC 地址的后4位
0: 失能
1: 使能

响应

+LENAME=参数

参数

LE 名称

说明

设置名称最多不超过31字节

AT+SSP - 读/写BR/EDR配对模式 (从端有效)

指令

AT+SSP{=Param}

参数1

Pairing mode (0~2, default:1)
(0) Legacy pairing, use pin code for pairing
(1) Secure simple pairing, auto pairing
(2) Secure simple pairing, display yes/no in pairing

说明

因为BT1058 蓝牙为5.4 带LEA功能 BT1038,BT1058 系列不支持ssp为0的参数

响应

+SSP=Param

说明

need reoot.

AT+COD - 获取/设置模块类型

指令

AT+COD=参数

参数

设备类型(6字节 ASCII)

响应

+COD=参数

参数

设备类型

说明

设备类型, 详见 COD

AT+PAIR - 获取/设置蓝牙可见性

指令

AT+PAIR=参数

参数
0: 失能
1: 使能

响应

+PAIR=参数

参数

当前蓝牙可见性

AT+SCAN - 扫描附近设备

指令

AT+SCAN=参数1{,参数2}{,参数3}

参数1
0: 停止扫描
1: 扫描 BR/EDR 设备
2: 扫描 LE 设备
3: 扫描Le Audio Broadcast 广播音频

参数2

扫描时间, 最大 255 (单位: 秒)

参数3
参数1为2和3时 0: LE 上报格式和 BR/EDR 一样
参数1为2和3时1: LE 上报原始广播数据
参数1为2和3时2: 只上报支持 Le Audio 设备
参数1为 1时 参数3 是过滤扫描设备名

说明

+SCAN - 扫描结果

AT+PLIST - 获取/删除配对记录

指令

AT+PLIST{=参数}

参数
0: 删除所有配对记录
1 ~ 8: 删除对应序号的配对记录
MAC 地址(12字节 ASCII): 删除对应 MAC 地址的配对记录

响应1

+PLIST=参数1, 参数2{,参数3}

参数1

序号

参数2

MAC 地址(12字节 ASCII)

参数3

配对设备名称(UTF-8)

响应2

+PLIST=E

说明

如果不带参数, 则列出所有配对记录

AT+DSCA - 断开所有蓝牙连接

指令

AT+DSCA

说明

此指令只是发起断开请求, 以实际查询对应状态为准

AT+TPMODE - 获取/设置数据透传模式

指令

AT+TPMODE{=参数}

参数
0: 失能
1: 使能

响应

+TPMODE=参数

参数

当前透传模式

说明

当 SPP/GATT 连接上并且使能透传模式, 串口收到的所有数据都将发送到 APP

AT+AUXCFG - 获取/设置音频输入模式

指令

AT+AUXCFG{=参数}

参数
0: USB
1: 模拟
2: SPDIF
3: I2S

响应

+AUXCFG=参数

参数

当前输入模式

说明
重启后生效
从端目前仅支持 USB 模拟输入

AT+LINKKEY - 获取连接设备的密钥

指令

AT+LINKKEY=参数

参数

目标设备 MAC 地址(12字节 ASCII)

响应

+LINKKEY=参数1,参数2

参数1

目标设备 MAC 地址(12字节 ASCII)

参数2

目标设备连接密钥(32字节 ASCII)

AT+RSSI - 获取连接设备信号值

指令

AT+RSSI=参数

参数

目标设备 MAC 地址(12字节 ASCII)

响应

+RSSI=参数1,参数2

参数1

目标设备 MAC 地址(12字节 ASCII)

参数2

目标设备连接信号值

说明

如果返回0, 表示获取失败

AT+LINKCFG - 获取/设置自动扫描连接(主端有效)

指令

AT+LINKCFG{=参数1{,参数2}}

参数1
0: 失能
1: 使能
参数2
0: 扫描所有设备
1: 只扫描主服务为音频的设备

AT+AUDMODE - 获取/设置蓝牙音频模式 (主端有效)

指令

AT+AUDMODE{=参数1}

参数1
0: BR/EDR 模式
1: Le Audio 广播模式
2: Le Audio 单播模式

说明

修改配置, 模块自动重启

AT+PRINT - 获取/设置消息上报模式

指令

AT+PRINT{=参数1}

参数1
0: 失能
1: 失能

说明

打开/关闭消息上报

AT+MICMUTE - 静音MIC (从端有效)

指令

AT+MICMUTE=Param

参数1

0-不静音 1-静音

说明

通话时静音本地麦克风

AT+SPKMUTE - 静音Speaker (从端有效)

指令

AT+MICMUTE=Param

参数1

0-不静音 1-静音

HFP 指令

AT+HFPSTAT - 获取 HFP 状态

指令

AT+HFPSTAT

响应

+HFPSTAT=参数

参数

+HFPSTAT - HFP 状态

AT+HFPCONN - 创建 HFP 连接

指令

AT+HFPCONN{=参数}

参数

目标设备 MAC 地址(12字节 ASCII)

说明

如果不带参数, 将连接最后连接的设备

AT+HFPDISC - 断开 HFP 连接

指令

AT+HFPDISC

说明

此指令只是发起断开请求, 以实际查询对应状态为准

AT+HFPRING - 模拟来电(主端有效)

指令

AT+HFPRING{=参数}

参数

模拟来电号码(ASCII)

说明
最多15字节
如果不带参数, 将重拨上次通话号码

AT+HFPANSW - 接听来电

指令

AT+HFPANSW

AT+HFPCHUP - 拒接/挂断通话

指令

AT+HFPCHUP

AT+HFPAUDIO - 建立/断开通话 (主端有效)

指令

AT+HFPAUDIO=参数

参数
0: 断开与连接设备的通话
1: 建立与连接设备的通话

AT+HFPWBS - 获取/设置 HFP 协商功能 (主端有效)

指令

AT+HFPWBS{=参数}

参数
0: 失能
1: 使能

响应

+HFPWBS=参数

参数

当前状态

AT+HFPNREC - 获取/设置 HFP 回声消除功能

指令

AT+HFPNREC{=参数}

参数
0: 失能
1: 使能

响应

+HFPNREC=参数

参数

当前状态

AT+HFPDIAL - 重拨/拨打电话号码 (从端有效)

指令

AT+HFPDIAL{=Param}

参数

电话号码 (1~25 Bytes ASCII)

说明

如果存在参数,请拨打指定号码,否则重拨

Example:重拨
<< AT+HFPDIAL
>> OK
Example:拨打号码 “075527924639”
<< AT+HFPDIAL=075527924639
>> OK

AT+HFPDTMF - 发送DTMF (从端有效)

指令

AT+HFPDTMF{=Param}

参数

DTMF (0~9/#/*)

Example:通话时发送DTMF “#”
<< AT+HFPDTMF=#
>> OK

AT+HFPADTS - 语音切换 (从端有效)

指令

AT+HFPADTS=Param

参数

0: 将语音音频从模块传输到远程设备
1: 将语音音频从远程设备传输到模块

说明

如果参数缺省,则交替切换

AT+HFPVR - 开始/停止远程设备的语音识别 (从端有效)

指令

AT+HFPVR=Param

参数

0-停止 1-开始

说明

开始/停止远程设备的语音识别(例如iOS设备的Siri)

AT+HFPSCO - SCO配置 (从端有效)

指令

AT+HFPSCO=Param

参数

0-default 1-always to HF 2-always to AG

AT+HFPBATT - 发送设备电池电量 (从端有效)

指令

AT+HFPBATT=Param

参数

level(0-9)

A2DP/AVRCP 指令

AT+A2DPSTAT - 获取 A2DP 状态

指令

AT+A2DPSTAT

响应

+A2DPSTAT=参数

参数

+A2DPSTAT - A2DP 状态

AT+A2DPCONN - 创建 A2DP 连接

指令

AT+A2DPCONN{=参数}

参数

目标设备 MAC 地址(12字节 ASCII)

说明

如果不带参数, 将连接最后连接的设备

AT+A2DPDISC - 断开 A2DP 连接

指令

AT+A2DPDISC

说明

此指令只是发起断开请求, 以实际查询对应状态为准

AT+A2DPCFG - 获取/设置 A2DP 编码配置

指令

AT+A2DPCFG{=参数}

参数

十进制数, 以十六进制解析

位[0]
AAC
0: 失能
1: 使能
位[1]
APTX
0: 失能
1: 使能
位[2]
APTX-LL
0: 失能
1: 使能
位[3]
APTX-HD
0: 失能
1: 使能
位[4]
APTX-AD
0: 失能
1: 使能
位[5]
LDAC
0: 失能
1: 使能

响应

当前配置

说明

BT1058 只支持 AAC,SBC,APTX, APTX-AD, APTX-HD,LDAC(从端支持解码 主端编码不支持)

AT+A2DPENC - 获取 当前 A2DP 使用的编码方式(主端有效)

指令

AT+A2DPENC

响应

+A2DPENC=参数

参数

+A2DPENC - A2DP 编码方式

AT+A2DPDEC - 读A2DP解码 (从端有效)

指令

AT+A2DPDEC

响应

+A2DPDEC=Param

参数

1:SBC 2:AAC 3:LDAC 4:APTX 5:APTX-HD 6:APTX-AD

AT+A2DPRES - 设置重采样使能 (从端有效)

指令

AT+A2DPRES

响应

+A2DPRES=Param

参数

0:关闭重采样 1:开启重采样

此命令作用于设置为I2S音频输出将LRCLK固定为44.1K或者48K输出 默认开启

AT+A2DPAUDIO - 建立/断开 A2DP 音频 (主端有效)

指令

AT+A2DPAUDIO=参数

参数
0: 断开与连接设备的音频
1: 建立与连接设备的音频

AT+AVRCPSTAT - 获取 AVRCP 状态

指令

AT+AVRCPSTAT

响应

+AVRCPSTAT=参数

参数

+AVRCPSTAT - AVRCP 状态

AT+AVRCPCONN - 创建 AVRCP 连接

指令

AT+AVRCPCONN{=参数}

参数

目标设备 MAC 地址(12字节 ASCII)

说明

如果不带参数, 将连接最后连接的设备

AT+AVRCPDISC - 断开 AVRCP 连接

指令

AT+AVRCPDISC

说明

此指令只是发起断开请求, 以实际查询对应状态为准

AT+AVRCPCFG - 读/写AVRCP配置 (从端有效)

指令

AT+AVRCPCFG{=Param}

参数

以10进制位字段表示,default:9,每位表示:

BIT[0]

自动获取音乐ID3信息(标题,艺术家,专辑).默认:1

BIT[1-4]

如果大于0,则自动获取音乐状态(播放进度)。 默认:5(second)

BIT[5]

开启音量同步设置。默认:1

Example: 读AVRCP配置
<< AT+AVRCPCFG
>> +AVRCPCFG=1
OK
Example: 设置成1秒上报播放进度
<< AT+AVRCPCFG=3
>> OK

AT+PLAYPAUSE - 播放/暂停 (从端有效)

指令

AT+PLAYPAUSE

说明

根据当前播放状态将播放或暂停命令发送到远端媒体播放器

AT+PLAY - 播放 (从端有效)

指令

AT+PLAY

说明

发送播放命令到远端媒体播放器

AT+PAUSE - 暂停 (从端有效)

指令

AT+PAUSE

说明

发送暂停命令到远端媒体播放器

AT+FORWARD - 下一曲 (从端有效)

指令

AT+FORWARD

说明

发送下一曲命令到远端媒体播放器

AT+BACKWARD - 上一曲 (从端有效)

指令

AT+BACKWARD

说明

发送上一曲命令到远端媒体播放器

AT+FFWD - 快进 (从端有效)

指令

AT+FFWD=Param

参数

0-发送释放快进命令, 1-发送按下快进命令

说明

发送快进命令到远端媒体播放器

AT+RWD - 后退 (从端有效)

指令

AT+RWD=Param

参数

0-发送释放后退命令, 1-发送按下后退命令

说明

发送后退命令到远端媒体播放器

GATT 指令

AT+GATTSTAT - 获取 GATT 状态

指令

AT+GATTSTAT

响应

+GATTSTAT=参数

参数

+GATTSTAT - GATT 状态

AT+GATTSEND - 通过 GATT 发送数据

指令

AT+GATTSEND=参数1,参数2

参数1

数据长度(1 ~ 236)

参数2

数据内容

说明

数据透传模式, 此指令无效

SPP 指令

AT+SPPSTAT - 获取 SPP 状态

指令

AT+SPPSTAT

响应

+SPPSTAT=参数

参数

+SPPSTAT - SPP 状态

AT+SPPDISC - 断开 SPP 连接

指令

AT+SPPDISC

说明

此指令只是发起断开请求, 以实际查询对应状态为准

AT+SPPSEND - 通过 SPP 发送数据

指令

AT+SPPSEND=参数1,参数2

参数1

数据长度(1 ~ 236)

参数2

数据内容

说明

数据透传模式, 此指令无效

Le Audio 指令

AT+BISSTAT - 获取 Le Audio 状态

指令

AT+BISSTAT

响应

+BISSTAT=参数

参数

+BISSTAT - Le Audio Broadcast 状态

AT+BISADD - BIS添加同步广播源 (从端有效)

指令

AT+BISADD=Param1,Param2

参数

广播advertising_sid

参数

广播broadcast_id

Example: 通过AT+BISADD=15,62640 添加同步搜索到的BIS广播源
+BISADD=15,62640
OK

AT+BISREMOVE - BIS移除添加同步的广播源 (从端有效)

指令

AT+BISREMOVE

参数

NULL 无参数

AT+BISPLAY - BIS播放 (从端有效)

指令

AT+BISPLAY=Param1

参数

NULL 无参数

AT+BISPAUSE - BIS暂停 (从端有效)

指令

AT+BISPAUSE=Param1

参数

NULL 无参数

AT+CISDISC - 断开 Le Audio Unicast连接

指令

AT+CISDISC

说明
此指令只是发起断开请求, 以实际查询对应状态为准
此指令只在Le Audio 单播模式有效

AT+CISCONN - 创建 Le Audio Unicast连接

指令

AT+CISCONN=参数1,参数2

参数0

0:公共地址类型 1:随机地址类型

参数1

目标设备 MAC 地址(12字节 ASCII)

说明

此指令只在Le Audio 单播模式有效

消息列表

通用消息

+VER - 固件版本信息

消息

+VER=参数1,参数2,参数3

参数1

模块型号

参数2

固件版本

参数3

固件编译时间

+DEVMOD - 设备模式信息

消息

+DEVMOD=参数1

参数1

SLAVE:音频接收 MASTER: 音频发射

+DEVSTAT - 模块状态

消息

+DEVSTAT=参数

参数

十进制数, 以十六进制解析

位[0]
0: 关机
1: 开机
位[1]
0: BR/EDR 不可发现
1: BR/EDR 可发现
位[2]
0: LE 停止广播
1: LE 广播中
位[3]
0: BR/EDR 停止扫描
1: BR/EDR 扫描中
位[4]
0: LE 停止扫描
1: LE 扫描中

+SCAN - 扫描结果

消息1

+SCAN =参数1,参数2,参数3, 参数4,参数5{,参数6{,参数7}}

参数1

序号

参数2
0: LE 公共 MAC 地址
1: LE 随机 MAC 地址
2: BR/EDR MAC 地址

参数3

MAC 地址(12 字节 ASCII)

参数4

信号值(-127 ~ -1)

参数5

设备名称长度/广播数据长度

参数6

设备名称/广播数据

参数7

设备类型

消息2

+SCAN=E

说明

扫描结束

+BIS - 广播源扫描结果

消息1

+BIS =参数1,参数2,参数3, 参数4,参数5{,参数6}

参数1

序号

参数2

信号强度

参数3

广播sid

参数4

广播 Broadcast

参数5

广播地址

参数6

设备名称/广播数据

消息2

+SCAN=E

说明

扫描结束

+PAIRED - 配对完成

消息

+PAIRED=参数

参数

当前配对设备 MAC 地址(12字节 ASCII)

+I2SSR - I2S 采样率

消息

+I2SSR=参数

参数

I2S 采样率

HFP 消息

+HFPSTAT - HFP 状态

消息

+HFPSTAT=参数

参数1
0: 不支持
1: 待机
2: 连接中
3: 已连接
4: 去电
5: 来电
6: 通话中

+HFPDEV - HFP 连接设备信息

消息

+HFPDEV=参数1{,参数2}

参数1

当前连接设备 MAC 地址

参数2

当前连接设备名称(UTF-8)

+HFPCID - 来电/去电电话号码

消息

+HFPCID=Param

参数

(1~25 Bytes ASCII), 电话号码

Example: 拨打10086
<< AT+HFPDIAL=10086
>> +HFPSTAT=4
>> +HFPCID=10086
>> +HFPCIE=China Mobile
>> +HFPAUDIO=1

例如: 来电号码13265463800
>> +HFPSTAT=5
>> +HFPCID=13265463800
>> +HFPCIE=Jerry
>> +HFPAUDIO=1

+HFPCIE - 来电/去电电话名称

消息

+HFPCIE=Param

参数

(UTF8), 电话名称

说明

此事件苹果手机支持,安卓大多数手机不支持

+HFPCONN - HFP 连接中

消息

+HFCONN=参数

参数

当前 HFP 连接中的设备 MAC 地址

+HFPAUDIO - HFP 通话状态

消息

+HFPAUDIO=参数

参数
0: 通话断开
1: 通话连接

+HFPSIG - HFP远端设备网络信号强度

消息

+HFPSIG=Param

参数

(0~5) 远端设备的网络信号强度

+HFPROAM - HFP远端设备漫游状态

消息

+HFPROAM=Param

参数

(0/1) 远端设备的漫游状态

+HFPBATT - HFP远端设备电池电量

消息

+HFPBATT=Param

参数

(0~5) 远程设备的电池电量

+HFPNET - HFP远端设备网络运营商

消息

+HFPNET=Param

参数

(UTF8)远程设备的网络运营商选择

+HFPMANU - HFP远端设备制造商

消息

+HFPMANU=Param

参数

(UTF8)远程设备制造商

+HFPIBR - HFP远端设备支持来电铃声

消息

+HFPIBR=Param

参数

0-不支持 1-支持

说明

指示当前连接的手机是否支持来电铃声

+HFPNUM - HFP远端设备本机号码

消息

+HFPNUM=Param

参数

(ASCII)远端设备的本机号码

+HFPSR - HFP 通话采样率

消息

+HFPSR=参数

参数

通话采样率

+HFPHUNG - HFP 连接设备 拒接来电/结束去电

消息

+HFPHUNG

+HFPVGS - HFP 连接设备的扬声器增益

消息

+HFPVGS=参数

参数

连接设备的扬声器增益

+HFPVGM - HFP 连接设备的麦克风增益

消息

+HFPVGM=参数

参数

连接设备的麦克风增益

A2DP/AVRCP 消息

+A2DPSTAT - A2DP 状态

消息

+A2DPSTAT=参数

参数
0: 不支持
1: 待机
2: 连接中
3: 已连接
4: 播放中
5: 暂停播放

+A2DPENC - A2DP 编码方式

消息

+A2DPENC=参数

参数
1: SBC
2: APTX
3: APTX-HD
4: APTX-AD

+A2DPDEV - A2DP 连接设备信息

消息

+A2DPDEV=参数1{,参数2}

参数1

当前连接设备 MAC 地址

参数2

当前连接设备名称(UTF-8)

+A2DPCONN - A2DP 连接中

消息

+A2DPCONN=参数

参数

当前连接中的设备 MAC 地址

+A2DPSR - A2DP 编码采样率

消息

+A2DPSR=参数

参数

A2DP 编码采样率

+AVRCPSTAT - AVRCP 状态

消息

+AVRCPSTAT=参数

参数
0: 不支持
1: 待机
2: 连接中
3: 已连接

+PLAYSTAT - 媒体播放器播放状态

消息

+PLAYSTAT=Param

参数

(0) Stopped
(1) Playing
(2) Paused
(3) Fast Forwarding
(4) Fast Rewinding

+TRACKSTAT - 媒体播放器播放进度

消息

+TRACKSTAT=Param1,Param2,Param3

参数1

(0~4), 媒体播放器状态

参数2

(Decimal ASCII),当前音乐播放的时间(毫秒)

参数3

(Decimal ASCII),当前音乐的总时间(毫秒)

+TRACKINFO - 媒体音乐信息

Format

+TRACKINFO=Param1,Param2,Param3

参数1

标题

参数2

艺术家

参数3

专辑

Example: 手机播放歌曲“Creep-Radio Head”
>> +TRACKINFO=Creep , Radiohead , Pablo Honey

+AVRCPCONN - AVRCP 连接中

消息

+AVRCPCONN=参数

参数

当前连接中的设备 MAC 地址

+SPKVOL - 远端扬声器音量

消息

+SPKVOL=参数

参数

远端扬声器音量

+CTVOLUP - 音量加

消息

+CTVOLUP

说明

收到音量加指令

+CTVOLDN - 音量减

消息

+CTVOLDN

说明

收到音量加指令

+CTPLAY - 播放

消息

+CTPLAY

说明

收到播放指令

+CTPAUSE - 播放暂停

消息

+CTPAUSE

说明

收到播放暂停指令

+CTSTOP - 播放停止

消息

+CTSTOP

说明

收到播放停止指令

+CTFWD - 快进

消息

+CTFWD

说明

收到快进指令

+CTBACK - 快退

消息

+CTBACK

说明

收到快退指令

Le Audio 消息

+BISSTAT - Le Audio Broadcast 状态

消息

+BISSTAT=参数

参数
0: 不支持
1: 待机
2: 连接中
3: 已连接
4: 播放中
5: 播放暂停

+CISSTAT - Le Audio Unicast 状态

消息

+CISSTAT=参数

参数
0: 不支持
1: 待机
2: 连接中
3: 已连接
4: 播放中
5: 播放暂停

+LEASR - Le Audio 采样率

消息

+LEASR=参数

参数

采样率

GATT 消息

+GATTSTAT - GATT 状态

消息

+GATTSTAT=参数

参数
0: 不支持
1: 待机
2: 连接中
3: 已连接

+GATTDATA - GATT 收到数据

消息

+GATTDATA=参数1,参数2

参数1

数据长度

参数2

数据内容

SPP 消息

+SPPSTAT - SPP 状态

消息

+SPPSTAT=参数

参数
0: 不支持
1: 待机
2: 连接中
3: 已连接

+SPPDATA - SPP 收到数据

消息

+SPPDATA=参数1,参数2

参数1

数据长度

参数2

数据内容

+SPPDEV - SPP 连接设备信息

消息

+SPPDEV=参数1

参数1

当前连接设备 MAC 地址(12字节 ASCII)

应用示例

修改 BR/EDR 名称

@startuml

hide footbox
skinparam sequenceMessageAlign center

box #LightBlue
participant 主机 as host
participant 模块 as bt
end box

rnote over host, bt: 复位重启
bt -> host: +SPPSTAT=1
bt -> host: +GATTSTAT=1
bt -> host: +A2DPSTAT=1
bt -> host: +AVRCPSTAT=1
bt -> host: +HFPSTAT=1
bt -> host: +VER=FSC-BT1058,V2.0.4,20260109
bt -> host: +DEVSTAT=1

rnote over host, bt: 发送 AT+PAIR=1, 进入可发现模式
host -> bt: AT+PAIR=1
bt -> host: +DEVSTAT=7 (进入可发现模式, 手机可以搜索并通过 SPP/GATT 连接)

rnote over host, bt: 修改模块名称为 "CARKIT" 关闭名称后缀, 然后检查修改结果
host -> bt: AT+NAME
bt -> host: AT+NAME=FSC-BT1058
host -> bt: AT+NAME=CARKIT,0
bt -> host: OK
host -> bt: AT+NAME
bt -> host: +NAME=CARKIT

@enduml

修改名称示例代码

 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");  // 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}

备注

修改任何参数, 建议先查询再修改, 最后验证修改结果

A2DP/HFP 示例 主端有效

@startuml

hide footbox
skinparam sequenceMessageAlign center

box #LightBlue
participant 主机 as host
participant 模块 as bt
end box

rnote over host, bt: 复位重启
bt -> host: +SPPSTAT=1
bt -> host: ...
bt -> host: +DEVSTAT=1

rnote over host, bt: 扫描附近 BR/EDR 设备
host -> bt: AT+SCAN=1
bt -> host: +SCAN=1,2,DC0D30000057,-42,11,FSC-BT1026C,240408
bt -> host: +SCAN=2,2,DC0D30000012,-70,16,FSC-BT1006A-0012,240404
bt -> host: +SCAN=E

host -> bt: AT+A2DPCONN=DC0D30000057 (A2DP 连接 FSC-BT1026C)
bt -> host: OK
bt -> host: +A2DPSTAT=2
bt -> host: +A2DPSTAT=3 (A2DP 连接成功)
bt -> host: +A2DPDEV=DC0D30000057,FSC-BT1026C
bt -> host: +HFPSTAT=3 (HFP 连接成功)
bt -> host: +AVRCPSTAT=3 (AVRCP 连接成功)
bt -> host: +A2DPENC=1 (SBC 编码方式)
bt -> host: +A2DPSTAT=4 (自动进入音频播放)

rnote over host, bt: 断开音频连接
host -> bt: AT+A2DPAUDIO=0
bt -> host: +A2DPSTAT=5 (音频暂停)

rnote over host, bt: 建立 HFP 通话
host -> bt: AT+HFPAUDIO=1
bt -> host: +HFPSTAT=4
bt -> host: +HFPAUDIO=1
bt -> host: +HFPSTAT=6
bt -> host: +HFPSR=16000 (采样率: 16000)

rnote over host, bt: 断开 HFP 通话
host -> bt: AT+HFPAUDIO=0
bt -> host: +HFPSTAT=3
bt -> host: +HFPAUDIO=0

@enduml

经典蓝牙接收模式连接 从端有效

@startuml
hide footbox
skinparam sequenceMessageAlign center

box  #LightBlue
participant Host as host
participant Blueware as bt
end box

rnote over host, bt: 复位重启

bt -> host: ...
bt -> host: +DEVSTAT=7

rnote over host, bt: 手机搜索BT并发起连接
bt -> host: +A2DPSTAT=2
bt -> host: +A2DPSTAT=3 (A2DP已连接)
bt -> host: +A2DPDEV=8C861E94A09E,Navy
bt -> host: +AVRCPSTAT=3 (AVRCP已连接)
bt -> host: +HFPSTAT=3 (HFP已连接)
bt -> host: +HFPDEV=8C861E94A09E,Navy
bt -> host: +HFPSIG=3
bt -> host: +HFPBATT=4
bt -> host: +HFPROAM=0
bt -> host: +HFPNUM=8618620277271
bt -> host: +HFPMANU=AppleInc.

host -> bt: +HFPDIAL=10086 (拨打"10086")
bt -> host: OK
bt -> host: +HFPSTAT=4,10086
bt -> host: +HFPAUDIO=1 (建立audio)
bt -> host: +HFPSTAT=6,10086 (call active)
host -> bt: AT+HFPCHUP(挂断电话)
bt -> host: +HFPSTAT=3
bt -> host: +HFPAUDIO=0 (断开audio)

host -> bt: AT+PLAY(播放音乐)
bt -> host: +A2DPSTAT=5
bt -> host: +PLAYSTAT=1
bt -> host: +TRACKINFO=song,artist,album
bt -> host: +TRACKSTAT=1,1000,240000
bt -> host: +TRACKSTAT=1,2000,240000
host -> bt: AT+PAUSE(暂停音乐)
bt -> host: +PLAYSTAT=2
bt -> host: +A2DPSTAT=3

@enduml

Le Audio 广播模式 主端有效

@startuml

hide footbox
skinparam sequenceMessageAlign center

box #LightBlue
participant 主机 as host
participant 模块 as bt
end box

rnote over host, bt: 复位重启
bt -> host: +SPPSTAT=1
bt -> host: ...
bt -> host: +DEVSTAT=1

rnote over host, bt: 修改音频模式为 Le Audio 广播模式
host -> bt: AT+AUDMODE=1
bt -> host: OK
bt -> host: +SPPSTAT=1
bt -> host: ...
bt -> host: +DEVSTAT=1
bt -> host: +BISSTAT=5 (自动进入音频播放)
bt -> host: +BISSR=48000 (采样率: 48000)

@enduml

备注

设置好之后, 就可以使用支持 Le Audio 功能的设备进行扫描, 例如 FSC-BT1038A

Le Audio 单播模式 主端有效

@startuml

hide footbox
skinparam sequenceMessageAlign center

box #LightBlue
participant 主机 as host
participant 模块 as bt
end box

rnote over host, bt: 复位重启
bt -> host: +SPPSTAT=1
bt -> host: ...
bt -> host: +DEVSTAT=1

bt -> host: OK
bt -> host: +SPPSTAT=1
bt -> host: ...
bt -> host: +DEVSTAT=1

rnote over host, bt: 修改音频模式为 Le Audio 单播模式
host -> bt: AT+AUDMODE=2
bt -> host: OK
bt -> host: +SPPSTAT=1
bt -> host: ...
bt -> host: +DEVSTAT=1

rnote over host, bt: 扫描附近设备
host -> bt: AT+SCAN=2,10,2 (只扫描支持 Le Audio 的设备)
bt -> host: +SCAN=1,0,00025B00FF02,-52,23,FSC-BT1038A-LE-FF02
bt -> host: +SCAN=E
bt -> host: +DEVSTAT=1
rnote over host, bt: 连接设备
host -> bt: AT+CSICONN=0,00025B00FF02 (连接 FSC-BT1038A-LE-FF02)
bt -> host: OK
bt -> host: +CISSTAT=3
bt -> host: +CISSTAT=4 (自动进入音频播放)
bt -> host: +CISSR=48000 (采样率: 48000)

@enduml

LE Audio Broadcast 扫描连接 从端有效

@startuml
hide footbox
skinparam sequenceMessageAlign center

box  #LightBlue
participant Host as host
participant Blueware as bt
end box

rnote over host, bt: 复位重启

bt -> host: +PROFILE=20651
bt -> host: ...
bt -> host: +DEVSTAT=7

rnote over host, bt: 模块发起广播源扫描
bt -> host: AT+SCAN=3,5
bt -> host: +BIS=1,-61,15,98,DC0D30000062,FSC-BP410-0062
bt -> host: +BIS=2,-48,15,43356,00025B00FF0E,FSC-BP415-ff0e
bt -> host: +SCAN=E
rnote over host, bt: 模块发起连接广播源的指令
bt -> host: AT+BISADD=15,43356
bt -> host: +BISADD=15,43356
bt -> host: OK
bt -> host: +BISSTAT=4
bt -> host: +BISSTAT=5


@enduml

SPP 数据传输

@startuml

hide footbox
skinparam sequenceMessageAlign center

box  #LightBlue
participant 主机 as host
participant 模块 as bt
end box

rnote over host, bt: 复位重启
bt -> host: +SPPSTAT=1
bt -> host: ...
bt -> host: +DEVSTAT=1

rnote over host, bt: 进入可发现模式
host -> bt: AT+PAIR=1
bt -> host: OK
bt -> host: +DEVSTAT=7

rnote over host, bt: 手机连接模块
bt -> host: +PAIRED=594171484D07
bt -> host: +SPPDEV=594171484D07
bt -> host: +SPPSTAT=3
bt -> host: +DEVSTAT=5

rnote over host, bt: 发送数据到手机
host -> bt: AT+SPPSEND=10,0123456789
bt -> host: OK

rnote over host, bt: 收到手机发的数据
bt -> host: +SPPDATA=10,0123456789

rnote over host, bt: 断开连接
host -> bt: AT+SPPDISC
bt -> host: OK
bt -> host: +SPPSTAT=1
bt -> host: +DEVSTAT=7

@enduml

备注

SPP 连接不支持苹果设备

GATT 数据传输

@startuml

hide footbox
skinparam sequenceMessageAlign center

box  #LightBlue
participant 主机 as host
participant 模块 as bt
end box

rnote over host, bt: 复位重启
bt -> host: +SPPSTAT=1
bt -> host: ...
bt -> host: +DEVSTAT=1

rnote over host, bt: 进入可发现模式
host -> bt: AT+PAIR=1
bt -> host: OK
bt -> host: +DEVSTAT=7

rnote over host, bt: 手机连接模块
bt -> host: +GATTSTAT=3
bt -> host: +GATTDEV=594171484D07

rnote over host, bt: 发送数据到手机
host -> bt: AT+GATTSEND=10,0123456789
bt -> host: OK

rnote over host, bt: 收到手机发的数据
bt -> host: +GATTDATA=10,0123456789

rnote over host, bt: 断开连接
host -> bt: AT+GATTDISC
bt -> host: OK
bt -> host: +GATTSTAT=1

@enduml

联系我们

深圳飞易通科技有限公司

地址:深圳市宝安区西乡街道共乐社区铁仔路50号凤凰智谷A栋508室

电话:86-755-23062695

业务咨询:sales@feasycom.com

技术支持:support@feasycom.com

官网:www.feasycom.cn

论坛:forum.feasycom.cn

Appendix

下载 PDF 文档

下载 PDF 文档