首页
登录 | 注册

蓝牙的SDP协议与常用的UUID总结

1.概念

    SDP协议让客户机的应用程序发现存在的服务器应用程序提供的服务以及这些服务的属性。SDP只提供发现服务的机制,不提供使用这些服务的方法。每个蓝牙设备都需要一个SDP Service,只做Client的蓝牙设备除外。

2.ServiceRecord

每一个Service利用ServiceRecord来表示(具有唯一的32bit的Handle),每一个ServiceRecord由若干ServiceAttribute组成,由下图表示:



每一个ServiceAttribute的结构由下图所示:



Attribute ID是由Assigned Value定义好的,例如Record Handle Attribute的ID为0x0000。

正因为SDP Record由许多Attribute组成,所以,可以把Record看成AtributeList,这在后面的SDP resposne中会常用到。

设备通过SDP request来访问这些record的相关信息。这里有个很好的SDP实例,如下:



Service Class ID List描述了Service的类型,如0x00000000代表SDP service

Protocol Descriptior List 列出了可能使用这种Service的protocol

 

3.Data Element

Data Element是在SDP中定义的一种数据结构,用来表示ServiceAttribute的Value域。每一个data element由Type+Size两部分组成。

Type的定义如下图:

    

Size的定义如下图:





4.Service Class

每一个Service都是ServiceClass的一个实例,一个Service Record就是一个Service Class的实例,Service Class可以表示一个Record里的所有Attribute。每一个Service Class有一个ID,包含在ServiceClassIDList这个Attribute的value里,称之为UUID。

 

5.UUID

一个全局惟一的标识符,128bit。为了节省存储和传输开销,UUID的一些位已经固定,出现了16bit和32bit的两种UUID。这些不同bit的UUID可以相互转化,如下式:



6. 蓝牙里面使用的常用的UUID

 

#蓝牙串口服务

SerialPortServiceClass_UUID = '{00001101-0000-1000-8000-00805F9B34FB}'

 

LANAccessUsingPPPServiceClass_UUID = '{00001102-0000-1000-8000-00805F9B34FB}'

 

#拨号网络服务

DialupNetworkingServiceClass_UUID = '{00001103-0000-1000-8000-00805F9B34FB}'

 

#信息同步服务

IrMCSyncServiceClass_UUID = '{00001104-0000-1000-8000-00805F9B34FB}'

 

SDP_OBEXObjectPushServiceClass_UUID = '{00001105-0000-1000-8000-00805F9B34FB}'

 

#文件传输服务

OBEXFileTransferServiceClass_UUID = '{00001106-0000-1000-8000-00805F9B34FB}'

 

IrMCSyncCommandServiceClass_UUID = '{00001107-0000-1000-8000-00805F9B34FB}'

SDP_HeadsetServiceClass_UUID = '{00001108-0000-1000-8000-00805F9B34FB}'

CordlessTelephonyServiceClass_UUID = '{00001109-0000-1000-8000-00805F9B34FB}'

SDP_AudioSourceServiceClass_UUID = '{0000110A-0000-1000-8000-00805F9B34FB}'

SDP_AudioSinkServiceClass_UUID = '{0000110B-0000-1000-8000-00805F9B34FB}'

SDP_AVRemoteControlTargetServiceClass_UUID = '{0000110C-0000-1000-8000-00805F9B34FB}'

SDP_AdvancedAudioDistributionServiceClass_UUID = '{0000110D-0000-1000-8000-00805F9B34FB}'

SDP_AVRemoteControlServiceClass_UUID = '{0000110E-0000-1000-8000-00805F9B34FB}'

VideoConferencingServiceClass_UUID = '{0000110F-0000-1000-8000-00805F9B34FB}'

IntercomServiceClass_UUID = '{00001110-0000-1000-8000-00805F9B34FB}'

 

#蓝牙传真服务

FaxServiceClass_UUID = '{00001111-0000-1000-8000-00805F9B34FB}'

 

HeadsetAudioGatewayServiceClass_UUID = '{00001112-0000-1000-8000-00805F9B34FB}'

WAPServiceClass_UUID = '{00001113-0000-1000-8000-00805F9B34FB}'

WAPClientServiceClass_UUID = '{00001114-0000-1000-8000-00805F9B34FB}'

 

#个人局域网服务

PANUServiceClass_UUID = '{00001115-0000-1000-8000-00805F9B34FB}'

 

#个人局域网服务

NAPServiceClass_UUID = '{00001116-0000-1000-8000-00805F9B34FB}'

 

#个人局域网服务

GNServiceClass_UUID = '{00001117-0000-1000-8000-00805F9B34FB}'

 

DirectPrintingServiceClass_UUID = '{00001118-0000-1000-8000-00805F9B34FB}'

ReferencePrintingServiceClass_UUID = '{00001119-0000-1000-8000-00805F9B34FB}'

