Bluetooth LE(低功耗蓝牙) - 第一部分

前言

在写这篇文章的时候,谷歌刚刚发布了Android Wear ,摩托罗拉也发布了 Moto 360 智能手表。Android Wear的API还是相当基本的,是很好的文档材料,而且还会不断的更新,所以我不打算写一个关于他们的教程(至少现在还没有)。有趣的是 Moto 360 支持 Android 4.3及之后的版本。这明显是Bluetooth LE只有在Android 4.3及以后才被支持的原因,这也意味着 Moto 360 支持Bluetooth LE。Bluetooth LE 将不仅是可穿戴技术的核心技术,而且也是许多物联网设备的核心技术。在这个系列博客中我们将了解 Bluetooth LE 在 Android 上的使用。

Bluetooth 与 Bluetooth LE简介

蓝牙自20世纪90年中后期就已经出现,并已成为短距离设备的对等网络的标准。一个缺点是它需要消耗一点电量,这在移动设备上是一 个问题,而且在电池更小的可穿戴设备中需要消耗更多电。另一个缺点是两个蓝牙设备必须配对才可以相互通信。虽然配对过程只需要执行一次,但对用户来说这是一个痛苦的经历。

Bluetooth Low Energy(低功耗蓝牙),缩写为Bluetooth LE,或BLE,作为蓝牙4.0 (有时称为蓝牙智能)规范的一部分,并针对上述的这些具体问题而被引入。就提高电池寿命而言,许多制造商声称一些传感器能维持数月甚至数年的时间(我必须承认我有点怀疑制造商的估计一般是基于最好的情况下,而不涉及实际的使用情况)。正如前面已经提到的,谷歌在Android 4.3(API 18)中加入了对BLE的支持。

Bluetooth 与 Bluetooth LE 的区别

对于那些已经熟悉蓝牙开发的童鞋来说,BLE提供了一个诸如学习曲线的玩意,因为它是一个非常不同的野兽(译者注:这句不知道该怎么翻译啦,求各位帮忙看看, 原文是: BLE presents something of a learning curve because it is a rather different beast ),所以让我们大致地看下他们的主要区别。

第一个主要区别是在配对过程。传统的蓝牙开发,配对两个设配主要是用户的任务,但使用BLE,配对的任务更多的在于开发商。这是一件好事,因为从用户的角度来说整个配对过程变得更直接了当。

另一个主要的区别是通信本身。传统的蓝牙开发通信方式有许多选择,从根本上说都是基于和标准的Sockets非常相似的Sockets架构。本质上我们的数据通过Sockets传递,并且它是两个设备知道数据流格式的一种实例。BLE则采用不同的方法,它以属性为中心进行数据通信。在两个设备之间共享的属性本质上是一个原子数据(整数或字符串)。属性可用于表示数据或控制传感器的行为。例如,在一个心率监测仪中一个属性可能包含了当前的心率值(数据)以及另一个可能包含心率值更新频率的设置(行为)。

关于本系列文章

在进一步了解之前,我们有必要定义一些角色。通常我们将传感器(心率监视器,温度传感器,等)连接到一个主机(智能手机,平板电脑,等)。在我们的例子中,主机从一个属性中读数据的同时可以通过写入一个新值到另一个属性中以控制传感器的行为。其实控制传感器行为的情况会更多一点,因为主机也可以注册监听一个属性的改变,这个我们将在适当的时候再去讨论。

在本系列的文章中我将使用的设备是  Texas Instruments SensorTag   它是一个具有BLE功能的多传感器开发套件。价格很便宜,在£20(25美元)之内。同时还有环境温度,红外温度,相对湿度,气压计,磁力计,加速度计,陀螺仪和手动开关等设备–所有这些都可以通过BLE访问。在这个系列博客中我们将开发一个应用程序,显示从SensorTag中获得的环境温度和湿度值。

非常抱歉在这篇文章中没有代码,因为我觉得在深究BLE之前了解一点背景知识很重要。不过在下一篇文章肯定会给出一些代码 -- 我保证!

时间: 2024-10-31 22:16:56

Bluetooth LE(低功耗蓝牙) - 第一部分的相关文章

Bluetooth LE(低功耗蓝牙) - 第二部分

回顾 在前面的文章中我们介绍了Bluetooth LE的背景也说明了我们在本系列文章中将要开发什么,但是还没有实际的代码.我们将在这篇文章中纠正这一点,我们将通过定义 Service/Activity 架构来确保蓝牙操作从UI中解耦. Service 与 Activity 通信 在我们继续之前,我应该指出的是,我们不打算在这篇文章中去探究BLE的细节.起初,我们打算建立一个Activity并绑定Service,它将使我们能够把所有的蓝牙操作从UI中解耦,同时让我们从BLE接收到数据后更新UI.

Bluetooth LE(低功耗蓝牙) - 第三部分

