Bluetooth Low Energy介绍
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介绍的更多相关文章
- Bluetooth Low Energy 介绍
1.简介 BLE(Bluetooth Low Energy,低功耗蓝牙)是对传统蓝牙BR/EDR技术的补充.尽管BLE和传统蓝牙都称之为蓝牙标准,且共享射频,但是,BLE是一个完全不一样的技术.BLE ...
- Bluetooth Low Energy 嗅探
Bluetooth Low Energy 嗅探 路人甲 · 2015/10/16 10:52 0x00 前言 如果你打开这篇文章时期望看到一些新的东西,那么很抱歉这篇文章不是你在找的那篇文章.因为严格 ...
- 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 ...
- Android使用BLE(低功耗蓝牙,Bluetooth Low Energy)
背景 在学习BLE的过程中,积累了一些心得的DEMO,放到Github,形成本文.感兴趣的同学可以下载到源代码. github: https://github.com/vir56k/bluetooth ...
- 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 ...
- 基于蓝牙4.0(Bluetooth Low Energy)胎压监测方案设计
基于一种新的蓝牙技术——蓝牙4.0(Bluetooth Low Energy)新型的胎压监测系统(TPMS)的设计方案.鉴于蓝牙4.0(Bluetooth Low Energy)的低成本.低功耗.高稳 ...
- Bluetooth® Low Energy Beacons
Bluetooth® Low Energy Beacons ABSTRACT (abstract ) 1.This application report presents the concept of ...
- 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 ...
- BLE——低功耗蓝牙(Bluetooth Low Energy)
1.简介 以下蓝牙协议特指低功耗蓝牙协议. 蓝牙协议是由SIG制定并维护的通信协议,蓝牙协议栈是蓝牙协议的具体实现. 各厂商都根据蓝牙协议实现了自己的一套函数库——蓝牙协议栈,所以不同厂商的蓝牙协议栈 ...
随机推荐
- LoadRunner字符串与参数的操作及转换技巧
刚开始学LR时,经常搞不清楚变量和参数的区别与用法,最近在一次脚本编写中,整理出来的一些小技巧,与大家一起分享. //字符串复制 strcpy(str,"Hello ") ; // ...
- Lazy Acquisition
为什么要延迟? 延迟加载模式是用于快速启动.保证初始化时不必浪费时间去加载和运算,而在需要的时候再去调用. 框架中有实现吗? .NET典型的使用在4.0中已经有了,Lazy<T> 特性:线 ...
- TYVJ P1034 尼克的任务 Label:倒推dp
背景 题库靠大家,人人都爱它. 描述 尼克每天上班之前都连接上英特网,接收他的上司发来的邮件,这些邮件包含了尼克主管的部门当天要完成的全部任务,每个任务由一个开始时刻与一个持续时间构成.尼克的一个工作 ...
- 【BZOJ】1090: [SCOI2003]字符串折叠(dp)
http://www.lydsy.com/JudgeOnline/problem.php?id=1090 随便yy一下.. 设f[i,j]表示i-j的最小长度 f[i, j]=min{j-i+1, f ...
- iOS学习—JSON数据解析
关于在iOS平台上进行JSON解析,已经有很多第三方的开源项目,比如TouchJson,JSONKit,SBJon等,自从iOS5.0以后,苹果SDK推出了自带的JSON解决方案NSJSONSer ...
- NSJSONSerialization介绍
ios5中apple增加了解析JSON的api——NSJSONSerialization.网上已经有人做过测试,NSJSONSerialization在效率上完胜SBJSON.TouchJSON. ...
- C++ sort vector<vector<int> > or vector<MyClass> 容器的排序
C++的STL中提供了很强大的排序函数sort,可以对任意数组,结构体及类进行排序,下面我们先来看最简单的数组排序.默认的升序排列,我们也可以在后面加上less或greater来告诉编译器我们想要的排 ...
- OpenCV 2.4.11 VS2012 Configuration
Add in the system Path: C:\opencv\build\x86\vc11\bin; Project->Project Property->Configuration ...
- hdu Inverting Cups
这题需要分类讨论: 第一种情况: n为奇数m为偶数的情况无解,因为m为偶数,每次翻转将把从正面翻到反面的个数x减去从反面翻到正面的个数y,得到的数必定为偶数.因为x+y为偶数,x-y也为偶数.而总个数 ...
- hdu 饭卡
本题的思路是:首先如果m<5,直接输出:若m>5,则先拿出5元钱买最贵的东西,这样背包容量就变成了m-5,商品数量为n-1的0/1背包问题. 此题的状态转移方程为:dp[j]=max{dp ...