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

相关文章推荐

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

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

[Bluetooth]蓝牙协议栈构架

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

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

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

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

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

Bluetooth编程(一) 协议栈概述

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

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

作者:Sam (甄峰) sam_code@hotmail.com   Sam一年前在Linux下写了一个类似Windows下BTW的库--BTX。现在需要添加新功能时发现很多知识点都忘记了。所以决...

linux下bluetooth编程(二)blueZ协议栈

Linux下开放的蓝牙协议栈主要包括IBM公司的BlueDrekar,Nokia公司的Affix, Axis公司的OpenBT和官方协议栈BlueZ。我们主要对Bluez进行探讨。   BlueZ...

[Bluetooth(SDK)]蓝牙协议栈架构

   协议栈是蓝牙技术的核心组成部分,它能使设备之间互相定位并建立连接,通过这个连接,设备间能通过各种各样的程序进行交互和数据交换。 下图展示了蓝牙栈内部的支撑层:   OB...

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

蓝牙协议栈实现模式分析 蓝牙技术是一项新兴的技术。它的主要目的就是要在全世界范围内建立一个短距离的无线通信标准 。它使用 2.4-2.5 GHz 的 ISM( Industrion Scie...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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