前言

在写这篇文章的时候,谷歌刚刚发布了Android Wear ,摩托罗拉也发布了 Moto 360 智能手表。Android Wear的API还是相当基本的,是很好的文档材料,而且还会不断的更新,所以我不打算写一个关于他们的教程(至少现在还没有)。有趣的是 Moto 360 支持 Android 4.3及之后的版本。这明显是Bluetooth LE只有在Android 4.3及以后才被支持的原因,这也意味着 Moto 360 支持Bluetooth LE。Bluetooth LE 将不仅是可穿戴技术的核心技术,而且也是许多物联网设备的核心技术。在这个系列博客中我们将了解 Bluetooth LE 在 Android 上的使用。

Bluetooth 与 Bluetooth LE简介

蓝牙自20世纪90年中后期就已经出现,并已成为短距离设备的对等网络的标准。一个缺点是它需要消耗一点电量,这在移动设备上是一 个问题,而且在电池更小的可穿戴设备中需要消耗更多电。另一个缺点是两个蓝牙设备必须配对才可以相互通信。虽然配对过程只需要执行一次,但对用户来说这是一个痛苦的经历。

Bluetooth Low Energy(低功耗蓝牙),缩写为Bluetooth LE,或BLE,作为蓝牙4.0 (有时称为蓝牙智能)规范的一部分,并针对上述的这些具体问题而被引入。就提高电池寿命而言,许多制造商声称一些传感器能维持数月甚至数年的时间(我必须承认我有点怀疑制造商的估计一般是基于最好的情况下,而不涉及实际的使用情况)。正如前面已经提到的,谷歌在Android 4.3(API 18)中加入了对BLE的支持。

Bluetooth 与 Bluetooth LE 的区别

对于那些已经熟悉蓝牙开发的童鞋来说,BLE提供了一个诸如学习曲线的玩意,因为它是一个非常不同的野兽(译者注:这句不知道该怎么翻译啦,求各位帮忙看看, 原文是: BLE presents something of a learning curve because it is a rather different beast ),所以让我们大致地看下他们的主要区别。

第一个主要区别是在配对过程。传统的蓝牙开发,配对两个设配主要是用户的任务,但使用BLE,配对的任务更多的在于开发商。这是一件好事,因为从用户的角度来说整个配对过程变得更直接了当。

另一个主要的区别是通信本身。传统的蓝牙开发通信方式有许多选择,从根本上说都是基于和标准的Sockets非常相似的Sockets架构。本质上我们的数据通过Sockets传递,并且它是两个设备知道数据流格式的一种实例。BLE则采用不同的方法,它以属性为中心进行数据通信。在两个设备之间共享的属性本质上是一个原子数据(整数或字符串)。属性可用于表示数据或控制传感器的行为。例如,在一个心率监测仪中一个属性可能包含了当前的心率值(数据)以及另一个可能包含心率值更新频率的设置(行为)。

关于本系列文章

在进一步了解之前,我们有必要定义一些角色。通常我们将传感器(心率监视器,温度传感器,等)连接到一个主机(智能手机,平板电脑,等)。在我们的例子中,主机从一个属性中读数据的同时可以通过写入一个新值到另一个属性中以控制传感器的行为。其实控制传感器行为的情况会更多一点,因为主机也可以注册监听一个属性的改变,这个我们将在适当的时候再去讨论。

在本系列的文章中我将使用的设备是  Texas Instruments SensorTag   它是一个具有BLE功能的多传感器开发套件。价格很便宜,在£20(25美元)之内。同时还有环境温度,红外温度,相对湿度,气压计,磁力计,加速度计,陀螺仪和手动开关等设备–所有这些都可以通过BLE访问。在这个系列博客中我们将开发一个应用程序,显示从SensorTag中获得的环境温度和湿度值。

非常抱歉在这篇文章中没有代码,因为我觉得在深究BLE之前了解一点背景知识很重要。不过在下一篇文章肯定会给出一些代码 -- 我保证!

转载于:https://www.cnblogs.com/xiaorenwu702/p/4304378.html

