1. 介绍

Bluetooth low energy,也称BLE(低功耗蓝牙),在4.0规范中提出

BLE分为两种设备

- 单模(single-mode): Logo为「Bluetooth®Smart」
- 双模(dual-mode):   Logo为「Bluetooth®Smart Ready」

tip: 传统蓝牙的Logo为「Bluetooth®」

BLE与传统蓝牙的兼容性如下图所示

可以看出他们之间的通信规则如下(Bluetooth指代传统蓝牙,下同):

Smart Ready: Smart Ready、Bluetooth、Smart
Bluetooth:   Smart Ready、Bluetooth
Smart:       Smart Ready、Smart

2. 协议栈

BLE协议栈如下图所示

BLE协议栈由Controller和Host两部分组成 
Profile和Service基于GAP和GATT 
应用协议定义其使用的服务,说明是传感器端还是接收端 
定义GATT的角色(Server/Client)和GAP的角色(Peripheral/Central)

协议栈各层次介绍如下

PHY   - 1Mbps自适应跳频GFSK,运行在2.4GHz频段。 
LL    - RF控制器, 控制设备的链路状态 
HCI   - 为接口层, 向上为主机提供软件应用程序接口(API), 对外为外部硬件控制接口, 可以通过串口、SPI、USB来实现设备控制 
L2CAP - 为上层提供数据封装服务, 允许逻辑上的端到端数据通信 
SM    - 提供配对和密钥分发服务, 实现安全连接和数据交换 
GAP   - 直接与应用程序或配置文件(Profiles)通信的接口, 处理设备发现和连接相关服务. 另外还处理安全特性的初始化 
ATT   - 导出特定的数据(称为属性)到其他设备 
GATT  - 定义了使用ATT的服务框架和配置文件(Profiles)的结构. BLE中所有的数据通信都需要经过GATT

3. 实现方案

3.1 硬件实现方案

单芯片方案中,Controller和Host、Profile及应用都在同一芯片中 
网络控制器模式中,COntroller和Host运行在设备中,但是Profile和应用则在其他设备上,比如PC或者其他微控制器,可以通过UART、USB进行操作 
双芯片模式中,Controller运行在一个控制器,而Host、Profile和应用运行在另一个控制器上

3.2 软件实现方案

Bluedroid从4.3开始支持BLE

Bluetooth Low Energy介绍的更多相关文章

  1. Bluetooth Low Energy 介绍

    1.简介 BLE(Bluetooth Low Energy,低功耗蓝牙)是对传统蓝牙BR/EDR技术的补充.尽管BLE和传统蓝牙都称之为蓝牙标准,且共享射频,但是,BLE是一个完全不一样的技术.BLE ...

  2. Bluetooth Low Energy 嗅探

    Bluetooth Low Energy 嗅探 路人甲 · 2015/10/16 10:52 0x00 前言 如果你打开这篇文章时期望看到一些新的东西,那么很抱歉这篇文章不是你在找的那篇文章.因为严格 ...

  3. Overview and Evaluation of Bluetooth Low Energy: An Emerging Low-Power Wireless Technology

    转自:http://www.mdpi.com/1424-8220/12/9/11734/htm Sensors 2012, 12(9), 11734-11753; doi:10.3390/s12091 ...

  4. Android使用BLE(低功耗蓝牙,Bluetooth Low Energy)

    背景 在学习BLE的过程中,积累了一些心得的DEMO,放到Github,形成本文.感兴趣的同学可以下载到源代码. github: https://github.com/vir56k/bluetooth ...

  5. How to Implement Bluetooth Low Energy (BLE) in Ice Cream Sandwich

    ShareThis - By Vikas Verma Bluetooth low energy (BLE) is a feature of Bluetooth 4.0 wireless radio t ...

  6. 基于蓝牙4.0(Bluetooth Low Energy)胎压监测方案设计

    基于一种新的蓝牙技术——蓝牙4.0(Bluetooth Low Energy)新型的胎压监测系统(TPMS)的设计方案.鉴于蓝牙4.0(Bluetooth Low Energy)的低成本.低功耗.高稳 ...

  7. Bluetooth® Low Energy Beacons

    Bluetooth® Low Energy Beacons ABSTRACT (abstract ) 1.This application report presents the concept of ...

  8. Bluefruit LE Sniffer - Bluetooth Low Energy (BLE 4.0) - nRF51822 驱动安装及使用

    BLE Sniffer https://www.adafruit.com/product/2269 Bluefruit LE Sniffer - Bluetooth Low Energy (BLE 4 ...

  9. BLE——低功耗蓝牙(Bluetooth Low Energy)

    1.简介 以下蓝牙协议特指低功耗蓝牙协议. 蓝牙协议是由SIG制定并维护的通信协议,蓝牙协议栈是蓝牙协议的具体实现. 各厂商都根据蓝牙协议实现了自己的一套函数库——蓝牙协议栈,所以不同厂商的蓝牙协议栈 ...

随机推荐

  1. android—获取网络数据

    取网络数据主要靠发交易(或者说请求,接口等),而这些交易由java中的网络通信,HttpURLConnection和HttpClient实现,以下是具体例子.   大家都知道,网络通信,发送请求有两种 ...

  2. JS正则表达式验证数字(很全)

    1.<script type="text/javascript"> 2.     function validate(){ 3.       var reg = new ...

  3. TYVJ P1062 合并傻子 Label:环状dp

    背景 从前有一堆傻子,钟某人要合并他们~但是,合并傻子是要掉RP的...... 描述 在一个园形操场的四周站着N个傻子,现要将傻子有次序地合并成一堆.规定每次只能选相邻的2个傻子合并成新的一个傻子,并 ...

  4. TC SRM 584 DIV 2

    第一次在DIV2 AK了. 250水题. 500,FLoyd搞出所有边的最短路,然后找最短路,中最长的,如果有不连通的边返回-1 1000,组合DP,各种慌乱,在最后1分钟时,交上了,感觉很棒,最后还 ...

  5. Git 的使用感受

    Git 的使用感受 从开始工作到现在,在公司里面一直用 svn 来做版本管理.大约半年前听说了 Git,因为 Git 的光辉相当耀眼,作者是 Linus Torvalds,被大量的开源软件采用,如 j ...

  6. python深浅拷贝

    赋值引用,多变量使用同内存.对于可变数据对象,修改其中一个,影响其他.浅拷贝,只拷贝数据父对象,不拷贝其中子对象.深拷贝,拷贝对象及其子对象. 赋值引用:(修改,所有多影响) list1=[1,2,3 ...

  7. thinkphp模板中foreach循环没数据的错误解决

    从控制器方法中$this->assign();函数将值传递给html模板 但是模板不显示数据,直接出来的是代码,效果就和html中写了php代码不能解析一样. 原来是我将thinkphp框架的引 ...

  8. 简单的form表单操作(Servlet)

    Servlet模型 [表单的处理][模型(1)] ●HTML网页 <!DOCTYPE html> <html> <head> <meta charset=&q ...

  9. OC学习笔记——类别(Category)

    类别,有些程序员又称之为分类. 类别是一种为现有的类添加新方法的方式,尤其是为系统的做扩展的时候,不用继承系统类,可以直接为类添加新的方法.也可以覆盖系统类的方法. 如: @interface NSO ...

  10. linux消息队列的使用及内核实现原理

    mq_receive NAME mq_open - open a message queue SYNOPSIS #include <fcntl.h> /* For O_* constant ...