1.服务发现协议 (SDP)

  SDP = Service Discovery Protocol 

  主要用来根据已分配编号(UUID)搜索服务、浏览群组列表、文档 URL 和图标 URL等。

  详细见: 《蓝牙核心说明书》中的 Part B. SERVICE DISCOVERY PROTOCOL (SDP) SPECIFICATION

2.UUID与蓝牙

2.1 UUID简介

  UUID = Universally Unique Identifier  

  通用唯一识别码.由一组32位数的16进制数字所构成,理论上的总数为16^32=2^128. 示例如下:

  0000b81d-0000-1000-8000-00805f9b34fb

2.2 蓝牙中的UUID

  Bluetooth® 服务发现协议 (SDP) 目前(2019)只使用16位来定义 UUID. 后面16位目前保留,固定为 8000-00805F9B34FB

  00000000-0000-1000-8000-00805F9B34FB

2.3 如何申请UUID(收费)

  自定义蓝牙服务时要申请UUID,每个 UUID 2,500 美元.

  • SIG 会员申请UUID16的方法

  https://www.bluetooth.com/specifications/assigned-numbers/16-bit-uuids-for-members/

  • 标准开发组织申请uuid16的方法

  https://www.bluetooth.com/specifications/assigned-numbers/16-bit-uuids-for-sdos/

3.通用蓝牙服务与UUID对应表

  官文方文档:https://www.bluetooth.com/zh-cn/specifications/assigned-numbers/service-discovery/

  出于历史原因,表中的部分 UUID 乃用于配置文件和服务。

  对于新的配置文件而言,服务类的UUID不可用于配置文件,反之亦然。

服务类名称 UUID 规格 许可用法
ServiceDiscoveryServerServiceClassID 0x1000 蓝牙核心规格 服务类
BrowseGroupDescriptorServiceClassID 0x1001 蓝牙核心规格 服务类
SerialPort 0x1101

串口配置文件 (SPP)
备注:SPP v1.0 中的 SDP 记录范例并不包含

BluetoothProfileDescriptorList 属性,但部分实

施中也可将此 UUID 用于配置文件标识符。

服务类/配置文件
LANAccessUsingPPP 0x1102 局域网访问配置文件
[已作废]
备注:可用作服务类标识符及配置文件标识符。
服务类/配置文件
DialupNetworking 0x1103 拨号网络配置文件 (DUN)
备注:可用作服务类标识符及配置文件标识符。
服务类/配置文件
IrMCSync 0x1104 同步配置文件 (SYNC)
备注:可用作服务类标识符及配置文件标识符。
服务类/配置文件
OBEXObjectPush 0x1105 物件推拉配置文件 (OPP)
备注:可用作服务类标识符及配置文件。
服务类/配置文件
OBEXFileTransfer 0x1106 文件传输配置文件 (FTP)
备注:可用作服务类标识符及配置文件标识符。
服务类/配置文件
IrMCSyncCommand 0x1107 同步配置文件 (SYNC)  
Headset 0x1108 耳机配置文件 (HSP)
备注:可用作服务类标识符及配置文件标识符。
服务类/配置文件
CordlessTelephony 0x1109 无绳电话配置文件 (CTP)
备注:可用作服务类标识符及配置文件标识符。
[已作废]
服务类/配置文件
AudioSource 0x110A 高级音频分发配置文件 (A2DP) 服务类
AudioSink 0x110B 高级音频分发配置文件 (A2DP) 服务类
A/V_RemoteControlTarget 0x110C 音频/视频远程控制配置文件 (AVRCP) 服务类
AdvancedAudioDistribution 0x110D 高级音频分发配置文件 (A2DP) 配置文件
A/V_RemoteControl 0x110E 音频/视频远程控制配置文件 (AVRCP)
备注:可用作服务类标识符及配置文件标识符。
服务类/配置文件
A/V_RemoteControlController 0x110F