Bluetooth LE(低功耗蓝牙) - 第一部分相关推荐

  1. Bluetooth LE(低功耗蓝牙) - 第五部分

    回顾: 在本系列前面的文章中我们完成了发现BLE传感器并与之建立连接.现在只剩下从其中获取数据了,但是这并没有看起来那么简单.在这篇文章中我们将讨论GATT的特点以及如何促进主机与传感器之间的数据交换 ...

  2. Android 经典蓝牙(Classic Bluetooth)和低功耗蓝牙(BLE)

    从蓝牙4.0开始包含两个蓝牙芯片模块:传统/经典蓝牙模块(Classic Bluetooth,简称BT)和低功耗蓝牙(Bluetooth Low Energy,简称BLE) 经典蓝牙是在之前的蓝牙1. ...

  3. android ble 经典蓝牙,Android 经典蓝牙(Classic Bluetooth)和低功耗蓝牙(BLE)

    [实例简介] 从蓝牙4.0开始包含两个蓝牙芯片模块:传统/经典蓝牙模块(Classic Bluetooth,简称BT)和低功耗蓝牙(Bluetooth Low Energy,简称BLE) 经典蓝牙是在 ...

  4. 【低功耗蓝牙】① 蓝牙广播数据格式分析

    摘要 本文章主要讲解了蓝牙的发展史,蓝牙信号,蓝牙广播数据的格式.最后使用ESP32芯片MicroPython固件给出了蓝牙广播的具体代码,是蓝牙初学者很好的参考资料. 也可以参考下我在B站的蓝牙视频 ...

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

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

  6. Bluetooth 蓝牙介绍(二):低功耗蓝牙BLE协议栈

    文章目录 Physical LAYER Link LAYER 角色 地址 物理信道 Air Interface Packet PDU Advertising physical channel PDU ...

  7. 低功耗蓝牙开发权威指南第一部分-综述

    蓝牙技术联盟网站:www.bluetooth.org 开发者网站:developer.bluetooth.org 第一章:什么是低功耗蓝牙技术 低功耗蓝牙和经典蓝牙不同:设计目标和市场领域都不同,低功 ...

  8. Android Studio制作手机App:通过手机蓝牙(Bluetooth)与STM32上的低功耗蓝牙(HC-42)连接通信,实现手机端对单片机的控制。

    背景: 本文的内容是针对单片机蓝牙模块(HC-42)开发的手机App.在这之前,我想先声明一点,手机与手机间的蓝牙连接方式"与"手机与HC间的蓝牙连接方式"是不一样的.原 ...

  9. Bluetooth 蓝牙介绍(四):低功耗蓝牙BLE Mesh网络 Ⅰ—— 基础概念

    文章目录 背景 术语 Managed Flooding Models Scenes 架构 Node Features 中继节点 代理节点 友元节点和低功耗节点 示例 BLE Mesh Networki ...

最新文章

  1. 【“探探”为例】手把手教你用最少的代码实现各种“机器人”
  2. Python编程基础:第十一节 for循环For Loops
  3. mybatis log4j 在日志中打印sql_MyBatis---gt;01总结
  4. pc端html轮播带滑块,swiper.js简单快速实现轮播滑动(兼容PC端、移动端)
  5. 括弧匹配检验(信息学奥赛一本通-T1354)
  6. mysql itpub_mysql
  7. 为文本添加风格text-decoration
  8. 微信支付 支付成功后不跳转 ecshop微信支付 如下操作即可
  9. aspx 判断字符串是否为decimal_C++编程技巧: 如何判断输入是否为整型
  10. 机器学习:使用matlab的fminunc+正则化实现二元逻辑回归
  11. [BZOJ5334][TJOI2018]数学计算(exgcd/线段树)
  12. 传奇服务器修改变量,课程列表-传奇服务端制作修改教程-4.3变量-学传奇
  13. 值得推荐的13款可视化软件,快收藏!
  14. 太原学院的计算机科学与技术学院,太原 学院新校区计算机科学与技术
  15. win7计算机自动关机设置在哪里设置方法,win7自动关机设置在哪?自动关机怎么设置具体方法...
  16. 记一下怎样关闭windows defender安全中心
  17. chrome翻译插件之谷歌翻译
  18. 一只青蛙一次可以跳上1级台阶,也可以跳上2级,也可以跳n级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)
  19. 统计文本大写字母和小写字母和数字和其他字符的个数
  20. iOS开发者证书介绍与总结

热门文章

  1. bvp解算器是什么_那些学习了编程的中学生,为什么会更可能成功?
  2. java多线程区别_Java中实现多线程的两种方式之间的区别
  3. 擦窗机器人不用时怎么收纳_省心省力,智能擦窗机器人
  4. python如何实现人工智能应用锁_如何清除应用锁的数据库
  5. 合肥工业大学机器人技术期末_机器人技术第三次作业(HFUT)
  6. pat 乙级 1010 一元多项式求导(C++)
  7. 【渝粤教育】国家开放大学2018年秋季 1062t文学英语赏析 参考试题
  8. 【渝粤题库】陕西师范大学202831 程序设计 作业(专升本)
  9. linux执行脚本n,Linux执行sh脚本空白
  10. 蓝桥杯基础模块4_2:独立按键扩展应用