Android蓝牙开发系列文章-玩转BLE开发(一)

Jcinta ·
更新时间:2024-09-21
· 990 次阅读

我们在《Android蓝牙开发系列文章-策划篇》中计划讲解一下蓝牙BLE,现在开始第一篇:Android蓝牙开发系列文章-玩转BLE开发(一)。计划要写的BLE文章至少分四篇,其他三篇分别讲解:BLE Server端编码(用手机模拟外围设备),BLE Beacon功能,BLE设备通信(利用自有协议实现Client和Server端通信,在Server端信息改变时,自动上报给Client)。

本文主要内容:编码实现BLE Client端,实现手机与蓝牙体重秤之间的通信

所用的设备:华为荣耀7手机,微信小程序,乐心体重秤

目录

1.基本概念

2.先来认识一下我们的设备

3、认识BLE Client编码

3.1 扫描BLE设备

3.2 建立GATT连接

3.3 解析设备支持的characteristic

3.4 读取characteristic值

3.5 写characteristic值

3.6 设置indication

4、总结

1.基本概念

在这里先讲解一下BLE(Bluetooth Low Energy)的一些简单概念。

本文会涉及一个概念叫“GATT连接”,那我们先说一下什么是GATT,GATT(GenericAttribute Profile)译为通用属性配置文件。GATT连接利用的是在外设(体重秤)与中心设备(手机)之间建议一种联系,这种联系利用的是双方之间都能够识别(或者说提前约定好)的协议。这种协议的基础就是GATT。

GATT由service、characteristic、descriptor元素组成。service是一个功能单元的集合,这个集合有SIG标准的,也可以自己定义的。一个service可以包含一个或者多个characteristic,每个characteristic包含一个value和一个或者多个descriptor。descriptor是对characteristic的描述,例如是否支持读取等。

我们说的利用GATT通信就是对characteristic的读、写、或者characteristic的值发生改变时的自动上报(方向为:从蓝牙体重秤到手机)。

一个BLE设备往往支持多个service,即多个功能集合。例如,现在智能电视遥控器也许会支持蓝牙电量的service、蜂鸣的service以及一些自定义的service。

按照我个人的理解,画了一个BLE设备的GATT的结构如下,仅供大家参考。


作者:马小橙



ble android蓝牙开发 Android

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章