音频/视频远程控制配置文件 (AVRCP)
备注:AVRCP 规格 v1.3 及更新版本要求将 0x110E

纳入 ServiceClassIDList 的 0x110F 之前,以实现向后兼容。

服务类
Intercom 0x1110 内部通信系统配置文件 (ICP)
备注:可用作服务类标识符及配置文件标识符。
[已作废]
服务类
Fax 0x1111 传真配置文件 (FAX)
备注:可用作服务类标识符及配置文件标识符。
[已作废]
服务类
Headset – Audio Gateway (AG) 0x1112 耳机配置文件 (HSP) 服务类
WAP 0x1113 蓝牙技术作为 WAP 的互操作性要求,Bluetooth SIG [已作废] 服务类
WAP_CLIENT 0x1114 蓝牙技术作为 WAP 的互操作性要求,Bluetooth SIG [已作废] 服务类
PANU 0x1115 个人局域网配置文件 (PAN)
备注:可用作针对 PANU 角色的服务类标识符及配置文件标识符。
服务类/配置文件
NAP 0x1116 个人局域网配置文件 (PAN)
备注:可用作针对 NAP 角色的服务类标识符及配置文件标识符。
服务类/配置文件
GN 0x1117 个人局域网配置文件 (PAN)
备注:可用作针对 GN 角色的服务类标识符及配置文件标识符。
服务类/配置文件
DirectPrinting 0x1118 基本打印配置文件 (BPP) 服务类
ReferencePrinting 0x1119 参见基本打印配置文件 (BPP) 服务类
基本成像配置文件 0x111A 基本成像配置文件 (BIP) 配置文件
ImagingResponder 0x111B 基本成像配置文件 (BIP) 服务类
ImagingAutomaticArchive 0x111C 基本成像配置文件 (BIP) 服务类
ImagingReferencedObjects 0x111D 基本成像配置文件 (BIP) 服务类
免提 0x111E 免提配置文件 (HFP)
备注:可用作服务类标识符及配置文件标识符。
服务类/配置文件
HandsfreeAudioGateway 0x111F 免提配置文件 (HFP) 服务类
DirectPrintingReferenceObjectsService 0x1120 基本打印配置文件 (BPP) 服务类
ReflectedUI 0x1121 基本打印配置文件 (BPP) 服务类
BasicPrinting 0x1122 基本打印配置文件 (BPP) 配置文件
PrintingStatus 0x1123 基本打印配置文件 (BPP) 服务类
HumanInterfaceDeviceService 0x1124 人机接口设备 (HID)
备注:可用作服务类标识符及配置文件标识符。
服务类/配置文件
HardcopyCableReplacement 0x1125 硬拷贝电缆替代配置文件 (HCRP) 配置文件
HCR_Print 0x1126 硬拷贝电缆替代配置文件 (HCRP) 服务类
HCR_Scan 0x1127 硬拷贝电缆替代配置文件 (HCRP) 服务类
Common_ISDN_Access 0x1128 通用 ISDN 接入配置文件 (CIP)
备注:可用作服务类标识符及配置文件标识符。
[已作废]
服务类/配置文件
SIM_Access 0x112D SIM 卡接入配置文件 (SAP)
备注:可用作服务类标识符及配置文件标识符。
服务类/配置文件
Phonebook Access – PCE 0x112E 电话簿访问配置文件 (PBAP) 服务类
Phonebook Access – PSE 0x112F 电话簿访问配置文件 (PBAP) 服务类
Phonebook Access 0x1130 电话簿访问配置文件 (PBAP) 配置文件
Headset – HS 0x1131

耳机配置文件 (HSP)
备注:参见勘误 #3507。
0x1108 及 0x1203 须纳入 ServiceClassIDList 的 0x1131 之前,

以实现向后兼容。

