为了让CSR867x的开发更容易,现与思度科技联合推出CSR867x学习板【淘宝链接:思度科技CSR开发板】。
技术交流QQ群号:743434463
开发板会员QQ群号:725398389(凭订单号入群,赠PPT、项目源码、视频教程)
——————————正文分割线———————————–
1. 引言
两个通过SPP协议连接的蓝牙设备之间的数据通信如串口通信一般简单方便,遗憾的是ADK中并没有给出简单的例程,使很多初学者难以快速学会使用SPP协议。
本文给出SPP Server和Client的使能示例代码,并给出运行于matlab的Client端测试方法。
2. SPP简介
SPP是Serial Port Profile(串口配置文件)的缩写,其定义了使用蓝牙进行RS232(或类似)串行电缆仿真的设备应使用的协议和过程。简单来说就是在蓝牙设备之间建立虚拟的串口进行数据通信。
先来看一下SPP协议与其他协议之间的关系图:
从上图中可见SPP协议是很多协议的基础协议。蓝牙设备之间通过SDP协议发现彼此的SPP服务。无绳电话和对讲也利用了SPP协议。
接下来看一下协议模型:
SPP协议需要SDP协议和RFCOMM协议作为支撑,分别负责服务的发现和数据的传输。在下文的示例代码中会有体现。通常我们将发起SPP连接请求的设备称为Client,接受SPP请求的设备称为Server。建立SPP连接的消息流如下: