蓝牙设备中的Device UUID 与 Service UUID

2023-11-19

Device UUID也可以被称作为DeviceID。

Android 设备上扫描获取到的 deviceId 为外围设备的 MAC 地址,相对固定。
iOS 设备上扫描获取到的 deviceId 是系统根据外围设备 MAC 地址及发现设备的时间生成的 UUID,是设备上的Core Bluetooth为该设备分配的标识符。对于已连接过的设备,UUID 会在一段时间内保持不变(正常是15-20分钟变化一次)。
此外,UUID 也会在某些条件下可能会发生变化(如系统蓝牙模块重启、配对设备被忽略等),在不同的设备上获取到的 UUID 也是不同的。不同手机连接同一设备的uuid不是同一个。

问题:

这样无法确认对应的的设备是哪一台,要是断连后就不知道上一台设备是哪一台,由此提出一个方案就是可以在蓝牙的扫描响应包中去添加上本设备的MAC地址,这样不管是IOS还是安卓设备这样都可以识别到唯一设备。

SerivceId就是Service UUID。

蓝牙设备的ID,通过此ID可以进行连接蓝牙设备,连接成功之后可以获取serviceId,serviceId可以有多个,每个serviceId可以看作是服务,每个serviceId中可以定义多个uuid(特征值)。

Service UUID已经有了很多特定的,也可以自己定义。
特定的:{0000xxxx-0000-1000-8000-00805F9B34FB}

xxxx = 0x0000 ~ 0xFFFE
GATT Service 0x1800 Generic Access
GATT Service 0x1801 Generic Attribute
GATT Service 0x1802 Immediate Alert
GATT Service 0x1803 Link Loss
GATT Service 0x1804 Tx Power
GATT Service 0x1805 Current Time
GATT Service 0x1806 Reference Time Update 
GATT Service 0x1807 Next DST Change 
GATT Service 0x1808 Glucose
GATT Service 0x1809 Health Thermometer
GATT Service 0x180A Device Information
GATT Service 0x180D Heart Rate
GATT Service 0x180E Phone Alert Status 
GATT Service 0x180F Battery
GATT Service 0x1810 Blood Pressure
GATT Service 0x1811 Alert Notification
GATT Service 0x1812 Human Interface Device
GATT Service 0x1813 Scan Parameters
GATT Service 0x1814 Running Speed and Cadence
GATT Service 0x1815 Automation IO
GATT Service 0x1816 Cycling Speed and Cadence
GATT Service 0x1818 Cycling Power
GATT Service 0x1819 Location and Navigation
GATT Service 0x181A Environmental Sensing
GATT Service 0x181B Body Composition
GATT Service 0x181C User Data
GATT Service 0x181D Weight Scale
GATT Service 0x181E Bond Management 
GATT Service 0x181F Continuous Glucose Monitoring 
GATT Service 0x1820 Internet Protocol Support
GATT Service 0x1821 Indoor Positioning 
GATT Service 0x1822 Pulse Oximeter
GATT Service 0x1823 HTTP Proxy
GATT Service 0x1824 Transport Discovery 
GATT Service 0x1825 Object Transfer 
GATT Service 0x1826 Fitness Machine
GATT Service 0x1827 Mesh Provisioning 
GATT Service 0x1828 Mesh Proxy
GATT Service 0x1829 Reconnection Configuration 
GATT Service 0x183A Insulin Delivery 
GATT Service 0x183B Binary Sensor
GATT Service 0x183C Emergency Configuration
GATT Service 0x183E Physical Activity Monitor 
GATT Service 0x1843 Audio Input Control 
GATT Service 0x1844 Volume Control

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

