Android蓝牙BLE总结

博主之前做一个运类软件,涉及到android设备连接蓝牙BLE传感器设备,读取运动数据。今天在这里做一个小总结,希望对大家起到抛砖引玉的作用。

1.keywords

  • BLE, bluetooth low energy 蓝牙低能耗,支持Android 4.0以上系统
BLE架构共有两种芯片构成:单模芯片 和 双模芯片。
1.单模芯片支持了Ble低功耗技术;双模芯片则支持传统的标准蓝牙。
2.单模芯片可以用单节钮扣电池(如3V、220mAh的CR2032)工作很长时间(几个月甚至几年);
  标准蓝牙技术通常要求至少两节AAA电池(电量是钮扣电池的10至12倍,但可以容忍高得多的峰值电流),并且更多情况下续航时间短至几天或几周。
  • GATT ,表示服务器属性和客户端属性,描述了属性服务器中使用的服务层次,特点和属性。BLE设备使用它作为蓝牙低功耗应用规范的服务发现。GATT配置文件是一个通用规范,用于在BLE链路上发送和接收被称为“属性”的数据块

  • Attribute Protocol(ATT), GATT在ATT协议基础上建立,也被称为GATT/ATT。ATT对在BLE设备上运行进行了优化,为此,它使用了尽可能少的字节。每个属性通过一个唯一的的统一标识符(UUID)来标识,每个String类型UUID使用128 bit标准格式。属性通过ATT被格式化为characteristics和services。

  • 角色
    Android设备与BLE设备交互时,有两种角色模式:

    • 中央设备 & 被扫描设备。
      适用于BLE连接本身( Android设备和ble设备都具备蓝牙模块 )。中央设备扫描,寻找广播;被扫描设备发出广播。

    • GATT服务端 & GATT客户端。
      决定了两个设备在建立连接后如何互相交流。

  • 角色分配
    当手机和运动传感器建立连接后,他们开始向另一方传输GATT数据。哪一方作为服务器取决于他们传输数据的种类。
    例如,如果运动传感器想向手机报告传感器数据,传感器是服务端。如果传感器更新来自手机的数据,手机会作为服务端。

2.蓝牙使用

  1. 清单文件中开启权限
    BLUETOOTH :蓝牙通信,例如请求连接、接受连接、和传输数据
    BLUETOOTH_ADMIN:启动设备发现或操纵蓝牙设置
#注意:如果你使用 BLUETOOTH_ADMIN 权限,你也必须声明 BLUETOOTH 权限。
  1. 确保设备开启蓝牙
  2. Android设备搜索蓝牙设备,加入设备集合
  3. 选择目标设备进行配对
  4. 程序读取传感器抓取的信息

这里仅是对ble的大致原理和使用进行总结,抛砖引玉之用,具体的细节还需要各位童鞋仔细研究。

    原文作者:InitialX
    原文地址: https://www.jianshu.com/p/661e34a001ed
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