低功耗蓝牙的基础

来源:互联网 发布:鳄鱼毒品知乎 编辑:程序博客网 时间:2024/05/01 19:45

本文译至:http://blog.fenrir-inc.com/jp/2013/09/bluetooth-le-firststep.html

翻译说明:因为该连载主要是关于设备上应用开发的,这个不是很感兴趣,所以仅仅翻译了最开始的这部分。


您好,我是共同开发部的开发负责人伊藤。

我们公司的共同开发部门和其他许多公司一样,在iOS,安卓,Windows手机和Windows 8等多种平台上开发出各种各样的应用程序。
到目前为止,我们已经在开发人员的博客介绍相关的技术,这周开始我们想向大家集中介绍低功耗蓝牙技术。
最近支持低功耗蓝牙的设备越来越多,最早只有iOS可以使用,现在Android 4.3,甚至是Windows 8.1也逐渐可以使用,所以变得越来越热门。所以相关的介绍应该可以对大家有所帮助。

  • 第1回 低功耗蓝牙基础
  • 第2回 iOS设备上使用Bluetooth LE设备
  • 第3回 把iOS设备作为Bluetooth LE设备
  • 第4回 在Windows 8.1 Windows 应用商店上使用 BLE

关于低功耗蓝牙

 Bluetooth Low Energy (也被称为Bluetooth 4.0、BLE、BTLE),下面记作BLE,是使用2.4GHz的无线短距离无线通信标准。 迄今为止,虽然高速蓝牙已经实现,但BLE在通讯速度上比较普通,主要强调一个纽扣电池能够工作几年的这种省电性能。

设备端和主机端使用GATT(Generic ATTribute) profile进行通信。 如果你听到GATT这个名词,就可以将其想成使用BLE,这没什么问题。

由于与传统蓝牙不兼容,在主机端,和蓝牙3.0合并做为双模,实现成两者都可以使用的情况比较多。PC机和智能手机上,使用双模的被称作「Bluetooth Smart Ready」,只支持低功耗蓝牙的被表示成「Bluetooth Smart」。

顺便说一句,最早诺基亚在2006年制定了名为Wibree的技术标准,但它已在2010年被标准化为蓝牙4.0。

GATT profile


GATT已经成为BLE的通信的通信规定,设备中存在多个“服务”,“服务”中还存在多个“characteristic”。

实际的数据交换,通过读取和写入“characteristic”进行。 对使用面向对象程序设计的人来说,这可以很容易理解成“服务”是类,“characteristic”视为属性。


每个characteristic的值可以在不加密的状态下读写,但配对的操作是加密的。 还有当characteristic的值已改变时,可接收通知(notify)。

除了那些蓝牙技术联盟定义为标准的服务和characteristic之外,设备的开发者也可以自己定义。

一些必要的服务组合成所谓的“profile”。(特别是在需要和传统蓝牙区别开的情况下的情况下,称为基于GATT的profile)蓝牙技术联盟也定义了标准的profile,例如,对应于鼠标键盘“HID over GATT“ profile,是定义成包括「Human Interface Device」「Device Information」「Battery Service」「Scan Parameters(可选)」这些服务的。

服务和characteristic是通过UUID来进行识别的。UUID是32位的,但那些被蓝牙技术联盟的标准中定义的UUID是以四个数字来表示的。实际上,四位数的UUID,是有附加 Bluetooth Base UUID,即变成0000●●●●-0000-1000-8000-00805f9b34fb(4位UUID被输入在●的位置)。如果你想定义自己的非标准UUID,可以使用如Mac的uuidgen命令生成。

0 0