Android蓝牙BLE(一)--使用介绍

一、基本BLE概念介绍
蓝牙BLE,主要以中心设备和周边设备作为区分,分别对应BLE设备的主机、从机,其主要区别是,从机可以发起广播,而主机能扫描广播,并主机连接BLE蓝牙从机。目前在Android 平台上,主机API从4.3以上已经支持,而从机API需要5.0以上的系统才能使用。
二、BLE 协议介绍
Generic Attribute Profile (GATT)
通过BLE连接,读写属性类小数据的Profile通用规范。现在所有的BLE应用Profile都是基于GATT的,也就是说BLE传输所用到的Service和Characteristic等都是通过GATT来
统一管理的。
API中GATT分别对应两个类,分别是BluetoothGatt和BluetoothGattServer,分别对应中心设备和外围设备的相关操作。

Attribute Protocol (ATT)
GATT是基于ATTProtocol的。ATT针对BLE设备做了专门的优化,具体就是在传输过程中使用尽量少的数据。每个属性都有一个唯一的UUID,属性将以characteristics and services的形式传输。

Service
Characteristic的集合。例如一个service叫做“Heart Rate Monitor”,它可能包含多个Characteristics,其中可能包含一个叫做“heart ratemeasurement”的Characteristic。

Characteristic
Characteristic可以理解为一个数据类型,它包括一个value和0至多个对次value的描述(Descriptor)。

Descriptor
对Characteristic的描述,例如范围、计量单位等。

三、使用权限
和经典蓝牙一样,应用使用蓝牙,需要声明BLUETOOTH权限,如果需要扫描设备或者操作蓝牙设置,则还需要BLUETOOTH_ADMIN权限:

<uses-permissionandroid:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>

除了蓝牙权限外,如果需要BLE feature则还需要声明uses-feature:

<uses-featureandroid:name="android.hardware.bluetooth_le"android:required="true"/>

按时required为true时,则应用只能在支持BLE的Android设备上安装运行;required为false时,Android设备均可正常安装运行,需要在代码运行时判断设备是否支持BLE。

四、常用测试工具
Android 端:BLE Device Monitor
通过该工具可以实现中心端的扫描BLE设备,并实现收发数据。
IOS 端:LightBlue
扫描BLE设备,并查看相关支持的服务、收发数据 ,但外围BLE不能被连接时信号不佳时,则只能完成扫描功能。

参考目录:
官方介绍:http://android.xsoftlab.net/guide/topics/connectivity/bluetooth-le.html

发布了10 篇原创文章 · 获赞 0 · 访问量 9961

猜你喜欢

转载自blog.csdn.net/wsx1048/article/details/51638440