Android中的BLE

本文介绍了Android中的Bluetooth Low Energy(BLE)技术,重点讲解了BLE的省电特性、GATT和ATT协议。GATT包括了基于ATT的Service和Characteristic,而Descriptor则提供了对属性值的解释。在Android中,操作BLE设备涉及扫描、连接、读写数据等步骤,建议在Service中处理耗时操作,并通过广播传递结果。开发者需要根据文档中提供的UUID来确定要操作的属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

BLE是Bluetooth Low Energy的简写,是蓝牙连接传输数据技术的一种,顾名思义,和普通的蓝牙技术相比它的最大优点就是省电,这是如何做到的呢,这就是我们下面会介绍的BLE使用的GATT和ATT协议,既然它的特点是省电,这也就决定了这种技术不适用于传输数据量大、对传输速率和实时性要求高的应用,不过针对像心率监测、设备防丢这样的场景就很适合了。

  • GATT/ATT协议
    Generic Attribute Profile (GATT):这就是BLE使用的协议,它是在ATT的基础上增加了一份清单(Profile),这上面写了很多Service来表示设备支持什么功能
    Attribute Protocol (ATT):,说白了就是属性的读写,也可以理解为有固定的键值的map,那么这个协议都有哪些对我们暴露出的组成部分呢?
    Characteristic: 相当于一个扩展的键值对,包含了128位UUID的键值、属性值和一系列描述,描述又是什么呢
    Descriptor:描述就是对某个属性值的我们可读的解释,通过它我们就能知道当某个属性被设置成对应的值的时候会如何如何,再简单点说就是告诉我们某个属性的特定值代表什么意思,从这里就能知道如何操作属性来实现开发者的功能
    Service:Characteristic集合,可以说它就可以对应一个独立的功能,比如心率监测
    一张图理解这个协议的组成:
    这里写图片描述

  • Android中如何操作
    先看一张流程图:
    这里写图片描述

我们所要做的一般也就是这几种操作:扫描设备,连接/断开设备,向设备发送数据,从设备接收数据,容错处理

首先声明权限:<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值