蓝牙设备中的Device UUID 与 Service UUID 的相关文章

  • 从相同的字符串生成相同的UUID

    我想从随机字符串生成一个UUID字符串 以便相同的输入字符串生成相同的UUID 我不关心从 UUID 获取输入字符串 作为迁移的一部分 我需要它来确定性地转换数据库中的密钥 以便并行操作的不同客户端收敛到相同的结果 接受的答案这个帖子 ht
  • 在windows postgresql中生成uuid

    我在 Windows 上安装了 postgresql 9 它没有内置的 uuid 生成器 有 OSSD 包 它可以绑定到 postgresql 作为 uuid 生成器 但它仅适用于 nix 我认为 如何在 Windows postgresq
  • 如何在 Objective C (iOS) 中创建 UUID 类型 1

    我使用以下代码创建了UUID 不知道哪种类型 Create universally unique identifier object CFUUIDRef uuidObject CFUUIDCreate kCFAllocatorDefault
  • PostgreSQL - 按 UUID 版本 1 时间戳排序

    我在用UUID版本1 https en wikipedia org wiki Universally unique identifier Version 1 date time and MAC address 作为主键 我想按 UUID v
  • 使用Java读取MySQL二进制(16) UUID

    这应该是一个非常简单的问题 我只是在这里遗漏了一些基本的东西 我正在经历 那些日子之一 无法使用 Hibernate 或其他 ORM 使用 Java 准备语句 MySQL 的东西 CREATE TABLE article articleID
  • laravel uuid 未在查询中显示

    我有一个 postgres 数据库表 它使用 uuid 作为主键 通过webpatser laravel uuid包 以及 可读 的网络 ID 通过温克拉 哈希德 当我查询数据库时 如果我dd 响应中 我看到了完整的 UUID 但如果我只是
  • 发生 Java UUID.randomUUID 冲突的机会有多大? [复制]

    这个问题在这里已经有答案了 我需要在 Java 中创建一些唯一文件 并且我计划使用 UUID randomUUID 来生成它们的名称 有可能因此发生碰撞吗 我应该做类似下面的事情吗 我不应该担心这个 Integer attemptsToGe
  • 带有 uuid 字段的 Django 迁移生成重复值

    我有一个uuid字段 不是主键 生成的迁移是 from future import unicode literals from django db import migrations models import uuid class Mig
  • 哪些范围的蓝牙 UUID 可用于供应商定义的配置文件?

    我想建立一个简单的蓝牙低功耗使用自定义配置文件的基于应用程序 所采用的配置文件 服务 特征 描述符使用 16 位 UUID 如官方网站 http developer bluetooth org gatt profiles Pages Pro
  • laravel uuid 作为主键

    我正在尝试将 uuid 设置为 Laravel 模型中的主键 我已经完成了在我的模型中设置启动方法的工作here https github com webpatser laravel uuid所以我不必每次想要创建和保存模型时都手动创建它
  • 什么是UUID?

    嗯 什么是一 它是唯一标识某物的标识号 这个想法是 id 号码将是普遍地独特的 因此 任何两个事物都不应该具有相同的 uuid 事实上 如果您要生成 10 万亿个 uuid 则两个 uuid 相同的概率为 0 00000006
  • 如何初始化常量 CLSID

    类 ID GUID 通常使用由破折号分隔的十六进制数字序列来指定 例如 557cf406 1a04 11d3 9a73 0000f81ef32e 这不是可用于直接初始化 CLSID 结构的文字 我发现了两种初始化结构的方法 但它们都有点尴尬
  • 打字稿中的 GUID / UUID 类型

    我有这个功能 function getProduct id string return some product 其中 id 实际上是 GUID Typescript 没有 guid 类型 是否可以创建类型GUID手动 function g
  • Android蓝牙UUID连接APP到ANDROID

    我正在构建一个 Android 应用程序 用于跟踪设备上的蓝牙连接 并在超出范围时触发警报 Android 文档要求提供 UUID 才能建立连接 uuid 是用于唯一标识信息的字符串 ID 的通用唯一标识符 UUID 标准化 128 位格式
  • MySql 插入选择 uuid()

    假设你有一张桌子 item 有字段 id VARCHAR 36 NOT NULL order BIGINT UNSIGNED NOT NULL And Unique id 然后你打电话 INSERT INTO item item id it
  • ruby base64 通过以 2 位字符开头来编码 128 位数字,以防止末尾填充

    这个问题是我之前问题的后续 如何在 Ruby 中使用自定义字符集将 UUID 转换为字符串 https stackoverflow com questions 47803212 how can i convert a uuid to a s
  • SessionId/身份验证令牌生成的最佳实践

    我见过有人使用 UUID 来生成身份验证令牌 然而 在RFC 4122 http www ietf org rfc rfc4122 txt据称 不要假设 UUID 很难猜测 不应该使用它们 作为安全功能 仅拥有即可授予的标识符 访问 例如
  • 如何在 Python 中创建 GUID/UUID

    如何在 Python 中创建独立于平台的 GUID UUID 我听说有一种在 Windows 上使用 ActivePython 的方法 但它只是 Windows 因为它使用 COM 有没有使用普通Python的方法 The uuid模块 h
  • 了解 UUID 的长形式和短形式

    我正在尝试学习一些android中的蓝牙编程我已经能够制作一个基本程序 该程序可以发现并连接到具有内置蓝牙功能的开发板 目前只有一个 我希望能够使用 RFCOMM 向开发板发送命令并接收消息有人告诉我 如果不知道主板和手机的 UUID 我可
  • Eloquent 模型中的 UUID 主键存储为 uuid 但返回为 0

    我有一个 mysql 表 其中使用 UUID 作为主键 这是创建迁移 Schema create people function Blueprint table table gt uuid id table gt primary id ta