服务类
Message Access Server 0x1132 信息访问配置文件 (MAP) 服务类
Message Notification Server 0x1133 信息访问配置文件 (MAP) 服务类
信息访问配置文件 0x1134 信息访问配置文件 (MAP) 配置文件
GNSS 0x1135 全球导航卫星系统配置文件 (GNSS) 配置文件
GNSS_Server 0x1136 全球导航卫星系统配置文件 (GNSS) 服务类
​3D 显示 0x1137​ ​3D 同步配置文件 (3DSP) 服务类
​3D 眼镜 ​0x1138 ​3D 同步配置文件 (3DSP) 服务类
​3D 同步 0x1139​ ​3D 同步配置文件 (3DSP) 配置文件
​MPS 配置文件 UUID ​0x113A ​多配置文件规格 (MPS) 配置文件
​MPS SC UUID ​0x113B 多配置文件规格 (MPS)​ 服务类
​CTN 访问服务​ ​0x113C​ 日历、任务和提醒 (CTN) 配置文件 服务类
​CTN 通知服务​ ​0x113D ​​日历、任务和提醒 (CTN)配置文件 服务类
​CTN 配置文件 ​0x113E ​​日历、任务和提醒 (CTN)配置文件 配置文件
PnPInformation 0x1200 设备识别 (DID)
备注:可用作服务类标识符及配置文件标识符。
服务类/配置文件
GenericNetworking 0x1201 不适用 服务类
GenericFileTransfer 0x1202 不适用 服务类
GenericAudio 0x1203 不适用 服务类
GenericTelephony 0x1204 不适用 服务类
UPNP_Service 0x1205 增强服务发现配置文件 (ESDP) [已作废] 服务类
UPNP_IP_Service 0x1206 增强服务发现配置文件 (ESDP) [已作废] 服务类
ESDP_UPNP_IP_PAN 0x1300 增强服务发现配置文件 (ESDP) [已作废] 服务类
ESDP_UPNP_IP_LAP 0x1301 增强服务发现配置文件 (ESDP) [已作废] 服务类
ESDP_UPNP_L2CAP 0x1302 增强服务发现配置文件 (ESDP) [已作废] 服务类
VideoSource 0x1303 视频分发配置文件 (VDP) 服务类
VideoSink 0x1304 视频分发配置文件 (VDP) 服务类
VideoDistribution 0x1305 视频分发配置文件 (VDP) 配置文件
HDP 0x1400 保健设备配置文件 配置文件
HDP Source 0x1401 保健设备配置文件 (HDP) 服务类
HDP Sink 0x1402 保健设备配置文件 (HDP) 服务类
... ... ... ...
  (最大值 0xFFFF)    

