浅谈蓝牙低功耗(BLE)的几种常见的应用场景及架构(转载)
转载来至beautifulzzzz,网址http://www.cnblogs.com/zjutlitao/,推荐学习
蓝牙在短距离无线通信领域占据举足轻重的地位——
- 从手机、平板、PC到车载设备,
- 到耳机、游戏手柄、音响、电视,
- 再到手环、电子秤、智能医疗器械(血糖仪、数字血压计、血气计、数字脉搏/心率监视器、数字体温计、耳温枪、皮肤水分计等),
- 再到智能家居等领域均占有一席之地。
而蓝牙低功耗(BLE)是在蓝牙4.0协议上修改以适用低功耗应用场景的一种蓝牙协议。
随着上一股智能消费类电子大潮的到来,BLE的各种应用也像雨后春笋般在市场上铺开。
如果想 紧跟蓝牙协议的最新动态 ,可以在https://www.bluetooth.com/找到最前沿的蓝牙技术,
同时其为开发者打造的http://developer.bluetooth.cn/开发者网站也是干货十足。
主流的BLE芯片有TI的TI CC2540/2541、CSR BC6130、创杰 IS1685S、Nordic nRF51822。
其中TI的CC2540/CC2541和Nordic的nRF51系列在智能手环、防丢器、自拍器、手持智慧医疗设备等领域竞争激烈,这两个在语音方面不强,所以和CSR的BC6130没有比较的意义。至于IS1685应该是一款透传模块,和芯片级产品没有比较意义,就相当于拿生产钢材的和制造型钢的比较。
下面以nordic公司基于nRF51提供的几种BLE例程分析市面上BLE的应用场景:(TI的CC2541也类似)
No1、智能手环、蓝牙防丢器、自拍神器
蓝牙心率计、接近控制(开锁+防丢)整个工程是一种基于BLE广播和收发的架构,目前应用该类架构的产品有智能手环、蓝牙防丢器、冰箱贴、蓝牙自拍杆等产品。
No2、串口透传模块
串口工程和心率工程很像,在是在心率工程的基础上加入了UART的发送和接收函数,接收函数采用回调函数,可以监听各种串口消息。目前应用该类架构的产品时一些2B的模块公司,淘宝上一搜一大把,他们专门生产蓝牙透传模块,供更上游厂家开发更集成的设备。
No3、空中鼠标、空中键盘、空中遥控器
空中鼠标服务展示了如何用51822实现按动按键实现控制PC中的鼠标移动,该服务是由HID建立在GATT协议上的,支持连接各种通用设备,具体讲解见蓝牙开发者社区;
hids_keyboard案例中开发板运行后,按下计算机上的“CapsLock”键(大小写切换键),开启大写,开发板上的指示灯D3 会点亮。关闭大写,指示灯D3 会熄灭。里面也是集成了HID协议。
这类集成HID的服务可以直接和具有HID接口的PC、智能机、pad进行互连。
No4、beacon
Beacon本质上是广播,手机搜索到广播信息进行跳转,弹出东西等。Beacon比广播的代码要简单地多!!!
No5、主从一对多
主从一对一及主从一对多可以构成星型网络。不过纯硬件的基于BLE的一主多从在产品上应用不太多,可能是由于:
- 相比于24L01其开发难度大、成本高、技术资料不多;
- 相比于zigbee不专业;
- 相比于wifi吞吐量不够的原因。
不过也有部分人坚持用BLE实现微微网实现设备互连互通,目前国内似乎还没有此类产品。
当然这并不表示构成星型网络应用场景不锐利,我预测在未来几年各种微型、个人、家庭通信网络将会随着云计算、物联网,作为神经末梢连接众多的传感器设备而冲上浪潮之巅。
No6、OAD、OTA、DFU
空中升级Air-DFU,即Air Device Firmware Upgrade,更专业的叫法是OAD,即on air download或OTA,即Over-the-Air Technology。
在做CS模式的开发者来看远程升级不算什么,但是在硬件领域能够支持空中升级绝对属于很大的进步。
之前给芯片升级固件需要用特殊设备(紫外线擦除等),
然后由于发现了电擦除设备而给业界带来一场不小的革命,
后来又出现了可反复擦除的芯片...
即使目前嵌入式设备基本上都是通过UART、SWD等标准烧写口进行现场烧写固件的(所以之前你的MP3中毒了还要交给修手机、MP3、MP4的小哥让他们给你重刷一遍系统)。
支持空中升级的智能消费类电子,服务商一般先把固件下载到相应的APP中,待APP检测到设备会请求进入空中升级模式,待硬件系统重启进入空中升级模式接收新的固件程序并存放在一个闲置区域,固件全部传输完毕系统再次重启,检测到有新的固件,从而将新的固件覆盖老的固件,最终实现硬件系统升级。
附录 — BLE系列教程
@nRF51822基础实验系列:
[nRF51822] 1、一个简单的nRF51822驱动的天马4线SPI-1.77寸LCD彩屏DEMO
[nRF51822] 3、 新年也来个总结——图解nRF51 SDK中的Button handling library和FIFO library
[nRF51822] 4、 图解nRF51 SDK中的Schedule handling library 和Timer library
[nRF51822] 5、 霸屏了——详解nRF51 SDK中的GPIOTE(从GPIO电平变化到产生中断事件的流程详解)
[nRF51822] 6、基于nRF51822平台的flash读写研究
[nRF51822] 8、基础实验代码解析大全 · 实验11 - PPI
[nRF51822] 9、基础实验代码解析大全 · 实验12 - ADC
[nRF51822] 10、基础实验代码解析大全 · 实验15 - RTC
[nRF51822] 11、基础实验代码解析大全 · 实验16 - 内部FLASH读写
[nRF51822] 12、基础实验代码解析大全 · 实验19 - PWM
[nRF51822] 13、浅谈nRF51822和NRF24LE1/NRF24LU1/NRF24L01经典2.4G模块无线通信配置与流程
......更新中
@CC2541基础实验系列:
1、CC2541蓝牙4.0芯片中级教程——基于OSAL操作系统的运行流程了解+定时器和串口例程了解
2、CC2541芯片中级教程-OSAL操作系统(进一步了解-OLED && 普通按键和5方向按键-中断!!!)这个系统驱动层和应用层不一样~
3、CC2541芯片中级教程-OSAL操作系统(ADC光敏电阻和修改串口波特率)
4、CC2541芯片中级教程-OSAL操作系统(简单AT指令实现+IIC软件和硬件实现驱动MPU6050)
5、CC2541芯片中级教程-OSAL操作系统(PWM+看门狗)
......更新中
主流蓝牙BLE控制芯片详解(1):TI CC2540 - 全文:德州仪器的CC2540系列产品提供用于感应器应用及行动手持装置周边的低功率蓝牙解决方案, CC2540是一个真正的系统单晶片解决方案,结合德州仪器的协定堆叠、轮廓软体及应用支援, CC2540成为市场上最具有弹性及成本效益的单模式低功率蓝牙解决方案。
主流蓝牙BLE控制芯片详解(2):CSR BC6130 - 全文:BC6130是一款超低功耗,低成本,适用于入门级的单声道蓝牙耳机解决方案,与BlueVox2引脚兼容,并包含支持一个蓝牙耳机和两个设备间多个同时连接的HFP多点连结。它还具有可编程的音频提示,可用于帮助指导用户进行配对或定制音频铃声。
主流蓝牙BLE控制芯片详解(3):创杰 IS1685S - 全文:智能型无线音频数据传输产品——S1685S单声道蓝牙芯片,是低成本的高效率单声道无线传输方案。采用免驱动方式,客户只需要把模块接入应用产品,通电,连接按键就可以快捷地实现音乐的无线传输,享受无线音乐的乐趣。(透传)
主流蓝牙BLE控制芯片详解(4):Nordic nRF51822 - 全文:nRF51822 是功能强大comtex-m0内核、高灵活性的多协议 SoC,非常适用于 Bluetooth® 低功耗和 2.4GHz 超低功耗无线应用。
浅谈蓝牙低功耗(BLE)的几种常见的应用场景及架构(转载)的更多相关文章
- [nRF51822] 14、浅谈蓝牙低功耗(BLE)的几种常见的应用场景及架构(科普类干货)
蓝牙在短距离无线通信领域占据举足轻重的地位—— 从手机.平板.PC到车载设备, 到耳机.游戏手柄.音响.电视, 再到手环.电子秤.智能医疗器械(血糖仪.数字血压计.血气计.数字脉搏/心率监视器.数字体 ...
- $.ajax()方法详解 ajax之async属性 【原创】详细案例解剖——浅谈Redis缓存的常用5种方式(String,Hash,List,set,SetSorted )
$.ajax()方法详解 jquery中的ajax方法参数总是记不住,这里记录一下. 1.url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. 2.type: 要求为Str ...
- 【Android应用开发】Android 蓝牙低功耗 (BLE) ( 第一篇 . 概述 . 蓝牙低功耗文档 翻译)
转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/50515359 参考 : -- 官方文档 : https://develope ...
- 浅谈测试rhel7新功能时的感受及遇到的问题【转载】
半夜起来看世界杯,没啥激情,但是又怕错误意大利和英格兰的比赛,就看了rhel7 相关新功能的介绍. rhel7的下载地址: https://access.redhat.com/site/downloa ...
- 浅谈SQL Server中的三种物理连接操作
简介 在SQL Server中,我们所常见的表与表之间的Inner Join,Outer Join都会被执行引擎根据所选的列,数据上是否有索引,所选数据的选择性转化为Loop Join,Merge J ...
- 浅谈SQL Server中的三种物理连接操作(HASH JOIN MERGE JOIN NESTED LOOP)
简介 在SQL Server中,我们所常见的表与表之间的Inner Join,Outer Join都会被执行引擎根据所选的列,数据上是否有索引,所选数据的选择性转化为Loop Join,Merge J ...
- 浅谈SQL Server中的三种物理连接操作(Nested Loop Join、Merge Join、Hash Join)
简介 在SQL Server中,我们所常见的表与表之间的Inner Join,Outer Join都会被执行引擎根据所选的列,数据上是否有索引,所选数据的选择性转化为Loop Join,Merge J ...
- Android蓝牙低功耗(BLE)模块设计
在阅读这篇文章之前你应该对GATT和Android蓝牙框架有一定的了解.这里不会向你解释Service.Characteristics等蓝牙知识.这里只是我写下我对Android Ble的再次封装来适 ...
- 浅谈实现placeholder效果的几种方案
placeholder是html5<input>的一个属性,它提供可描述输入字段预期值的提示信息(hint), 该提示会在输入字段为空时显示.高端浏览器支持此属性(ie10/11在获得焦点 ...
随机推荐
- ubuntu安装flashplayer插件三步走
1.去官网下载flash;2.解压3.复制.so文件到~/.mozilla/plugins/
- SQL Server公用表达式CET递归查询所有上级数据
with cte as( select bianma,fjbm from #tree where chkDisabled='true' union all select t.bianma,t.fjbm ...
- Linux 只显示目录或者文件方法
ls 参数 -a 表示显示所有文件,包含隐藏文件-d 表示显示目录自身的属性,而不是目录中的内容-F 选项会在显示目录条目时,在目录后加一个/ 只显示目录 方法一: find . -type d -m ...
- 解决jquey中当事件嵌套时,内层事件会执行多次的问题
出现情景:当内层事件需要外层事件触发后产生的一些值得时候 情景复现: <!DOCTYPE html> <html lang="en"> <head&g ...
- Opportunity Helper
using System; using Microsoft.Xrm.Sdk; using Microsoft.Crm.Sdk.Messages; public class OpportunityHel ...
- python闭包的概念及使用
闭包:在函数里定义了另外一个函数(函数嵌套),内函数里运用了外函数的变量,外函数返回内函数的函数引用(函数名). nonlocal 的使用:闭包内部函数可直接调用外部函数的变量,如果修改需要使用non ...
- docker-compose入门示例:一键部署 Nginx+Tomcat+Mysql
整体环境配置 整体环境的配置,如果一个一个 Dockerfile 去写,那么是相当麻烦的,好在 Docker 有一个名为 Docker-Compose 的工具提供,我们可以使用它一次性完成整体环境的配 ...
- STM32_1 搭建工程框架
搭建系统框架 -- 创建系统文件夹 -- 拷贝stm32库文件 -- 将文件添加至工程 -- 配置工程环境 1. 创建工程文件夹 找一个工程目录,我就在 stm32/Code 下创建一个模板工程Tem ...
- Java语法糖 : try-with-resources
先了解几个背景知识 什么是语法糖 语法糖是在语言中增加的某种语法,在不影响功能的情况下为程序员提供更方便的使用方式. 什么是资源 使用之后需要释放或者回收的都可以称为资源,比如JDBC的connect ...
- MySQL高级第一章——架构介绍
一.简介 是一个经典的RDBMS,目前归属于Oracle 高级MySQL包含的内容: MySQL内核 SQL优化工程师 MySQL服务器的优化 各种参数常量设定 查询语句优化 主从复制 软硬件升级 容 ...