蓝牙(3)蓝牙UUID与SDP
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) 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) 纳入 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) 以实现向后兼容。 |
服务类 |
| 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的更多相关文章
- Android - 传统蓝牙(蓝牙2.0)
Android Bluetooth 源码基于 Android L [TOC] Reference BluetoothAdapter 首先调用静态方法getDefaultAdapter()获取蓝牙适配器 ...
- Android低功耗蓝牙(蓝牙4.0)——BLE开发(上)
段时间,公司项目用到了手机APP和蓝牙设备的通讯开发,这里也正好对低功耗蓝牙(蓝牙4.0及以后标准)的开发,做一个总结. 蓝牙技术联盟在2010年6月30号公布了蓝牙4.0标准,4.0标准在蓝牙3.0 ...
- 蓝牙(3)如何通过蓝牙传输数据及UUID详介
如何通过蓝牙传输数据 通过蓝牙传输数据与Socket类似.在网络中使用Socket和ServerSocket控制客户端和服务端的数据读写.而蓝牙通讯也由客户端和服务端Socket来完成.蓝牙客户端So ...
- 蓝牙发现服务UUID(service UUID)
出至<蓝牙标准Core_V4.0>2.5.1 uuid(1576页) 其中 Bluetooth_Base_UUID定义为 00000000-0000-1000-8000-00805F9B3 ...
- 【蓝牙】蓝牙,调试 hcitool与gatttool实例
Bluez协议栈在安装完以后,会提供两个命令行调试工具,hcitool与gattool,我们可以根据提供的工具来轻松的调试我们的蓝牙设备,调试BLE设备时,需要获取root权限. 蓝牙设备的开启与关闭 ...
- 蓝牙BLE: 蓝牙4.0 BLE广播数据解析(转)
BLE 设备工作的第一步就是向外广播数据.广播数据中带有设备相关的信息.本文主要说一下 BLE 的广播中的数据的规范以及广播包的解析. 1. 广播模式 BLE 中有两种角色 Central 和 Per ...
- Android 中文API (70) —— BluetoothDevice[蓝牙]
前言 本章内容是 android.bluetooth.BluetoothDevice,为Android蓝牙部分的章节翻译.蓝牙设备类,代表了蓝牙通讯国足中的远端设备.版本为 Android 2.3 ...
- 『转』android官网翻译好的蓝牙API接口说明
Develop API Guides 连接 蓝牙 本文内容 基础知识 蓝牙权限 设置蓝牙 查找设备 查询配对的设备 发现设备 连接设备 连接为服务器 连接为客户端 管理连接 使用配置文件 供应商特定的 ...
- Android蓝牙学习笔记
一 Bluetooth基本概念 蓝牙是无线数据和语音传输的开放式标准,它将各种通信设备.计算机及其终端设备.各种数字数据系统.甚至家用电器采用无线方式联接起来.它的传输距离为10cm-10m,如果增加 ...
随机推荐
- TZ_14_Feign的客户端和Feign的负载均衡
1.作用:Feign可以把Rest的请求进行隐藏,伪装成类似SpringMVC的Controller一样.你不用再自己拼接url,拼接参数等等操作,一切都交给Feign去做. 2.导入起步坐标 < ...
- JavaScript多继承(转载)
js里是否有多继承,如何实现多继承.在这里可以看看java是如何处理多继承的问题,java里是没有多继承的,即一个子类不能同时继承多个父类,但可以实现多个接口,这也间接的实现了多继承.主要是因为多继承 ...
- JS---案例:高清放大镜
案例:高清放大镜 分3步 1. 鼠标进入和离开,显示和隐藏遮挡层和大图div 2. 鼠标在小层上移动,鼠标横纵坐标,为可视区域坐标-遮挡层的宽高,鼠标移动的时候,在一个区域内移动,需要判断和定义下移动 ...
- Python子进程 (subprocess包)
Python子进程 (subprocess包) subprocess以及常用的封装函数 当我们运行python的时候,我们都是在创建并运行一个进程.正如我们在Linux进程基础中介绍的那样,一个进程可 ...
- GIT → 02:Git和Svn比较
2.1 SVN介绍 2.1.1 SVN简介 SVN 属于集中式版本管理控制系统,服务器中保存了所有文件的不同版本,而协同工作人员通过连接svn服务器,提取出最新的文件,获取提交更新.Subversio ...
- neo4j批量导入neo4j-import
neo4j数据批量导入 1 neo4j基本参数 1.1 启动与关闭: 1.2 neo4j-admin的参数:控制内存 1.2.1 memrec 是查看参考内存设置 1.2.2 指定缓存–pagecac ...
- python基础--数据类型的常用方法2
列表及内置方法: count():查询元素的个数 clear():清空当前对象 reverse():对当前对象进行反转 sort():对当前对象中的元素进行排序 总结: 能存多个值 有序的 可变的 队 ...
- git命令移动文件夹到另一文件夹
- WordPress不同分类使用不同的文章模板
倡萌昨天分享的 Custom Post Template 和 Single Post Template 可以让你自定义每篇文章的文章模板,今天来说说WordPress不同分类使用不同的文章模板. 方法 ...
- QT_string转char*
char* convertQString2char(const QString &str) { QByteArray ba = str.toUtf8(); char * pathChar = ...