BLE

1、BT4.0

蓝牙4.0标准包含两个蓝牙标准,准确的说,是一个双模的标准,它包含传统蓝牙部分(也有称之为经典蓝牙Classic Bluetooth)和低功耗蓝牙部分BLE(Bluetooth Low Energy)。蓝牙4.0芯片存在单模和双模;

2、GAP、GATT

GAP(Generic Access Profile),它在用来控制设备连接和广播。GAP 使你的设备被其他设备可见,并决定了你的设备是否可以或者怎样与合同设备进行交互。例如 Beacon 设备就只是向外广播,不支持连接,小米手环就等设备就可以与中心设备连接。GAP 给设备定义了若干角色,其中主要的两个是:外围设备(Peripheral)(这一般就是非常小或者简单的低功耗设备,用来提供数据,并连接到一个更加相对强大的中心设备。例如小米手环)和中心设备(Central)(中心设备相对比较强大,用来连接其他外围设备。例如手机等。)

GATT  (Generic Attribute Profile) 是一个在蓝牙连接之上的发送和接收很短的数据段的通用规范,这些很短的数据段被称为属性(Attribute)。它定义两个 BLE 设备通过叫做 Service 和 Characteristic 的东西进行通信。GATT 就是使用了 ATT(Attribute Protocol)协议,ATT 协议把 Service, Characteristic遗迹对应的数据保存在一个查找表中,次查找表使用 16 bit ID 作为每一项的索引。

一旦两个设备建立起了连接,GATT 就开始起作用了,这也意味着,你必需完成前面的 GAP 协议。这里需要说明的是,GATT 连接,必需先经过 GAP 协议。实际上,我们在开发中,可以直接使用设备的 MAC 地址,发起连接,可以不经过扫描的步骤。这并不意味不需要经过 GAP,实际上在芯片级别已经给你做好了,蓝牙芯片发起连接,总是先扫描设备,扫描到了才会发起连接。GATT 连接需要特别注意的是:GATT 连接是独占的。也就是一个 BLE 外设同时只能被一个中心设备连接。一旦外设被连接,它就会马上停止广播,这样它就对其他设备不可见了。当设备断开,它又开始广播。中心设备和外设需要双向通信的话,唯一的方式就是建立 GATT 连接。

Service服务 和 Characteristic 特征值(包括一个单一的变量和N个用来描述Characteristic变量的descriptor,Descriptor 用来描述Characteristic变量的属性)均需要通过一个UUID来识别。UUID为128,但是在BLE中,UUID通常用16位,也就是两个字节来替代。16位UUID和128位UUID可以相互转换.蓝牙联盟已经定义了常用的蓝牙服务UUID,如要自己定义(指16位的uuid,128位的uuid号可以自己随便定义,随便改。),可以向蓝牙联盟申请。

3、BLE手机应用开发

Android 从 4.3(API Level 18) 开始支持低功耗蓝牙,但是只支持作为中心设备(Central)模式,这就意味着 Android 设备只能主动扫描和链接其他外围设备(Peripheral)。从 Android 5.0(API Level 21) 开始两种模式都支持。

苹果在IOS 6系统之后开始支持BLE 4.0,iPhone4s,iPod 5,iPad 3等之后的机型开始内嵌BLE4.0硬件,并且苹果在BLE4.0之后,对外部的连接设备已经不在需要MFI认证;

BLE开发流程:

a、检测蓝牙状态,扫描设备;

b、连接设备,寻找服务Service;

c、在服务Service里寻找特征值Characteristic;

d、根据服务和特征值进行数据收发、添加通知处理等;(发送数据时都是 20 字节一个包)

4、虚拟蓝牙设备

Android 5.0和IOS都支持外围设备(Peripheral)模式,这样在手机中实现虚拟蓝牙设备。比如终端设备中可以把内置打印机虚拟成蓝牙打印机设备;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 前言: 本文主要描述Android BLE的一些基础知识及相关操作流程,不牵扯具体的业务实现,其中提供了针对广播包...
    幻影宇寰阅读 5,583评论 6 19
  • 蓝牙 蓝牙的波段为2400-2483.5MHz(包括防护频带)。这是全球范围内无需取得执照(但定不是无管制的)的工...
    苏永茂阅读 6,581评论 0 11
  • Key Terms And Concepts 关键术语和概念 Here is a summary of key B...
    Jaesoon阅读 2,563评论 0 5
  • 背景 蓝牙历史说到蓝牙,就不得不说下蓝牙技术联盟(Bluetooth SIG),它负责蓝牙规范制定和推广的国际组织...
    徐正峰阅读 13,027评论 6 33
  • 安卓4.3(API 18)为BLE的核心功能提供平台支持和API,App可以利用它来发现设备、查询服务和读写特性。...
    风雨byt阅读 14,191评论 3 43

友情链接更多精彩内容