蓝牙(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,如果增加 ...
随机推荐
- 前端(jQuery)(1)-- JQuery简介及语法
1.jQuery库简介 1.1.jQuery: jQuery库可以通过一行简单的标记被添加到网页中 1.2.什么是jQuery: jQuery是一个JavaScript函数库(由于底层封装的问题,不需 ...
- 揭秘webdriver实现原理【转】
通过研究selenium-webdriver的源码,笔者发现其实webdriver的实现原理并不高深莫测无法揣度.在这里以webdriver ruby binding的firefox-webdrive ...
- 2019.10.20 csp-s模拟测试 lrd试题 反思总结
赶进度赶进度,丢个代码两三句备注一下完事了. day1: 前面两道题没实际写代码怕印象不深所以描述一下大意. T1: 题目大意:给出两个数&.|.^的结果(可能只给出其中某一项或者某两项),求 ...
- javascript控件开发之滚动条控件
首先,基于行前几篇开发的的框架,我们在目录 component\ui\下添加文件 com.ui.scrollBar.js, 在文件中定义com.ui.scrollBar类,继承com.ui.windo ...
- Node.js调试技巧
1. console.log 跟前端调试相同,通过一步步打印相关变量进行代码调试 2. 使用Node.js内置的调试器 通过node debug xxx.js来进行调试: [root@~/wade/n ...
- PHP--y2k38的解决方法已经时间格式的常用转换
y2k38又名千年虫问题,又称Uinx Millennium Bug,此漏洞将会影响到所有32位系统下用Unix时间戳整数来记录时间的PHP,及其它编程语言. 一个整型的变量所能保存的最大时间为203 ...
- C++ UNREFERENCED_PARAMETER函数的作用
新建win32 application程序,会有这样一段代码 int APIENTRY wWinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hP ...
- Java 1.8 Stream 用例测试
package stream; import model.Student; import org.junit.jupiter.api.Test; import java.util.*; import ...
- CSS3圆环旋转效果
html结构: <div class="demo"></div> css结构: .demo{ width:250px; height:250px; bord ...
- Spring表达式语言:SpEl
概念: 是一个支持运行时查询和操作的对象图的强大的表达式语言. 语法类似于EL:SpEl使用#{ ...}作为定界符,所有在大括号中的 字符都将被认为是SpEl SpEl为bean的属性进行动态赋值提 ...