低功耗蓝牙(BLE)和传感器的使用

一、低功耗蓝牙的使用

Android中关于蓝牙的开发文档,可以参考Google提供的官方蓝牙文档:https://developer.android.google.cn/guide/topics/connectivity/bluetooth.html

在Android开发中,应用可通过官方提供的蓝牙API执行以下操作:

  • 扫描其他蓝牙设备
  • 查询本地蓝牙适配器的配对蓝牙设备
  • 建立 RFCOMM 通道
  • 通过服务发现连接到其他设备
  • 与其他设备进行双向数据传输
  • 管理多个连接

蓝牙

一个近距离无线通信技术,最早是由爱立信研发出来。蓝牙 Bluetooth 这个词是一个丹麦的国王的绰号,当时研发它的工程师正在看一个关于这个国王的书,就起了这个名字。蓝牙的技术特点是:

  • 近距离通信:典型距离是 10 米以内;
  • 传输效率:传输速度最高可达 24 Mbps
  • 多连接:蓝牙技术支持多设备连接、安全性高

蓝牙从被发明到目前,经过了几个版本的变化:

  • 1.0版本:99年发布
  • 2.1版本:使用范围最广泛,经典蓝牙
  • 3.0版本:高速蓝牙,最高传输速度达到24Mbps
  • 4.0/4.1版本:新增低功耗蓝牙
  • 5.0版本:物联网

低功耗蓝牙

低功耗蓝牙全称为Bluetooth Low Energy,简称为BLE,最大特点就是低功耗,另外低功耗蓝牙还具备成本低,连接速度快,安全性高的特点。当然,低功耗蓝牙也相应的会有一些不足,比如说:低功耗对应的是低传输效率,因此低功耗蓝牙主要用来传输少量数据,结合低功耗的特点,非常适合用在移动智能设备上。

低功耗蓝牙分为两种模式:单模和双模。

  • 单模:只能执行低功耗协议栈,即只支持BLE。
  • 双模:既支持传统蓝牙又支持BLE蓝牙。

注意:需要在Android 4.3及以上版本才能支持具备低功耗功能的蓝牙4.0。

BLE协议栈

首先来看一下使用蓝牙的基本流程:

先简单来了解一下低功耗蓝牙的协议框架,在BLE协议栈中,大致分为三个部分,从下到上依次为:控制器(Controller) 、主机(Host)、应用(Applications)。

  • 控制器:协议栈的最底层,直接与硬件相关,由厂商直接实现。
  • 主机:硬件层的抽象层,与具体的硬件和常见无关,可以理解为接口。
  • 应用层:使用Host层提供的API,进而开发的应用。

协议层从下往上,依次包含如下协议:

  • Attribute Protocol:简称为 ATT,属性协议,Host层的一个协议,是BLE通信的基础。ATT 把数据封装,向外暴露为“属性”,提供“属性”的为服务端,获取“属性”的为客户端。ATT 是专门为低功耗蓝牙设计的,结构非常简单,数据长度很短。每个属性都有一个唯一的UUID,属性以characteristics and services的形式传输。
  • Generic Attribute Profile:简称为GATT,通用属性配置文件,建立在前面说的 ATT 的基础上,对 ATT 进行进一步的逻辑封装,定义数据的交互方式和含义。GATT 按照层级定义了三个概念:
    • Service:服务,一个 Service 包含若干个 Characteristic。
    • Characteristic:特征,一个 Characteristic 可以包含若干 Descriptor。
    • Descriptor:
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值