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. 手机前端开发调试利器-vConsole

    最近因为做抽奖页面,在android上可以使用手机连上电脑后用chrome浏览器chrome://inspect进行页面探测,但是ios中的页面就不能这样探测 在网上搜索后发现此插件,大大解决了问题 ...

  2. Composer项目安装依赖包

    说明:一般用Composer的项目中,目录下都有一个composer.json文件,安装这些依赖,只需要输入命令即可 步骤: cmd进入项目目录,运行命令即可 composer install 文章参 ...

  3. didFailWithError: Error Domain=kCLErrorDomain Code=0 “The operation couldn’t be completed. (kCLError

    This error also occurs if you have Scheme/Edit Scheme/Options/Allow Location Simulation checked but ...

  4. Hdu 4965(矩阵快速幂)

    题目链接 Fast Matrix Calculation Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K ...

  5. WebGis二次开发包实例

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="index.aspx.cs& ...

  6. 统计py文件或目录代码行数

    bug:当遇到3个"""时 可能会将下面的代码不计入代码总行数 import os def count_path(path,countcode): if os.path. ...

  7. MyBatis小问题-Mapper中错误No constructor found...

    前两天又被公司叫去修改其他产品的一些问题了,没有看java相关的,今天周六,看了看MyBatis东西. 就是简单的在MySql中建了个users表,很简单,包含id,name,age,写了个bean. ...

  8. java-多线程的入门_进阶总结

    多线程 概述图 1.概述 进程:正在执行中的程序,其实时应用程序在内存中运行的那片空间. 线程:进程中的一个执行单元,负责进程中的程序的运行,一个进程中至少要有一个线程. (进程可以理解为是一个QQ程 ...

  9. Leetcode606.Construct String from Binary Tree根据二叉树创建字符串

    你需要采用前序遍历的方式,将一个二叉树转换成一个由括号和整数组成的字符串. 空节点则用一对空括号 "()" 表示.而且你需要省略所有不影响字符串与原始二叉树之间的一对一映射关系的空 ...

  10. Vbulletin Used to Show Malicious Advertisements

    In the past, we have seen a massive amount of vBulletin websites compromised through theVBSeo Vulner ...