ImagingServiceClass_UUID = '{0000111A-0000-1000-8000-00805F9B34FB}'

ImagingResponderServiceClass_UUID = '{0000111B-0000-1000-8000-00805F9B34FB}'

ImagingAutomaticArchiveServiceClass_UUID = '{0000111C-0000-1000-8000-00805F9B34FB}'

ImagingReferenceObjectsServiceClass_UUID = '{0000111D-0000-1000-8000-00805F9B34FB}'

SDP_HandsfreeServiceClass_UUID = '{0000111E-0000-1000-8000-00805F9B34FB}'

HandsfreeAudioGatewayServiceClass_UUID = '{0000111F-0000-1000-8000-00805F9B34FB}'

DirectPrintingReferenceObjectsServiceClass_UUID = '{00001120-0000-1000-8000-00805F9B34FB}'

ReflectedUIServiceClass_UUID = '{00001121-0000-1000-8000-00805F9B34FB}'

BasicPringingServiceClass_UUID = '{00001122-0000-1000-8000-00805F9B34FB}'

PrintingStatusServiceClass_UUID = '{00001123-0000-1000-8000-00805F9B34FB}'

 

#人机输入服务

HumanInterfaceDeviceServiceClass_UUID = '{00001124-0000-1000-8000-00805F9B34FB}'

 

HardcopyCableReplacementServiceClass_UUID = '{00001125-0000-1000-8000-00805F9B34FB}'

 

#蓝牙打印服务

HCRPrintServiceClass_UUID = '{00001126-0000-1000-8000-00805F9B34FB}'

 

HCRScanServiceClass_UUID = '{00001127-0000-1000-8000-00805F9B34FB}'

CommonISDNAccessServiceClass_UUID = '{00001128-0000-1000-8000-00805F9B34FB}'

VideoConferencingGWServiceClass_UUID = '{00001129-0000-1000-8000-00805F9B34FB}'

UDIMTServiceClass_UUID = '{0000112A-0000-1000-8000-00805F9B34FB}'

UDITAServiceClass_UUID = '{0000112B-0000-1000-8000-00805F9B34FB}'

AudioVideoServiceClass_UUID = '{0000112C-0000-1000-8000-00805F9B34FB}'

SIMAccessServiceClass_UUID = '{0000112D-0000-1000-8000-00805F9B34FB}'

PnPInformationServiceClass_UUID = '{00001200-0000-1000-8000-00805F9B34FB}'

GenericNetworkingServiceClass_UUID = '{00001201-0000-1000-8000-00805F9B34FB}'

GenericFileTransferServiceClass_UUID = '{00001202-0000-1000-8000-00805F9B34FB}'

GenericAudioServiceClass_UUID = '{00001203-0000-1000-8000-00805F9B34FB}'

GenericTelephonyServiceClass_UUID = '{00001204-0000-1000-8000-00805F9B34FB}'

 





相关文章

  • Java中Uuid的实现   2008-05-30 15:28:38|  分类: JAVA相关 |  标签: |字号大中小 订阅 1.一种Native的实现,产生真正的Uuid,好像用的人挺多的.http://www.doomdark.or ...
  • 总结Java程序员最常用的20%技术
    总结Java程序员最常用的20%技术< linux就该这么学>不错的linux自学书籍 我听说编程语言,经常使用的是其中20%的技术.在Java这门语言中,这20%包括哪些内容? linux 我听说编程语言,经常使用的是其中20 ...
  • CCNA EIGRP协议
    一.EIGRP      EIGRP是思科的思科协议,是最好的路由协议,因为"快",收敛速度快     评价路由协议的好坏(计算路由表的速度,计算路由的准备度)      EIGRP:是具有链路状态协议的距离矢量协议 二 ...
  • 随着互联网技术的发展,很多想从事Linux运维工程师岗位的人,都想知道自己应该会什么样的技术.运维工程是都需要会什么技术才会被企业所认可,才能找到一份专业的工作.那么我们看一个Linux运维网络的面试题,Linux下常用的DNS服务软件是什 ...
  • 随着互联网技术的迅猛发展,现在逐步渐入大数据.云计算.虚拟技术和人工智能时代,技术为王的现象越来越明显了.现下网站规模越来越大.架构越来越复杂,企业对于运维工程师.架构师的要求也越来越急迫,特别是对有经验的优秀运维人才需求量大,而运维工程师 ...
  • 网络推币机外部接口与手机控制端对接方案协议
    网络推币机外部接口对接通讯协议(初稿)广州龙其仕专供 -b120.01.LQS.Ver0.01 一. 接口参数 硬件特性: □ RS232 □ RS485 □ 异步通信串口,TTL,电压3.3-5.0V □ 以太网 波特率: □ 9600 ...

2019 unjeep.com webmaster#unjeep.com
12 q. 0.012 s.
京ICP备10005923号