Android蓝牙BLE开发(一)——初识低功耗蓝牙BLE

简介

BLE的全称叫做 Bluetooth Low Energy,也称之为低功耗蓝牙,属于蓝牙技术中的一种。与之对应的是 Classic Bluetooth,经典蓝牙。当然,经典蓝牙是最先推出来的,后面才有了 LE 的版本。在兼容性上,LE 的蓝牙不兼容 Classic 的版本,可以理解成为独立的一种蓝牙形态。旨在针对低功耗的领域进行的一种无线数据传送的解决方案。
它的特点有低成本、短距离、可互操作。
通过GATT协议来进行BLE设备之间的通信。

关键概念

中心与外设角色: 在BLE开发当中,存在两个角色,一个是中心角色(CENTRAL),一个是外设角色(PERIPHERAL)。在Andriod的开发中,我们可以简单的认为中央即安卓手机,外设即BLE模块。一个没有被链接的外设角色,会向外界发出广播,这个时候可以被多个中心角色发现,一旦外设角色被某个中心角色链接后,外设角色就会停止广播,其他中心角色就无法在链接到这个外设角色。中心角色可以扫描外设角色,可以监听接收广播或主动链接,一个中心角色可以与多个外设同时链接。

协议,服务与特征: 外设角色的作用是为中心角色提供各种数据,中心角色可以扫描并接收多个外设角色数据,数据以服务(SERVICE)和特征(CHARACTERISTIC)的形式呈现。一份协议由一个或多个服务构成,一个服务由零个或多个特征构成,一个特征可以包含一组或多组值,可以包含零个或多个描述符。我们可以把服务当成一个盒子,特征当成盒子里面的物品,一个盒子可以装有多个物品,或为空。我们要获取其中的物品,首先要通过协议获取对应的盒子,再从盒子中取出我们需要的物品。每一个服务与特征都有一个UUID作为唯一识别符,识别符有通用的,也可以自定义,也可以随机生成,固定格式00000000-0000-0000-0000-000000000000(8-4-4-4-12),一般来说自定义的UUID只有前8位有变化,后面的基本是固定的-0000-1000-8000-00805f9b34fb,所以一个自定义的UUID一般看起来就像这样 “0000****-0000-1000-8000-00805f9b34fb” ****就表示4个16进制数。每一个特征都有其属性和权限(READ | WRITE | NOTIFY | INDICATE),特征根据属性可读可写。
Android蓝牙BLE开发(一)——初识低功耗蓝牙BLE_第1张图片

适配器,扫描器,设备: 每一台支持蓝牙的手机中都会有一个蓝牙适配器,由蓝牙管理器管理着,从其中获得蓝牙适配器。适配器中自带扫描器,使用扫描器可以扫描周边的蓝牙设备。

手机的BLE默认有2个服务
(1)Service 通用属性规范 00001801-0000-1000-8000-00805f9b34fb (null)
a)Characteristic 服务改变 00002a05-0000-1000-8000-00805f9b34fb
(2)Service 通用接入规范 00001800-0000-1000-8000-00805f9b34fb
a)Characteristic 设备名称 00002a00-0000-1000-8000-00805f9b34fb
b)Characteristic 设备外观 00002a01-0000-1000-8000-00805f9b34fb (00 00)

你可能感兴趣的:(Android)