[nRF51822] 14、浅谈蓝牙低功耗(BLE)的几种常见的应用场景及架构(科普类干货)
蓝牙在短距离无线通信领域占据举足轻重的地位——
- 从手机、平板、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 超低功耗无线应用。
@beautifulzzzz - 物联网&普适计算实践者
e-mail:beautifulzzzz@qq.com
i-blog:blog.beautifulzzzz.com
[nRF51822] 14、浅谈蓝牙低功耗(BLE)的几种常见的应用场景及架构(科普类干货)的更多相关文章
- 浅谈蓝牙低功耗(BLE)的几种常见的应用场景及架构(转载)
转载来至beautifulzzzz,网址http://www.cnblogs.com/zjutlitao/,推荐学习 蓝牙在短距离无线通信领域占据举足轻重的地位—— 从手机.平板.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 ...
- Android蓝牙低功耗(BLE)模块设计
在阅读这篇文章之前你应该对GATT和Android蓝牙框架有一定的了解.这里不会向你解释Service.Characteristics等蓝牙知识.这里只是我写下我对Android Ble的再次封装来适 ...
- 【蓝牙低功耗BLE】控制GPIO来点亮LED
这节讲一下最简单的,也是最基础的东西.CC2540的IO操作,把PORT口当做GPIO来用,废话不多说,往下看. 1.硬件电路 硬件电路时最简单的,用一根GPIO去控制LED灯.因为GPIO作为out ...
- 浅谈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 ...
- 170221、浅谈mysql的SQL的四种连接
例子: ------------------------------------------------- a表 id name b表 id job pare ...
- 浅谈SQL Server中的三种物理连接操作(Nested Loop Join、Merge Join、Hash Join)
简介 在SQL Server中,我们所常见的表与表之间的Inner Join,Outer Join都会被执行引擎根据所选的列,数据上是否有索引,所选数据的选择性转化为Loop Join,Merge J ...
随机推荐
- Mac下没有权限启动tomcat的解决办法
问题描述 在Mac中通过./startup.sh执行启动脚本文件,启动tomcat时报如下错误: -bash: ./startup.sh: Permission denied 解决方法 错误信息说明了 ...
- 一些linux命令
1. more 慢慢查看文件2. mkdir -p 递归的创建目录3. tree 4. ls -lh 人性化显示
- 1208PHP语句
var_dump(empty($a)); 判断变量是否为空var_dump(isset($a)); 判断变量是否定义 unset(变量); 删除变量 &代表变量的地址:$a = ;$b = & ...
- FileStream
允许其他进程只读打开 New FileStream("路徑", FileMode.Append, FileAccess.Write, FileShare.Read) 允许其他进程以 ...
- 【vuejs小项目】一、脚手架搭建工作
一.关于vuejs 这是一个MVVM的前端开发框架,model(数据).viewmode(通讯).view(视图),它吸取了reactjs和angularjs的长处,核心重点在于组件化的设计原则. 我 ...
- iOS Hit-Test应用
最近又看了遍苹果的官方文档<Event Handling Guide for iOS>,对事件响应链中的hit-test view 又多了些理解,个人觉的官方文档对这块讲的非常简单,很多东 ...
- HDU-SupportOrNot训练实录
菜鸡队训练实录. 现场赛记录: 2016:[名称:奖项/排名] ZJPSC:Gold/1 CCPC中南邀请赛:Gold/1 ICPC Dalian:Gold/24 ICPC Beijing:Gold/ ...
- c、c++ 常用函数记录
1.void* memcpy(char*dest, char*src, size_tnum) 将第二个参数拷贝到第一个参数,最后一个是长度. 2.void *memset(void *s, int ...
- svn客户端重新设置用户名和密码
在第一次使用TortoiseSVN从服务器CheckOut的时候,会要求输入用户名和密码,这时输入框下面有个选项是保存认证信息,如果选了这个选项,那么以后就不用每次都输入一遍用户名密码了. 不过,如果 ...
- Javascript 面向对象编程(一):封装
Javascript是一种基于对象(object-based)的语言,你遇到的所有东西几乎都是对象.但是,它又不是一种真正的面向对象编程(OOP)语言,因为它的语法中没有class(类). 那么,如果 ...