一.介绍
1. spp是什么
串行端口配置文件(SPP)定义了使用蓝牙进行RS232(或类似)串行电缆仿真的设备应使用的协议和过程。 此配置文件涵盖的方案通过虚拟串行端口抽象(本身取决于操作系统)来处理使用蓝牙替代电缆的旧应用程序。
2. spp 结构
在图1.1中,描述了蓝牙配置文件结构和配置文件的依存关系。 如果配置文件通过隐式或显式引用它来重新使用该配置文件的某些部分,则它依赖于另一个配置文件。 在图中说明了依赖性:概要文件直接或间接地依赖于包含它的概要文件。
2.profile 概述
2.1 profile堆栈
基带[1] LMP [2]和L2CAP [3]是OSI层1和2蓝牙协议。 RFCOMM [4]是GSM TS 07.10 [5]的蓝牙改编版,为串行端口仿真提供了传输协议。 SDP是蓝牙服务发现协议[6]。
图2.2所示的端口仿真层是仿真串行端口或为应用程序提供API的实体。
双方的应用程序通常都是传统应用程序,能够并且希望通过串行电缆(在这种情况下是模拟的)进行通信。 但是,旧版应用程序无法了解用于设置仿真串行电缆的蓝牙过程,这就是为什么它们需要双方都需要某种支持蓝牙的辅助应用程序的帮助。 (这些问题未在此配置文件中明确解决;这里主要关注的是蓝牙的互操作性。)但是,同样,希望通过蓝牙执行串行通信的非传统应用程序也必须遵守此配置文件中指定的行为。 无论他们是使用如上所述的支持蓝牙的帮助器,还是使用其他与蓝牙协议栈的接口,都是如此。 这样可以确保旧版应用程序和非旧版应用程序的所有组合在蓝牙级别保持互操作性。
2.2 Configurations and roles
图2.2显示了此配置文件的一种可能的设备配置:
为此配置文件定义了以下角色:
设备A(DevA)–这是主动与另一个设备建立连接的设备(DevA是根据GAP [9]第2.2节的发起方)。
设备B(DevB)–这是等待其他设备主动连接的设备(根据GAP [9]中的2.2节,DevB是接受器)。
请注意,连接顺序(从DevA到DevB)不一定与分别在每侧启动旧版应用程序的顺序有任何关系。
信息性注释:为了将串行端口配置文件映射到常规串行端口体系结构,DevA和DevB都可以是数据电路端点(DCE)或数据终端端点(DTE)。 (RFCOMM协议被设计为独立于DTE-DCE或DTE DTE关系。)
2.3 User Requirements and Scenarios
此配置文件涵盖的场景如下:
在两个设备(例如PC)上设置虚拟串行端口(或等效端口),并将其与蓝牙连接,以仿真两个设备之间的串行电缆。
可以使用虚拟串行端口在任一设备上运行任何旧版应用程序,就像使用两根设备连接真实的串行电缆一样(带有RS232控制信号)。
此配置文件仅要求支持一槽数据包。 这意味着该配置文件可确保使用最高128 kbps的数据速率。 支持更高的费率是可选的。
此配置文件一次仅处理一个连接,因此仅考虑点对点配置。 但是,这不应被解释为对并发施加任何限制