蓝牙(3)蓝牙UUID与SDP的更多相关文章

  1. Android - 传统蓝牙(蓝牙2.0)

    Android Bluetooth 源码基于 Android L [TOC] Reference BluetoothAdapter 首先调用静态方法getDefaultAdapter()获取蓝牙适配器 ...

  2. Android低功耗蓝牙(蓝牙4.0)——BLE开发(上)

    段时间,公司项目用到了手机APP和蓝牙设备的通讯开发,这里也正好对低功耗蓝牙(蓝牙4.0及以后标准)的开发,做一个总结. 蓝牙技术联盟在2010年6月30号公布了蓝牙4.0标准,4.0标准在蓝牙3.0 ...

  3. 蓝牙(3)如何通过蓝牙传输数据及UUID详介

    如何通过蓝牙传输数据 通过蓝牙传输数据与Socket类似.在网络中使用Socket和ServerSocket控制客户端和服务端的数据读写.而蓝牙通讯也由客户端和服务端Socket来完成.蓝牙客户端So ...

  4. 蓝牙发现服务UUID(service UUID)

    出至<蓝牙标准Core_V4.0>2.5.1 uuid(1576页) 其中 Bluetooth_Base_UUID定义为 00000000-0000-1000-8000-00805F9B3 ...

  5. 【蓝牙】蓝牙,调试 hcitool与gatttool实例

    Bluez协议栈在安装完以后,会提供两个命令行调试工具,hcitool与gattool,我们可以根据提供的工具来轻松的调试我们的蓝牙设备,调试BLE设备时,需要获取root权限. 蓝牙设备的开启与关闭 ...

  6. 蓝牙BLE: 蓝牙4.0 BLE广播数据解析(转)

    BLE 设备工作的第一步就是向外广播数据.广播数据中带有设备相关的信息.本文主要说一下 BLE 的广播中的数据的规范以及广播包的解析. 1. 广播模式 BLE 中有两种角色 Central 和 Per ...

  7. Android 中文API (70) —— BluetoothDevice[蓝牙]

    前言 本章内容是  android.bluetooth.BluetoothDevice,为Android蓝牙部分的章节翻译.蓝牙设备类,代表了蓝牙通讯国足中的远端设备.版本为 Android  2.3 ...

  8. 『转』android官网翻译好的蓝牙API接口说明

    Develop API Guides 连接 蓝牙 本文内容 基础知识 蓝牙权限 设置蓝牙 查找设备 查询配对的设备 发现设备 连接设备 连接为服务器 连接为客户端 管理连接 使用配置文件 供应商特定的 ...

  9. Android蓝牙学习笔记

    一 Bluetooth基本概念 蓝牙是无线数据和语音传输的开放式标准,它将各种通信设备.计算机及其终端设备.各种数字数据系统.甚至家用电器采用无线方式联接起来.它的传输距离为10cm-10m,如果增加 ...

随机推荐

  1. TZ_14_Feign的客户端和Feign的负载均衡

    1.作用:Feign可以把Rest的请求进行隐藏,伪装成类似SpringMVC的Controller一样.你不用再自己拼接url,拼接参数等等操作,一切都交给Feign去做. 2.导入起步坐标 < ...

  2. JavaScript多继承(转载)

    js里是否有多继承,如何实现多继承.在这里可以看看java是如何处理多继承的问题,java里是没有多继承的,即一个子类不能同时继承多个父类,但可以实现多个接口,这也间接的实现了多继承.主要是因为多继承 ...

  3. JS---案例:高清放大镜

    案例:高清放大镜 分3步 1. 鼠标进入和离开,显示和隐藏遮挡层和大图div 2. 鼠标在小层上移动,鼠标横纵坐标,为可视区域坐标-遮挡层的宽高,鼠标移动的时候,在一个区域内移动,需要判断和定义下移动 ...

  4. Python子进程 (subprocess包)

    Python子进程 (subprocess包) subprocess以及常用的封装函数 当我们运行python的时候,我们都是在创建并运行一个进程.正如我们在Linux进程基础中介绍的那样,一个进程可 ...

  5. GIT → 02:Git和Svn比较

    2.1 SVN介绍 2.1.1 SVN简介 SVN 属于集中式版本管理控制系统,服务器中保存了所有文件的不同版本,而协同工作人员通过连接svn服务器,提取出最新的文件,获取提交更新.Subversio ...

  6. neo4j批量导入neo4j-import

    neo4j数据批量导入 1 neo4j基本参数 1.1 启动与关闭: 1.2 neo4j-admin的参数:控制内存 1.2.1 memrec 是查看参考内存设置 1.2.2 指定缓存–pagecac ...

  7. python基础--数据类型的常用方法2

    列表及内置方法: count():查询元素的个数 clear():清空当前对象 reverse():对当前对象进行反转 sort():对当前对象中的元素进行排序 总结: 能存多个值 有序的 可变的 队 ...

  8. git命令移动文件夹到另一文件夹

  9. WordPress不同分类使用不同的文章模板

    倡萌昨天分享的 Custom Post Template 和 Single Post Template 可以让你自定义每篇文章的文章模板,今天来说说WordPress不同分类使用不同的文章模板. 方法 ...

  10. QT_string转char*

    char* convertQString2char(const QString &str) { QByteArray ba = str.toUtf8(); char * pathChar = ...