Bluetooth协议栈学习之SDP

转载 2011年01月08日 18:11:00

SDP(service discovery protocol:服务发现协议)提供了一个方法,让应用程序检测哪些服务是可用的并探测这些可用服务的特性。

服务发现协议(SDP或Bluetooth SDP)在蓝牙协议栈中对蓝牙环境中的应用程序有特殊的含意,发现哪个服务是可用的和确定这些可用服务的特征。SDP定义了bluetooth client发现可用bluetooth server服务和它们的特征的方法。这个协议定义了客户如何能够寻找基于特定属性的服务而不让客户知道可用服务的任何知识。SDP提供发现新服务的方法,在当客户登录到正在操作的蓝牙服务器的一个区域时是可用的时。

SDP提供了一套SDP server和SDP client之间的通讯方法。 SDP server维护着一个服务条目列表,这个列表存放着SDP server对应的服务以及服务特性。每个服务条目对应一个单独的服务。SDP client可以通过发送请求得到SDP server维护的这个服务条目list.

如果SDP client或者联系于client之上的应用程序决定使用某个service,则打开一个针对此服务的连接到服务提供者去使用此服务。SDP只是提供侦测service以及特性的方法,但不提供如何使用这些service的方法.

每个bluetooth device最多有一个SDP server. 如果某个device只作为client.则不需要拥有SDP server.而一个bluetooth device可以同时为SDP client和SDP server.

服务条目(Service Record):

一个service就是某个实体提供一些信息,执行某种动作,或控制资源代表另一个实体。一个service可以由软件,硬件或软硬件结合提供。

SDP server维护的service条目包含在service record中。

SDP server中,每个service record由一个32位数与别的record区别。注意,只是在这个SDP server内。

当SDP server添加或删除某个service时,不会主动提供给client.

Service 属性:

每个属性描述一个service的特征。

service属性包含两部分:

attribute ID + attribute Value.

属性ID是一个16bit的值,用来和Service record内的其它属性区别开来。

Service Class:

每个server是 service class的一个实例。service class定义了service(此class的实例)的每个特性。属性对应attribute ID,属性value的格式,

每个service classs也指定为一个的标识符。这个标识符被包含在属性ServiceClassIDList中。并描述为UUID。

Search for service:

service search功能允许SDP client得到包含在service record 中的service 属性。

可以使用属性的Universally Unique Identifiers1 (UUIDs)得到属性。

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/baozhongchao/archive/2009/10/26/4728724.aspx

Bluetooth协议栈学习之SDP

SDP(service discovery protocol:服务发现协议)提供了一个方法,让应用程序检测哪些服务是可用的并探测这些可用服务的特性。服务发现协议(SDP或Bluetooth SDP)在...

A2DP和AVRCP蓝牙音频传输协议的应用解释

A2DP全名是Advenced Audio Distribution Profile 蓝牙音频传输模型拹定。A2DP 规定了使用蓝牙非同步传输信道方式,传输高质量音乐文件数据的拹议堆栈软件和使用方法,...

Bluetooth协议栈学习之SDP

SDP(service discovery protocol:服务发现协议)提供了一个方法,让应用程序检测哪些服务是可用的并探测这些可用服务的特性。 服务发现协议(SDP或Bluetooth SDP...

树莓派安装BlueZ协议栈(Raspberry pi Bluetooth LE)

在之前的项目中,遇到需要将若干个BLE连接上读取其数据的功能,所以我采取了将树莓派和usb蓝牙结合在一起,使用bluez驱动其蓝牙4.0使 之和我的BLE设备进行连接,所以在此我记录一下在树莓派环境...
  • talkxin
  • talkxin
  • 2016年01月29日 23:59
  • 5592

实战Linux Bluetooth编程(一) 协议栈概述

最近开始看Bluetooth啦,看到一个好的系列文章,在这转载了。 作者:Sam (甄峰) sam_code@hotmail.com   Sam一年前在Linux下写了一...
  • lizzywu
  • lizzywu
  • 2012年04月26日 14:27
  • 943

BlueTooth: 蓝牙协议栈实现模式分析

蓝牙技术是一项新兴的技术。它的主要目的就是要在全世界范围内建立一个短距离的无线通信标准 。它使用 2.4-2.5 GHz 的 ISM( Industrion Scientifc Medical ) 频...

[Bluetooth]蓝牙协议栈构架

协议栈是蓝牙技术的核心组成部分,它能使设备之间互相定位并建立连接,通过这个连接,设备间能通过各种各样的程序进行交互和数据交换。 下图展示了蓝牙栈内部的支撑层: OBEX 是一个对象...
  • vlily
  • vlily
  • 2012年09月28日 17:33
  • 774

Bluetooth编程(一) 协议栈概述

一:Bluetooth基本概念:   Bluetooth是爱立信、诺基亚、东芝、IBM和Intel 5家公司在1998年联合推出的一项无线网络技术。其宗旨是提供一种短距离、低成本的无线传输...
  • kobbee9
  • kobbee9
  • 2012年07月13日 17:50
  • 1291

BlueTooth:蓝牙协议栈实现模式分析

蓝牙协议栈实现模式分析 蓝牙技术是一项新兴的技术。它的主要目的就是要在全世界范围内建立一个短距离的无线通信标准 。它使用 2.4-2.5 GHz 的 ISM( Industrion Scient...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Bluetooth协议栈学习之SDP
举报原因:
原因补充:

(最多只允许输入30个字)