回顾 在本系列的前两篇文章中,我们已经了解了一些关于Bluetooth LE的背景并建立一个简单的Activity / Service框架.   在这篇文章中,我们将探讨Bluetooth LE的细节以及蓝牙设备查找的一些问题. 扫描并发现蓝牙设备 蓝牙设备的发现是十分简单的,它是一个在蓝牙可见范围内查找设备的过程.首先我们要做的就是在Manifest中添加必要的权限,否则我们将在一开始就碰壁.我们需要的权限是android.permission.BLUETOOTH(一般蓝牙使用)和androi

Bluetooth LE(低功耗蓝牙) - 第四部分

回顾 在本系列前几篇文章中我们完成了BLE设备的发现 , 为我们的app通过BLE显示从TI SensorTag设备中获取到环境温度和湿度的工作打下了基础.在这篇文章中我们将着眼于连接到我们所发现的SensorTag设备. 与BLE设备建立连接 每一个熟悉传统蓝牙的开发者都将注意到蓝牙配置信息.对于那些蓝牙开发的新手来说,配置文件是一个用于规范行为的准则.例如, Advanced Audio Distribution Profile   (A2DP 高级音频分发配置[我怎么感觉翻译成"协议&qu

Bluetooth LE(低功耗蓝牙) - 第五部分

回顾: 在本系列前面的文章中我们完成了发现BLE传感器并与之建立连接.现在只剩下从其中获取数据了,但是这并没有看起来那么简单.在这篇文章中我们将讨论GATT的特点以及如何促进主机与传感器之间的数据交换. GATT服务器的结构: 在前面的文章看我们了解了传感器包含GATT服务器,我们也已经与GATT建立连接.GATT服务器包含一个或多个GATT服务,不同的GATT服务代表了可以进行交换的不同类型的数据.例如,在SensorTag中有不同的GATT服务分别代表着SensorTag中不同的传感器组件(

Bluetooth LE(低功耗蓝牙) - 第六部分(完)

在本系列前面的文章中我们已经了解了,在我们从一个TI SensorTag中获取温度和湿度数据之前,我们需要经历的各种步骤.在本系列中的最后一篇文章,我们将完成注册并接收SensorTag的通知,并接收温度和湿度数据. 接收数据: 现在,本地的代理组件知道了传感器所提供的服务,我们可以开始使用这些服务了.为了使用它们,我们首先需要获得服务,然后是该服务所包含的特征,最后是特征的描述符. 一个GATT服务表现为一个 BluetoothGattService 对象,我们需要通过适当的UUID从 Blu

Bluetooth Low Energy——蓝牙低功耗

Android4.3(API级别18)引入内置平台支持BLE的central角色,同时提供API和app应用程序用来发现设备,查询服务,和读/写characteristics.与传统蓝牙(ClassicBluetooth)不同,蓝牙低功耗(BLE)的目的是提供更显著的低功耗.这使得Android应用程序可以和具有低功耗的要求BLE设备,如接近传感器,心脏速率监视器,健身设备等进行通信. 关键术语和概念 下面是关键BLE术语和概念的总结: 通用属性规范(GATT)—GATTprofile是一个通用

Bluetooth Low Energy(低功耗蓝牙)-For蓝牙4.x

此文翻译至Android API里的Bluetooth Low Energy,希望对大家有所帮助.谢谢. Android4.3(API版本18)介绍了内置平台支持BLE的中心角色,并且提供了相关API,高大尚的程序员们可以使用这些API来扫描设备.查询服务(指服务端进程).读写特性值(指特定的字符).与经典蓝牙不同的是,BLE的设计是为了提供显著的低功耗支持.这使得Android应用可以仅需很低的功耗与BLE设备进行通信,心跳频率(不是人的心跳,是指发送心跳包检测设备是否还在),监听适配设备等等

【Android应用开发】Android 蓝牙低功耗 (BLE) ( 第一篇 . 概述 . 蓝牙低功耗文档 翻译)

转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/50515359 参考 :  -- 官方文档 : https://developer.android.com/guide/topics/connectivity/bluetooth-le.html; 1. 概述 BLE 概述 : -- 版本支持 : Android 4.3 (API Level 18) 内置框架引入了 蓝牙低功耗方案 (Bluetooth Low Energy,

Android Bluetooth Low Energy(Android低功耗蓝牙)

Android 4.3(API Level 18)开始引入Bluetooth Low Energy(BLE,低功耗蓝牙)的核心功能并提供了相应的API,应用程序通过这些api可以扫描设备.查询services,读写设备的characteristics(属性特征).对比传统的蓝牙,BLE的设计能够显著减低功耗.这让Android应用程序与BLE设备之间的低功耗通讯成为可能,例如距离传感器.心率监视器.健身设备等等. 1.关键术语和概念 1.1 下面是一些BLE关键术语和概念的摘要: * Gener