一.定义
Serial Port Profile,串口通讯协议,是完成蓝牙设备之间创建串口进行数据传输的一种协议。
串口通讯协议(SPP)定义了使用蓝牙进行RS232(或类似)串行电缆仿真的设备应使用的协议和过程。 此协议涵盖的方案通过虚拟串行端口抽象(本身取决于操作系统)来处理使用蓝牙应用程序。
二 SPP作用
SPP是完成蓝牙串口通讯。蓝牙串口的目的是针对如何在两个不同设备(通信的两端)上的应用之间保证一条完整的通讯路径。
三 基本流程
1:创建虚拟连接:
A使用SDP提交一个请求来查找RFCOMM服务信道号码。
B请求对远端设备进行认证。
C向远端的RFCOMM通道发起一个新的L2CAP请求。
D 在L2CAP通道上初始化一个RFCOMM连接。
E 在RFCOMM连接上创建一个新的数据连接。
2:接受虚拟串口连接:
A接受发起设备端的认证请求并做处理.
B 在L2CAP层接收一个新的连接。
C接受RFCOMM连接请求在RFCOMM通道上
D 在RFCOMM通道上接收数据连接请求。
3:在本地SDP数据上注册服务
四 协议栈分层
这个应用两边都是典型的传统应用,能够通过一个虚拟串口通道和对方通信。通过下图可以看出,SPP的协议栈使用的还是rfcomm通道,这个是蓝牙中比较古老的通道了