在本系列前面的文章中我们已经了解了,在我们从一个TI SensorTag中获取温度和湿度数据之前,我们需要经历的各种步骤.在本系列中的最后一篇文章,我们将完成注册并接收SensorTag的通知,并接收温度和湿度数据. 接收数据: 现在,本地的代理组件知道了传感器所提供的服务,我们可以开始使用这些服务了.为了使用它们,我们首先需要获得服务,然后是该服务所包含的特征,最后是特征的描述符. 一个GATT服务表现为一个 BluetoothGattService 对象,我们需要通过适当的UUID从 Blu…
前言 在写这篇文章的时候,谷歌刚刚发布了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的背景并建立一个简单的Activity / Service框架.   在这篇文章中,我们将探讨Bluetooth LE的细节以及蓝牙设备查找的一些问题. 扫描并发现蓝牙设备 蓝牙设备的发现是十分简单的,它是一个在蓝牙可见范围内查找设备的过程.首先我们要做的就是在Manifest中添加必要的权限,否则我们将在一开始就碰壁.我们需要的权限是android.permission.BLUETOOTH(一般蓝牙使用)和androi…
回顾 在前面的文章中我们介绍了Bluetooth LE的背景也说明了我们在本系列文章中将要开发什么,但是还没有实际的代码.我们将在这篇文章中纠正这一点,我们将通过定义 Service/Activity 架构来确保蓝牙操作从UI中解耦. Service 与 Activity 通信 在我们继续之前,我应该指出的是,我们不打算在这篇文章中去探究BLE的细节.起初,我们打算建立一个Activity并绑定Service,它将使我们能够把所有的蓝牙操作从UI中解耦,同时让我们从BLE接收到数据后更新UI.…
回顾 在本系列前几篇文章中我们完成了BLE设备的发现 , 为我们的app通过BLE显示从TI SensorTag设备中获取到环境温度和湿度的工作打下了基础.在这篇文章中我们将着眼于连接到我们所发现的SensorTag设备. 与BLE设备建立连接 每一个熟悉传统蓝牙的开发者都将注意到蓝牙配置信息.对于那些蓝牙开发的新手来说,配置文件是一个用于规范行为的准则.例如, Advanced Audio Distribution Profile   (A2DP 高级音频分发配置[我怎么感觉翻译成"协议&qu…
回顾: 在本系列前面的文章中我们完成了发现BLE传感器并与之建立连接.现在只剩下从其中获取数据了,但是这并没有看起来那么简单.在这篇文章中我们将讨论GATT的特点以及如何促进主机与传感器之间的数据交换. GATT服务器的结构: 在前面的文章看我们了解了传感器包含GATT服务器,我们也已经与GATT建立连接.GATT服务器包含一个或多个GATT服务,不同的GATT服务代表了可以进行交换的不同类型的数据.例如,在SensorTag中有不同的GATT服务分别代表着SensorTag中不同的传感器组件(…
Android4.3(API级别18)引入内置平台支持BLE的central角色,同时提供API和app应用程序用来发现设备,查询服务,和读/写characteristics.与传统蓝牙(ClassicBluetooth)不同,蓝牙低功耗(BLE)的目的是提供更显著的低功耗.这使得Android应用程序可以和具有低功耗的要求BLE设备,如接近传感器,心脏速率监视器,健身设备等进行通信. 关键术语和概念 下面是关键BLE术语和概念的总结: 通用属性规范(GATT)—GATTprofile是一个通用…
利用近距离无线通信技术将手机及可穿戴式传感器终端等与智能电话连接起来,实现新的功能.最近,以此为目标的行动正在展开.其中备受关注的近距离无线方式是“ANT”和“Bluetooth LE”.为了在各种便携终端上采用这些技术,手机.手表及保健电子产品的厂商开始加快行动. “终于要迎来能够用纽扣电池驱动的低耗电无线技术了.这样便可拿来配备到我们的手表上,实现与智能电话的连接功能.‘GSHOCK’及‘OCEANUS’等经典产品也不例外.力争在数年内,使之像现在的电波手表功能一样实现普及”(卡西欧计算机羽…
1.简介 以下蓝牙协议特指低功耗蓝牙协议. 蓝牙协议是由SIG制定并维护的通信协议,蓝牙协议栈是蓝牙协议的具体实现. 各厂商都根据蓝牙协议实现了自己的一套函数库——蓝牙协议栈,所以不同厂商的蓝牙协议栈之间存在差别,但都遵循SIG制定的蓝牙协议. 蓝牙技术的实质是建立通用无线接口及其控制软件的标准,使移动通信与计算机网络之间能实现无缝连接.蓝牙通讯最初设计初衷是方便移动电话(手机)与配件之间进行低成本.低功耗无线通信连接.通俗地说,蓝牙最初就是为了替代串口,实现无线串口的功能. 蓝牙4.1就是一个…
背景 在学习BLE的过程中,积累了一些心得的DEMO,放到Github,形成本文.感兴趣的同学可以下载到源代码. github: https://github.com/vir56k/bluetoothDemo 什么是BLE(低功耗蓝牙) BLE(Bluetooth Low Energy,低功耗蓝牙)是对传统蓝牙BR/EDR技术的补充. 尽管BLE和传统蓝牙都称之为蓝牙标准,且共享射频,但是,BLE是一个完全不一样的技术. BLE不具备和传统蓝牙BR/EDR的兼容性.它是专为小数据率.离散传输的应…