蓝牙在短距离无线通信领域占据举足轻重的地位——

  • 从手机、平板、PC到车载设备,
  • 到耳机、游戏手柄、音响、电视,
  • 再到手环、电子秤、智能医疗器械(血糖仪、数字血压计、血气计、数字脉搏/心率监视器、数字体温计、耳温枪、皮肤水分计等),
  • 再到智能家居等领域均占有一席之地。

  而蓝牙低功耗(BLE)是在蓝牙4.0协议上修改以适用低功耗应用场景的一种蓝牙协议。

  随着上一股智能消费类电子大潮的到来,BLE的各种应用也像雨后春笋般在市场上铺开。

  如果想 紧跟蓝牙协议的最新动态 ,可以在https://www.bluetooth.com/找到最前沿的蓝牙技术,

  同时其为开发者打造的http://developer.bluetooth.cn/开发者网站也是干货十足。

  

  主流的BLE芯片有TI的TI CC2540/2541CSR BC6130创杰 IS1685SNordic 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] 2、D-BUG之诗

[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] 7、基础实验代码解析大全(前十)

[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)的几种常见的应用场景及架构(科普类干货)的更多相关文章

  1. 浅谈蓝牙低功耗(BLE)的几种常见的应用场景及架构(转载)

    转载来至beautifulzzzz,网址http://www.cnblogs.com/zjutlitao/,推荐学习 蓝牙在短距离无线通信领域占据举足轻重的地位—— 从手机.平板.PC到车载设备, 到 ...

  2. $.ajax()方法详解 ajax之async属性 【原创】详细案例解剖——浅谈Redis缓存的常用5种方式(String,Hash,List,set,SetSorted )

    $.ajax()方法详解   jquery中的ajax方法参数总是记不住,这里记录一下. 1.url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. 2.type: 要求为Str ...

  3. 【Android应用开发】Android 蓝牙低功耗 (BLE) ( 第一篇 . 概述 . 蓝牙低功耗文档 翻译)

    转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/50515359 参考 :  -- 官方文档 : https://develope ...

  4. Android蓝牙低功耗(BLE)模块设计

    在阅读这篇文章之前你应该对GATT和Android蓝牙框架有一定的了解.这里不会向你解释Service.Characteristics等蓝牙知识.这里只是我写下我对Android Ble的再次封装来适 ...

  5. 【蓝牙低功耗BLE】控制GPIO来点亮LED

    这节讲一下最简单的,也是最基础的东西.CC2540的IO操作,把PORT口当做GPIO来用,废话不多说,往下看. 1.硬件电路 硬件电路时最简单的,用一根GPIO去控制LED灯.因为GPIO作为out ...

  6. 浅谈SQL Server中的三种物理连接操作

    简介 在SQL Server中,我们所常见的表与表之间的Inner Join,Outer Join都会被执行引擎根据所选的列,数据上是否有索引,所选数据的选择性转化为Loop Join,Merge J ...

  7. 浅谈SQL Server中的三种物理连接操作(HASH JOIN MERGE JOIN NESTED LOOP)

    简介 在SQL Server中,我们所常见的表与表之间的Inner Join,Outer Join都会被执行引擎根据所选的列,数据上是否有索引,所选数据的选择性转化为Loop Join,Merge J ...

  8. 170221、浅谈mysql的SQL的四种连接

    例子:   -------------------------------------------------  a表     id   name     b表     id   job   pare ...

  9. 浅谈SQL Server中的三种物理连接操作(Nested Loop Join、Merge Join、Hash Join)

    简介 在SQL Server中,我们所常见的表与表之间的Inner Join,Outer Join都会被执行引擎根据所选的列,数据上是否有索引,所选数据的选择性转化为Loop Join,Merge J ...

随机推荐

  1. CSS布局经典—圣杯布局与双飞翼布局

    在我之前的博客网页整体布局完全剖析-剖完你不进来看一下么?中总结单列.两列.三列固宽与变宽布局,我还以为已经囊括了所有经典的网页布局方法了呢,当然除了CSS3的弹性盒模型没有涉及到,现在看来确实是自己 ...

  2. java中的小数的取整的几种函数

    Math类中提供了5个与取整相关的函数,如下所示: static double ceil(double a):天花板函数,返回大于等于a的最小整数(但是以浮点数形式存储). static double ...

  3. linux安装jdk(非rpm命令)

    首先查看当前linux上安装的jdk版本: java -version 复制build 后面的jdk信息 卸载: rpm -e java-1.6.0_22-fcs 或者 yum -y remove j ...

  4. Android 延时执行任务的三种简单方法

    开启一个新的线程 new Thread() { @Override public void run() { try { Thread.sleep(2000); } catch (Interrupted ...

  5. iOS Hit-Test应用

    最近又看了遍苹果的官方文档<Event Handling Guide for iOS>,对事件响应链中的hit-test view 又多了些理解,个人觉的官方文档对这块讲的非常简单,很多东 ...

  6. 【BZOJ】4002: [JLOI2015]有意义的字符串

    题意 求$\left \lfloor \left( \frac{b+\sqrt{d}}{2} \right)^n \right \rfloor \pmod {7528443412579576937} ...

  7. 配置nginx的图片服务器

    user nginx; worker_processes 8; error_log /usr/local/webserver/nginx/logs/nginx_error.log crit; pid ...

  8. Windows下ADT环境搭建

    1.JDK安装 下载JDK(点我下载),安装成功后在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量: JAVA_HOME值为C:\Program Files ...

  9. sublime下安装ctags

    sublime下安装ctags 标签: sublime   当我们阅读代码时, 会遇到很多不明确的函数名, 此时, 我们需要查看这个函数的定义的地方, 在sublime下我们需要安装一个插件, Cta ...

  10. Javascript初学篇章_8(事件)

    事件 HTML 事件是发生在 HTML 元素上的事情.例如用户点击按钮时,点击也是一个事件.事件可以用于处理表单验证,用户输入,用户行为及浏览器动作,如: 页面加载时触发事件 页面关闭时触发事件 用户 ...