Android 蓝牙开发 uuid,Android蓝牙开发之 UUID
UUID:全球唯一标识符
在蓝牙中,每个Service和Characteristic都唯一地由"全球唯一标识符" (UUID)来校验,主要是保证他们的唯一性。
UUID可分为:16位、32位、128 位UUID
Bluetooth_Base_UUID:蓝牙UUID基数
UUID值被固定分配在某个范围,该范围的第一个数值称为蓝牙UUID基数(Bluetooth_Base_UUID),其值为00000000—0000—1000—8000—00805F9B34FB。 在此范围中,UUID一般用一个16位或32位的二进制数表示,经常被称作16位或32位UUID,它的实际长度其实都是128位。
Android开发中,是用UUID.fromString("UUID")的格式来获取UUID的,那通常所说的16、32和128位的UUID,如何都通过fromString来生成呢,这就要用到下面的转换了,也就是说要统一把16位、32位的UUID转换成128位的UUID。
128位的UUID值与16位或32位的UUID值之间的换算关系如下:
128_bit_value=16_bit_value*2^96+Bluetooth_Base_UUID
128_bit_value=32_bit_value*2^96+BIuetooth_Base_UUID
举个例子:
### 若 16 bit UUID为xxxx, 那么 128 bit UUID 为 0000xxxx-0000-1000-8000-00805F9B34FB
### 若 32 bit UUID为xxxxxxxx, 那么 128 bit UUID 为 xxxxxxxx-0000-1000-8000-00805F9B34FB
注:其中 Bluetooth_Base_UUID 定义为 00000000-0000-1000-8000-00805F9B34FB
如下图中UUID:
image.png
用fromString来获取的代码如下:
public static final UUID serviceUUID = UUID.fromString("0000ffe0-0000-1000-8000-00805f9b34fb");
public static final UUID charactUUID = UUID.fromString("0000ffe1-0000-1000-8000-00805f9b34fb");
Android 蓝牙开发 uuid,Android蓝牙开发之 UUID相关推荐
- Android 蓝牙开发(一) -- 传统蓝牙聊天室
Android 蓝牙开发(一) – 传统蓝牙聊天室 Android 蓝牙开发(三) – 低功耗蓝牙开发 项目工程BluetoothDemo 一.蓝牙概览 以下是蓝牙的介绍,来自维基百科: 蓝牙(英语: ...
- android蓝牙开发代码,Android蓝牙开发(示例代码)
Android蓝牙开发 近期做蓝牙小车,须要Android端来控制小车的运动.以此文记录开发过程. 使用HC-06无线蓝牙串口透传模块.对于其它的蓝牙设备本文相同适用. 蓝牙开发的流程: 获取本地蓝牙 ...
- Android 蓝牙开发(三) -- 低功耗蓝牙开发
Android 蓝牙开发(一) – 传统蓝牙聊天室 Android 蓝牙开发(三) – 低功耗蓝牙开发 项目工程BluetoothDemo 前面已经学习了经典蓝牙开发,学习了蓝牙的配对连接和通信,又通 ...
- Android蓝牙开发系列文章-蓝牙设备类型知多少?
在写<Android蓝牙开发系列文章-蓝牙音箱连接>时,计划细化出一篇讲解蓝牙设备类型的文章,现在它来了~ 阅读其他内容,可以点击<Android蓝牙开发系列文章-策划篇>,或 ...
- Android蓝牙开发系列文章-蓝牙mesh(一)
在<Android蓝牙开发系列文章-策划篇>中我们对蓝牙专题的内容进行整体规划,现在让我们一点点揭开他的面纱~ 本文是关于蓝牙mesh的首篇文章,由好友CSDN博主yk150915提供,在 ...
- 【Android FFMPEG 开发】Android 中使用 FFMPEG 对 MP3 文件进行混音操作
文章目录 一.前置操作 ( 移植 FFMPEG ) 二.FFMPEG 混音命令 三.Android FFMPEG 混音源代码完整示例 四.博客源码 一.前置操作 ( 移植 FFMPEG ) 参考 [A ...
- 【Android FFMPEG 开发】Android Studio 工程配置 FFMPEG ( 动态库打包 | 头文件与函数库拷贝 | CMake 脚本配置 )
文章目录 I . FFMPEG 交叉编译后的函数库及头文件 II . FFMPEG 静态库打包动态库 ( 仅做参考 ) III . 创建 Android Studio 工程 IV . FFMPEG 头 ...
- 【Android NDK 开发】Android Studio 使用 CMake 导入动态库 ( 构建脚本路径配置 | 指定动态库查找路径 | 链接动态库 )
文章目录 I . CMake 引入动态库与静态库区别 II . Android Studio 中 CMake 引入动态库流程 III . 指定动态库查找路径 IV . 链接函数库 V . 完整代码示例 ...
- 【Android NDK 开发】Android Studio 使用 CMake 导入静态库 ( CMake 简介 | 构建脚本路径配置 | 引入静态库 | 指定静态库路径 | 链接动态库 )
文章目录 I . CMake 简介 II . Android Studio 中 CMake 引入静态库流程 III . 指定 CMake 最小版本号 IV . 导入函数库 ( 静态库 / 动态库 ) ...
- 【Android NDK 开发】Android.mk 配置静态库 ( Android Studio 配置静态库 | 配置动态库与静态库区别 | 动态库与静态库打包对比 )
文章目录 I . Android Studio 中使用 Android.mk 配置静态库 总结 II . 第三方动态库来源 III . 配置 Android.mk 构建脚本路径 IV . 预编译 第三 ...
最新文章
- Swift中@IBDesignable/@IBInspectable的使用
- 没有CLOB类型却报ORA-00932: 数据类型不一致: 应为 -, 但却获得 CLOB
- 面向对象开发的五大基本原则
- 商品WEB开发的商品定单与存储过程的应用
- 硬件基础知识--(10)三极管的工作原理
- Android开发系列(十七):读取assets文件夹下的数据库文件
- python2与python3区别底层的区别_Python2 与 Python3 的区别(二)?
- 框架Thinkphp5 简单的实现行为 钩子 Hook
- angular解决跨域问题
- oracle 弱口令扫描器,批量扫描弱口令检查工具
- emoji android to iphone,Emoji Android to iphone
- linux(ubantu)系统如何安装vim编辑器以及如何使用vim
- 域名备案、公安网备案
- pe服务器注册表,在 win pe 下修改本机系统注册表
- vue制作导航栏html,Vue实现导航栏菜单
- Python计算机视觉(中英文版本)pdf+源代码
- 大数据时代的网络舆情(0710)
- Windows 下 Quartus 检测不到 USB-Blaster 终极解决办法
- 博实乐公布季度业绩,前三季度收入增长46.6%
- chrome所有页面崩溃【转载】
热门文章
- Html+Css+Js表单验证(正则表达式)
- Ubantu 18.04 安装 TensorFlow 详细教程
- class字节码反编译操作过程
- [BZOJ4566][HAOI2016]找相同字符 后缀自动机
- 国家开放大学2023春《马克思主义基本原理概论-试卷A》大作业终考任务参考答案范文合集
- 西部广播电视杂志西部广播电视杂志社西部广播电视编辑部2022年第4期目录
- 关于FPR和FNR (I类错误和II类错误)
- iOS组件化开发从开始到完整总结
- 对接支付宝接口流程(沙箱环境)
- CPU指令集是什么东西,以及指令集的架构有哪些(有哪些大类),以及具体的指令集都有哪些