随机推荐

  • CUDA的下载安装

    大家好 下面将进行CUDA的下载安装 下载安装的详细步骤描述如下 1 CUDA下载 https download csdn net download qq 41104871 87462747 2 CUDA安装 1 首先 需要解压缩下载好的C
  • docker入门实践,制作Dockerfile镜像

    目前我知道的自制镜像有2种方式 根据容器制作镜像和根据Dockerfile制作镜像 根据现成的容器制作镜像 适用于已经有一个现成的容器已经满足需求的情况 docker ps a CONTAINER ID IMAGE COMMAND CREA
  • PCAP流量数据集(网络安全)

    MAWI Working Group Traffic Archive URL http mawi wide ad jp mawi CIC dataset Canadian Institute for Cybersecurity datase
  • Kmalloc

    Kmalloc内存分配和malloc相似 除非被阻塞否则他执行的速度非常快 而且不对获得空间清零 Flags参数 include
  • RabbitMQ的使用

    安装 Docker 安装 RabbitMQ docker run d name rabbitmq p 5671 5671 p 5672 5672 p 4369 4369 p 25672 25672 p 15671 15671 p 15672
  • 一文详解jwt token以及sprig boot如何整合实现 jwt token操作

    文章目录 1 jwt是什么 2 jwt的来源 2 1 传统的session认证 2 2 基于token的鉴权机制 3 JWT的构成 3 1 header 3 2 playload 3 3 signature 4 如何应用 5 spring
  • webrtc源码学习 - Track Source Sink的关系

    文章目录 1 source sink 的关系 2 Track 2 1 videotrack 的创建和使用 2 2 VideoTrack 的实现 3 Track接口类介绍 1 source sink 的关系 source是生产媒体资源的 si
  • win+R命令汇总

    我们通过WIN R 可以快速调取windows一些程序及服务 那具体有哪些命令呢 笔者总结如下 cmd cmd命令提示符 MS DOS regedit 注册表编辑器 services msc 系统服务 msconfig 系统配置实用程序 n
  • 对 Spring 的核心(AOP 和 IOC)的理解(大白话)

    Spring 首先它是一个开源而轻量级的框架 其核心容器的主要组件是Bean工厂 BeanFactory Bean工厂使用控制反转 IOC 模式来降低程序代码之间的耦合度 并提供了面向切面编程 AOP 的实现 正如其字面意思 是程序员的春天
  • 掩码、ip段转为单个ip地址,解决ValueError: IP(‘x.x.x.x/x‘) has invalid prefix length ()

    最近碰到的问题 简单记录下 from IPy import IP import re os time 解析10 245 1 1 10 245 1 10这种类型的ip段 def all for one dates ipx dates spli
  • R语言应用序列模式挖掘揭示客户购买行为:深度学习与机器学习的视角

    目录 序列模式挖掘 一个简介 使用R进行序列模式挖掘 应用深度学习和机器学习改善购买行为预测
  • 无向图的深度优先遍历非递归_数据结构系列图

    图 01 图的基本定义与基本术语 基本概念 图 Graph 是由顶点的集合和顶点之间边的集合组成 通常表示为 G V E 其中 G表示一个图 V是图G中顶点的集合 E是图G中边的集合 在图中的数据元素 我们称之为顶点 Vertex 顶点集合
  • 6.OS运行机制(补充)

    中断
  • C#的new关键字的几种用法

    一共有三种用法 在 C 中 new 关键字可用作运算符 修饰符或约束 1 new 运算符 用于创建对象和调用构造函数 这种大家都比较熟悉 没什么好说的了 2 new 修饰符 在用作修饰符时 new 关键字可以显式隐藏从基类继承的成员 3 n
  • 水文数据产品的网站

    主要记录在平常用到的水文数据产品的网站 包括水库 湖泊 河流等 1 hydroweb 官网 https www theia land fr en hydroweb 界面 下载后的数据是txt格式 如需转成csv 可这样批量操作 import
  • React hooks中ref、forwardRef、useImperativeHandle的结合使用

    ref 用来绑定到HTML元素或者组件上 获取其DOM forwardRef 帮助子组件拿到父组件中子组件上面绑定的ref 绑定到自己的某一个元素中 这样就将子组件的DOM直接暴露给了父组件 这种方式存在的弊端 1 直接暴露给父组件带来的问
  • Linux 查看目录和文件

    目录 1 显示当前目录 pwd 2 改变目录 cd 3 列出目录内容 ls 4 列出目录内容 dir和vdir 5 查看文本文件 cat和more 6 阅读文件的开头和结尾 head和tail 7 查找文件内容 grep 1 显示当前目录
  • 存储解决方案之——FC存储解决方案

    FC存储解决方案 一 需求分析 当前 在FC Fibre Channel 领域里鲜有新技术问世 很多技术都已经成为过去时 近来在技术上的演进就是从2Gbit s 到4Gbit s的过渡 而且基本上已经完成 基于光纤通道 FC 的存储局域网络
  • Win10中docker的安装与使用

    WIN10中DOCKER的安装与使用 WIN10中DOCKER的安装与使用 1 docker的安装 环境准备 下载安装 2 docker的入门 开始使用 3 docker的常用配置 在PowerShell中设置 tab键自动补全 其实用的都
  • 蓝牙设备中的Device UUID 与 Service UUID

    Device UUID也可以被称作为DeviceID Android 设备上扫描获取到的 deviceId 为外围设备的 MAC 地址 相对固定 iOS 设备上扫描获取到的 deviceId 是系统根据外围设备 MAC 地址及发现设备的时间