BLE中的Service(服务)和characteristic(特征值)
Service(服务)和characteristic(特征值)之间的关系:
Service(服务):
服务是用来完成特定功能或特性的数据和相关行为的集合。在GATT中,服务由其服务定义来定义。服务定义可能包含所包含的服务、强制性特征和可选特征。可用于搜索服务的服务的重要属性被表示为uuid。
UUID:
UUID是一个普遍唯一的标识符,它被期望在所有空间和所有时间上都是唯一的(更准确地说,独立生成的UUID是相同的概率可以忽略不计)。uuid可以以分布式的方式独立创建。不需要对已分配的uuid进行中央注册表。一个UUID是一个128位的值。为了减少存储和传输128位UUID值的负担,已经预先分配了一系列UUID值,以便分配给常用的、已注册的目的。此预分配范围内的第一个UUID称为Blooth_Base_UUID,其值为00000000-0000-1000-8000- 00805F9B34FB。预分配范围内的UUID值具有以16位或32位值表示的别名。这些别名通常被称为16位和32位UUID,但每个实际上代表一个128位的UUID值。
characteristic(特征值):
特征是在服务中使用的值,以及关于如何访问该值的属性和配置信息,以及关于如何显示或表示该值的信息。特征定义包含特征声明、特征属性和值。它还可以包含描述值或允许服务器关于特征值的配置的描述符。
常见标准的Service:
Allocation Type
|
Allocated UUID
|
Allocated for
|
GATT Service
|
0x1800 | 类属存取 |
GATT Service
|
0x1801 | 类属性 |
GATT Service
|
0x1802 | 立即警报 |
GATT Service
|
0x1803 | 链路损耗 |
GATT Service
|
0x1804 | Tx功率 |
GATT Service
|
0x1805 | 当前时间 |
GATT Service
|
0x1806 | 参考时间更新 |
GATT Service
|
0x1807 | 下一个DST更改 |
GATT Service
|
0x1808 |
Glucose
|
GATT Service
|
0x1809 |
Health Thermometer
|
GATT Service
|
0x180a | 设备信息 |
GATT Service
|
0x180d | 心率 |
GATT Service
|
0x180e | 电话警报状态 |
GATT Service
|
0x180f | 电池 |
GATT Service
|
0x1810 | 血压 |
characteristic(特征值)细分:
CHARACTERISTIC VALUE READ(特征值读)
此过程用于从服务器上读取特征值。有四个子程序可以用来读取特征值:读取特征值、使用特征UUID读取、读取长特征值和读取多个特征值。CHARACTERISTIC VALUE WRITE(特征值写)
此过程用于将特征值写入服务器。有五个子程序可以用来写一个特征值:无响应写、无响应签名写、写特征值、写长特征值和可靠写。CHARACTERISTIC VALUE NOTIFICATION(特征值通知)
此过程用于从服务器通知客户端特征值的值。CHARACTERISTIC VALUE INDICATIONS(特征值指示)
此过程用于指示从服务器到客户端的特征值。
其中NOTIFICATION和INDICATIONS区别:
Charateristic Value Notificaiton
通知是指包含了特征值的句柄和当前值的包。客户端会收到这样的包,并且可以选择执行,但是不会给服务器端发回响应来确认是否收到。Characteristic Value Indication
不同于通知,标记遵循了请求响应的格式。当服务器端发出标记的包的时候,要求客户端发回一个明确的确认包。
BLE中的Service(服务)和characteristic(特征值)相关推荐
- android服务中定时清理,Android中(Service )服务的最佳实践——后台执行的定时任务...
Android中的定时任务一般有两种实现方式,一种是使用Java API里提供的Timer类,一种是使用Android的Alarm机制.这两种方式在多数情况下都能实现类似的效果,但Timer有一个明显 ...
- Service中的绑定服务总结
绑定服务是客户端服务器接口中的服务器,绑定服务可以让组件绑定到服务.发送请求.接收响应,甚至执行进程间通信IPC,绑定服务通常只在为其他应用组件服务时处于活动状态,不会无限期在后台运行. 绑定服务是S ...
- Angular中怎样创建service服务来实现组件之间调用公共方法
场景 Angular介绍.安装Angular Cli.创建Angular项目入门教程: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/detail ...
- Ubuntu中重启ssh服务时提示:Job for ssh.service failed because the control process exited with error code. See
场景 在Ubuntu中重启ssh服务时提示: Job for ssh.service failed because the control process exited with error code ...
- Android 项目开发 基于Web Service 服务的中英翻译软件(三) Web Service服务 Ksoap2 项目...
关于Web Service Android 应用通常是运行手机平台上,手机系统的硬件资源远远比不上PC平台,不管是存储能力还是计算能力,在Android平台上运行一些小的应用时可能的,但对于需要进行大 ...
- BLE中GATT理解
这篇总结下BLE中GATT相关内容. 在学习了刘权的<BLE4.0 低功耗蓝牙协议总结>一书后,对GATT有了一定了解,这里也对作者提供这么好的讲解表示感谢,下面截图均从书中摘取,如有侵权 ...
- BLE中GATT介绍
本文转载自博客园 1 简介 GATT(Generic Attribute Profile),描述了一种使用ATT的服务框架 该框架定义了服务(Server)和服务属性(characteristic)的 ...
- Visual Paradigm 教程[UML]:如何在SoaML中建模多方服务?
2019独角兽企业重金招聘Python工程师标准>>> 下载Visual Paradigm最新试用版 编写本教程是为了解释多方服务在SoaML方面的含义以及如何使用各种SoaML图表 ...
- Android中的service全面总结
文章出处:http://www.cnblogs.com/newcj/archive/2011/05/30/2061370.html 1.Service的种类 按运行地点分类: 类别 区别 优点 缺点 ...
- 电脑总是死机 报Service Control M Hid input service 服务因下列错误而停止
找个好的电脑在c:\windows\system32中找到hidserv.dll文件,或者在网上找到此文件下载并放到该系统目录.在"我的电脑"同时点击鼠标右键,选择"管理 ...
最新文章
- Java项目:嘟嘟网上商城系统(java+jdbc+jsp+mysql+ajax)
- IOS 从系统图库中获取 图片 并设置为头像
- 【linux】——linux下的软件安装
- 一篇非常有用的文章-《台湾清华彭明辉教授的研究生手册》
- Linux内存初始化(C语言部分)
- oc之Mac-响应链(Responder Chain)
- openstack实例控制台显示响应时间过长_监控OpenStack的技巧
- HDU - 7029 Median 思维
- flex 学习篇 ---- 导航类容器
- 【高性能定时器】时间堆(最小堆)
- python线程池模块第三方包_python线程池(threadpool)模块使用笔记详解
- 从苏宁电器到卡巴斯基(第二部)第08篇:我在卡巴的日子 VIII
- linux命令一个减号,linux shell环境减号-的用途
- JavaScript变量定义以及数据类型划分(笔记)
- 红孩儿编辑器的模块设计4
- 椭圆抛物面matlab程序,椭圆抛物面画法.pdf
- 2009年第一天上班,祝大家工作顺利!
- lua搭建ui_[专栏作家] Lua写UI的一些使用心得
- 从营收提升到品牌资产增长,私域时代的购物节跃迁
- LLJ-F(S)系列漏电继电器