蓝牙协议入门(四)应用层协议
蓝牙协议入门(四)应用层协议
1.irOBEX 红外对象交互协议
irOBEX 红外对象交互协议,简称 OBEX,使高层协议同时运作在蓝牙和红外的无线链路之上。主要操作指令包括:
- 连接操作
- 断开操作
- Put 操作
- Get 操作
1.1.连接操作
连接操作的操作码为: 0x80。
字节0 | 字节1、2 | 字节3 | 字节4 | 字节5、6 | 字节7~n |
---|---|---|---|---|---|
0x80 | 连接请求分组长度 | OBEX版本号 | 标志 | 客户端可接收最大的OBEX分组长度 | 可选头 |
下面是一个连接操作的示例:
字节0 | 字节1、2 | 字节3 | 字节4 | 字节5、6 | 字节7~n |
---|---|---|---|---|---|
0x80 Connect命令 | 7 | 0x10 | flags | 65534 | 可选头 |
1.2.断开操作
断开操作的操作码为:0x81。
1.3.Put 操作
Put 操作的操作码为:0x02。
1.4.Get 操作
Get 操作的操作码为:0x03。
2.音频与电话控制协议
2.1.协议架构
蓝牙音频如上图协议栈所示:音频通过基带传输同步面向连接分组实现,没有以规范的形式给出,不是协议栈的一部分。
TCS_Binary 是一种基于分组电话控制二进制编码指令集,位于 L2CAP 之上。实现蓝牙无绳电话、对讲机功能。
RFCOMM 用于 AT 指令,拨号上网、蓝牙耳机、耳麦、传真通过 AT 发送指令控制。
2.2.音频部分
64kbps 电信级语言质量音频流
CVSD continuous variable slope delta 连续可变斜率增量。
PCM pulse code modulation 。
PCM 存在斜率效应。CVSD 使用音节压缩算法,编码步长根据信号斜率变化自动调整,是现在比较好的编码方案,提高语言的抗干扰能力。
2.3.电话控制部分
TCS-Binary 电话控制部分。
- 电话呼叫
呼叫控制、呼叫建立、呼叫拆除; * 组管理
访问权限请求、分布式配置、快速内部成员访问。
3.网络封装协议 BNEP
BNEP(Bluetooth Network Encapsulation Protocol) 网络封装协议。为了使集成蓝牙技术的电脑、电话、PDA、家用电器等网络设备交换信息,需要在网络层统一数据分组。网络封装协议将来自不同网络的数据分组重新封装,通过 L2CAP 进行传输。BNEP 支持 Ipv4、Ipv6、IPX 。
4.音视频分发协议AVDTP
AVDTP (Audio/Video Distribution Transport Protocol)音视频分发传输协议。
AVDTP 信令列表:
命令 | 信令标识符 | 描述 |
---|---|---|
AVDTP_DISCOVER | 0x01 | 发现设备中的流端点 |
AVDTP_GET_CAPABILITIES | 0x02 | 获得流端点的信息能力 |
AVDTP_SET_CONFIGURATION | 0x03 | 对SEP进行配置 |
AVDTP_GET_CONFIGURATION | 0x04 | 获取SEP当前配置 |
AVDTP_RECONFIGURE | 0x05 | 对SEP重新配置 |
AVDTP_OPEN | 0x06 | 成功的配置SEP后,打开流 |
AVDTP_START | 0x07 | 流被打开:用于开始形成流;流暂停时:用于重新形成流。 |
AVDTP_CLOSE | 0x08 | 对SEP关闭 |
AVDTP_SUSPEND | 0x09 | 请求SEP暂停 |
AVDTP_SECURITY_CONTROL | 0x0A | 设置设备内容保护、或者请求设备状况信息 |
AVDTP_ABORT | 0x0B | 中断正在建立或者传输的过程 |
AVDTP_GET_ALL_CAPABILITIES | ||
AVDTP_DELAYREPORT |
5.音视频控制传输协议AVCTP
AVCTP 可以使音视频设备同时支持多个应用框架,每个应用框架定义了各自相应的消息格式与应用规则。
6.参考链接
蓝牙核心技术概述(五):蓝牙协议规范(irOBEX、BNEP、AVDTP、AVCTP)
原文链接: https://jacksmiththu.github.io/2017/08/08/蓝牙协议入门(四)应用层协议/