首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

经典蓝牙与低功耗蓝牙BLE开发基础知识:服务、特征、属性、UUID

而蓝牙4.0开始就是包括蓝牙BLE了。蓝牙4.0是双模的,既包括经典蓝牙又包括低能耗蓝牙。经典蓝牙和蓝牙BLE虽然都是蓝牙,但其实还是存在很大区别的。...蓝牙BLE相比于经典蓝牙的优点是搜索、连接的速度更快,关键就是BLE(Bluetooth Low Energy)低能耗,缺点呢就是传输的速度慢,传输的数据量也很小,每次只有20个字节。...UUID UUID (Universally Unique Identifier)用于标识蓝牙服务以及特征访问属性,不同的蓝牙服务和属性使用不同的访问方法,找到正确的UUID,才能使用正确的功能。...每一个服务、特征、描述符都有一个UUID作为唯一识别符,识别符有通用的,也可以自定义,也可以随机生成,固定格式00000000-0000-0000-0000-000000000000(8-4-4-4-12...每一个特征都有其属性和权限(Read | Write | Notify | Indicate),特征根据属性可读可写。

13310
您找到你想要的搜索结果了吗?
是的
没有找到

蓝牙BLE技术

所有的层和定义看起来都很复杂,但是我们逐步使用它,并覆盖使用BLE开发成功项目所需的所有必要领域。...在读取操作的情况下,客户端必须解析该值并基于该属性的UUID理解数据类型。另一方面,在写入操作期间,期望客户端提供与属性类型相对应的数据,并且如果不是这种情况,则服务器可以自由拒绝操作。...每个服务包含一个或多个 特征,每个特征是用户数据与元数据(描述性信息)的联合。与GAP一起,GATT构成了蓝牙低功耗协议栈的主要接口。...使用16位UUID区分服务。可以在Bluetooth Developer Portal 的“ 服务”页面上找到已采用服务的完整列表 。 特征还包含UUID,它们通常表示数据端点。...例如,如果我们测量温度,则特征部分包含一些元数据(例如,如果它是华氏温度或摄氏温度),然后是温度值。

2.2K20

Android Ble蓝牙App(五)数据操作

Ble蓝牙App(五)数据操作 前言   关于低功耗蓝牙的服务、特性、属性、描述符都已经讲清楚了,而下面就是使用这些知识进行数据的读取、写入、通知等操作。...  读取数据写好了,下面我们来看写入数据,写入数据要看写入的方式,有Write和Wirte No Response,我们先了解这两种方式的区别: ① 概念   在BLE通信中,有两种常用的写操作方式:...一、概念 Ble Enable Notify是指在蓝牙低功耗(BLE)通信中使能通知功能的操作。当设备之间建立了蓝牙连接后,设备可以通过特征(Characteristic)来交换数据。...在BLE开发中,通常需要通过操作特征的属性来使能或禁用通知功能。...我们再看一下控制台日志   可以看到在执行写入动作成功之后,就收到了设备所回复的特征值数据,然后再是收到写入成功的日志打印。

98130

低功耗蓝牙BLE外围模式(peripheral)-使用BLE作为服务端

ATT经过优化,可在BLE设备上运行。 为此,它使用尽可能少的字节。 每个属性由通用唯一标识符(UUID)唯一标识,UUID是用于唯一标识信息的字符串ID的标准化128位格式。...由ATT传送的属性被格式化为特征和服务 。 特性 -A特性包含描述特性值的单个值和0-n个描述符。 一个特性可以被认为是一个类型,类似于类。 描述符 - 描述符是描述特征值的定义属性。...例如,描述符可以指定人类可读的描述,特征值的可接受范围或特征值的特定的测量单位。 服务 - 服务是一个集合的特点。 例如,您可以有一个名为“心率监视器”的服务,其中包括诸如“心率测量”的特征。...设备连接后,触发 AdvertiseCallback 的 onStartSuccess,我们在这之后,初始化GATT的服务 4.初始化GATT的服务 (1) 通过 mBluetoothManager.openGattServer...() 获得 bluetoothGattServer (2) 添加 服务,特征,描述。

1.6K00

MASA MAUI Plugin 安卓蓝牙低功耗(二)蓝牙通讯

换句话说我们可以通过这个特征给设备发送数据,而且可以通过订阅该特征值变化事件,来获取设备通过蓝牙的返回信息。与 BLE 设备交互的第一步便是连接到 GATT 服务器。...写入蓝牙指令 官方文档示例中没有给出特征写入的示例,这里我们自己实现。...想对蓝牙进行写入操作,当然需要先找到蓝牙设备的服务id和特征值id才行。...一个BLE设备如果有通知的属性,那么他一定会有描述符,打开或者关闭通知都需要通过描述符写入指令来控制,所有对特征值的操作然后通过WriteValueAsync->PlatformWriteValue来实现...、写入数据、打开通知监听,最后还剩一个就是监听特征值的变化,为某个特征启用通知后,如果远程设备上的特征发生更改(我们收到消息),则会触发 onCharacteristicChanged() 回调: JAVA

2.1K20

Btlejack:操作低功耗蓝牙设备的百宝工具箱

使用 Btlejack可以: 使用各种设备 嗅探现有的BLE连接 嗅探新的BLE连接 干扰现有的BLE连接 劫持现有的BLE连接 捕获的数据包导出为各种PCAP格式 指定要使用的设备 Btlejack...- write:数据写入特定值句柄- read:从特定值句柄读取数据- ll:发送原始链路层数据包(用于ninjas) discover 命令 discover命令发送和接收蓝牙LE数据包,并检索所有服务...UUID和参数,以及特征UUID和参数: btlejack> discover start: 0001 end: 0005start: 0014 end: 001a start: 0028 end:...| properties: write indicate (28) \ value handle: 002a read 命令 read命令接受单个参数,即与要从中读取的特征对应的值句柄: btlejack...PCAP 文件导出 Btlejack的一个有趣特性是可以捕获的数据导出到PCAP文件。

1.5K50

Android BlueToothBLE入门(一)——低功耗蓝牙介绍

没有此权限,扫描无法返回任何结果。而在Android 10 需要你开启gps,否则蓝牙不可用。...关于UUID UUID 即为“Universally Unique Identifier”用于标识蓝牙服务以及通讯特征访问属性,不同的蓝牙服务和属性使用不同的访问方法。...总共128位 为了进一步简化基本UUID,每一个蓝牙技术联盟定义的属性有一个唯一的16位UUID,以代替上面的基本UUID的‘x’部分。...,getuuid获取服务UUID‍ 7 BluetoothGattCharacteristic 特征,核心类,通过修改Characteristic特征进行设备间的数据传输‍ 8 BluetoothGattDescriptor...描述符,核心类,同上 一个Gatt包含多个服务;一个服务包含多个特征;一个特征包含多个描述符; 一个描述符对应一个特征;一个特征对应一个服务;一个服务对应一个Gatt 后记 Android BLE

61440

Android 蓝牙开发(2)——低功耗蓝牙

ATT 经过优化,可在 BLE 设备上使用。为此,它使用了尽可能少的字节。每个属性由通用唯一标识符(UUID)来唯一标识。...ATT 传输的属性被格式化为 特征 和 服务 特征 特征包含单个值和描述特征值的 0 ~ n 个描述符。特征值可以被称为类型。类似于类。...(是在和 BLE 设备进行通信的时候主要的操作内容) 描述符 是用来定义特征值的已定义属性。用来描述特征值的。...具体的数据解析格式是根据配置文件规范执行的(是你和你的BLE 设备共同约定好的规范) 大体的过程中:开启连接,然后会触发对应的连接回调,然后发现服务,触发发现服务回调,获取服务内部的特征值,对其读写命令...读 BLE 属性 一旦我们的 Android 设备连接到了 GATT 服务器并发现了服务,我们就可以在支持的位置读取或者写入属性了。

2.2K10

Android Ble蓝牙App(四)UI优化和描述符

,当设备的蓝牙服务和特性不属于SIG定义的,是厂商自定义时,我们最好就显示完成的UUID,为了方便使用,在ble包下新建一个BleConstant类,代码如下所示: object BleConstant...① 概念 在蓝牙低功耗(BLE)中,Descriptor(描述符)是用于提供有关特征值的额外信息的数据结构。Descriptor 提供了特定特征的更详细描述和配置选项。...Descriptor 是特征(Characteristics)的子项,用于描述特征的特定属性或行为。每个特征可以有一个或多个 Descriptor。...以下是一些常见的 BLE Descriptor 类型及其含义: 声明 Descriptor:这个 Descriptor 用于描述特征的声明信息,包括特征的唯一标识符、权限、值的格式和其他标志。...这个描述可以是特征的名称、标签或其他有关特征的说明性文字。 配置 Descriptor:用于描述特征的配置选项。

23430

R-Plan 手把手教你开发BLE微信小程序

背景 最近在测试BLE模块,本来想用别家的产品来测试我的BLE模块,经过一番询问,别家的BLE的MASTER模式只能配对自家的SLAVE模式。也就是说他不能配对我的BLE模块,这就让我郁闷了。绝望。...之前我也写过一篇文章《Android BLE 开发》--初学者,这个安卓原生APP,对于一个没有任何安卓基础的我,花了3天的时间干了这个四不像的BLE安卓调试工具。...嘻嘻嘻 这个小程序纳入我的R-Plan开源项目。github链接:https://github.com/RiceChen/R_Plan.git。功能会不断完善。...) return } } } }) }, 遍历服务中的特征值,特征包括:read,write,notify。...并且只有只有可写特征的设备才有写数据按钮。发送数据代码。

1.2K30

APP与硬件交互-蓝牙连接测试

蓝牙4.0 BLE (Bluetooth low energy) :它的优点在于传输快,耗电低,但传输数据有限,虽然这个传输字节大小硬件工程师可调,但也不会太大。 3....一个 peripheral可以提供多种 服务Service,一种Service 又可以包含多个不同的 特征Characteristic。特征就是具体键值对,提供数据的地方。...外设peripheral、服务Service、特征characteristic之间的关系: ? 7. UUID:蓝牙上的唯一标示符,为了区分不同服务和特征,就用UUID来表示。 2....;从外围设备读取数据;向外围设备发送(写入)数据等操作。...APP连接蓝牙设备的测试关注点 介绍了蓝牙的基础知识、APP连接蓝牙设备的开发实现,接下来介绍APP连接蓝牙设备这一过程测试中需要关注的测试点(由于每种蓝牙设备连接需求不同,开发实现上也会有细小差别

5.2K11
领券