自从Bluetooth SIG提出Bluetooth 4.0,其BLE(Bluetooth Low Energy)开始用于穿戴式电子,而后也用于iBeacon室内定位,更之后Bluetooth 4.1也锁定物联网(IoT),BLE(也称BT Smart)这项技术看来前程似锦。

BT Smart后势看好,ANT+看淡?

BLE用于穿戴式电子,首​​当其冲的是现存的无线通讯技术ANT+,笔者曾询问业者对BLE与ANT+的看法,业者认为现有ANT+阵营的业者成员(如TI、Nordic)也开始发展BT Smart的方案,估BT Smart后势看好,而看淡ANT+。

事实上多数人也认为BT Smart将取代ANT+,但ANT+阵营似乎仍有坚持,认为ANT+的技术表现并不输BT Smart,因此笔者尝试纯以技术规格的比较角度来检视,到底BT Smart与ANT+孰优孰劣?

ANT+仍有其优势

首先,先将平分秋色的部份一次说明完,而后再比较差异,ANT+与BT Smart均采2.4GHz频段,均采GFSK调变,传输率均约1Mbps,传输距离均约50公尺,两者均支援对等点对点(Peer-to-Peer),以及放射星状(Star)的连接型态(Topology)。

但在功耗方面ANT+具有优势,ANT+在初始、扫描网路状态较有效率,每次连线的传输较少,实际资料传量较大,整体而言约比BLE省25-50%用电。其次是网路连接型态,ANT+除P2P、Star外还支援树状(Tree)与随意网状(Mesh)。

此外BLE整个网路内只能有一个Master节点,其余节点均为Slave,但ANT+允许一个网路内有多个Master,作法上是以无线通讯的通道为区别,允许一个通道内有一个Master,但一个节点可以同时使用多个通道,在A通道上节点扮演Master角色,但在B通道上则扮演Slave角色。

相对地,BLE以节点为认定,该节点为Master,就不允许同一个网路还有其他Master,若同一网路内有两个Master则会有时序冲突。且为Master就是Master,角色不能变换。另外ANT+传输通道仅要1MHz频宽,BLE则需要2MHz。

ANT+在软体方面也有优势,以Android而言,ANT+允许同时多个应用程式存取同一个ANT+侦测,例如一个心跳侦测资讯可同时提供给多个Android应用程式取用。且ANT+的API采独立维护更新(以Plug-in外挂程式方式运作),任何版本的Andr​​oid均可支援ANT+,但BT Smart必须是Android 4.3版后才能支援。

BLE安全性更佳

虽然ANT+有诸多表现优于BLE,但并非全面获胜,例如传输加密方面,ANT+仅有64位元金钥加密,BLE则是128位元AES演算加密,若有敏感资讯需要传递BLE较为安全。

另也有表现不易分出胜负,例如单一网路内的最大节点数,ANT+约可到50个节点(理论65,536个,有型录记载为300个),BLE方面没有明确规范,但必然多过传统古典蓝牙(Classic Bluetooth)的7个。且最大节点数的比较有时不太实际,有时受限于主控晶片内的记忆体容量而无法支援到最大节点数,如部份初阶主控晶片仅能支援4个Slave节点。

而前述的传输加密方面,传输加密在部份晶片上是不具备的,或为选用功效,同时也有业者为ANT+晶片提出128位元AES演算加密,不一定采行64位元金钥加密。事实上业者已倾向推行同时支援ANT+与BLE的晶片,让系统业者自行选择启用哪种功效。

ANT+也要拓展市场

除技术外,最后也了解其应用与商业发展,近期ANT+已不再坚守穿戴式电子(含脚踏车、健身车等)领域,开始拓展其应用范畴,包含电表、汽车的胎压感测器(Tire Pressure Monitor Systems, TPMS)等,5月份也宣布投入家庭自动化应用。

而商业上也有业者支持ANT+,如Samsung(Galaxy S3/4/5智慧手机)、Sony Xperia Z1、2月份联发科也支援(MT6630晶片)等。而ANT+于2007年便开始,BLE于2010年开始,2010年ANT+装置已累积出货达1,000万个,看来两者仍要一段时间才能分出胜负。

BT Smart vs ANT+ 技术孰优孰劣?的更多相关文章

  1. IT编程培训,线上线下,孰优孰劣

    现在Java培训机构确实参差不齐,主要有在线培训和线下培训两大类: 1,虚拟和现实的区别:不论视觉,听觉,体验上在线教学都不如线下教学. 2,学费问 题:在线教学由于成本低,不受地域,教学设备限制一般 ...

  2. 终极对决!Dubbo 和 Spring Cloud 微服务架构到底孰优孰劣

    标签: 微服务dubbospring架构 前言 微服务架构是互联网很热门的话题,是互联网技术发展的必然结果.它提倡将单一应用程序划分成一组小的服务,服务之间互相协调.互相配合,为用户提供最终价值.虽然 ...

  3. 【Pandas vs SQL】数据分析代码逐行比对,孰优孰劣?

    在数据分析领域,pandas是python数据分析基础工具,SQL是数据库最常用分析语言.二者有相通的地方,也有很大的语法不同,做起数据分析来,谁将更胜一筹呢? 做过业务开发.跟数据库打交道比较多的小 ...

  4. 编程的宗派(OOP与FP孰优孰劣)--王垠

    编程的宗派 总是有人喜欢争论这类问题,到底是"函数式编程"(FP)好,还是"面向对象编程"(OOP)好.既然出了两个帮派,就有人积极地做它们的帮众,互相唾骂和鄙 ...

  5. 孰优孰劣?Dubbo VS Spring Cloud性能测试大对决!

    最近我们试图从Dubbo迁移到Spring Cloud.为此对二者分别进行了性能测试.为了得出数据量不同的情况下的二者的性能表现,我们分别准备了一个25个属性pojo对象和一个50个属性的pojo对象 ...

  6. 实时流处理Storm、Spark Streaming、Samza、Flink孰优孰劣

    对于一个成熟的消息中间件而言,消息格式不仅关系到功能维度的扩展,还牵涉到性能维度的优化.随着Kafka的迅猛发展,其消息格式也在不断的升级改进,从0.8.x版本开始到现在的1.1.x版本,Kafka的 ...

  7. ++i和i++的效率孰优孰劣

    在内建数据类型的情况下,效率没有区别: 在自定义数据类型的情况下,++i效率更高! 分析: (自定义数据类型的情况下) ++i返回对象的引用: i++总是要创建一个临时对象,在退出函数时还要销毁它,而 ...

  8. Jmeter和Postman做接口测试的区别,孰优孰劣?

    区别1:用例组织方式 不同的目录结构与组织方式代表不同工具的测试思想,学习一个测试工具应该首先了解其组织方式. Jmeter的组织方式相对比较扁平,它首先没有WorkSpace(工作空间)的概念,直接 ...

  9. 浅尝key-value数据库(二)——MongoDB的优与劣

    浅尝key-value数据库(二)——MongoDB的优与劣 MongoDB的名字取自英文单词"humongous"的中间五个字母,是一个C++开发的基于分布式文件存储的数据库开源 ...

随机推荐

  1. mysql 的基础知识

    这边博客,纯为了摘录 mysql 常用的一些操作,如果你已经懂了,可以忽略,谢谢. 最基本的mysql操作 1.查询mysql 的版本和当前时间信息 select version(),current_ ...

  2. Android_打开多个Activity,返回到第一个Activity

    正文 一.流程截图 二.问题说明 依次从登录到三级界面,然后退出回到登录界面. 三.解决办法 3.1 实现代码 三级界面调用如下代码:         Intent intent = new Inte ...

  3. CI的扩展机制

    CI的扩展机制 在熟悉了CI的源码之后,它的简单明了的代码风格很有趣,这篇文章看看在CI是如何实现扩展的. 扩展包 扩展是为了完成特定的功能,在CI中,扩展包的开发只能在application/lib ...

  4. chroot

    用途:更改命令的根目录. 语法:chroot Directory Command 描述: 注意:如果新根目录中的特殊文件具有与实际根目录不同的主要和次要设备号,则可能会覆盖文件系统. 只有具有 roo ...

  5. python基础笔记-0

    python中数据结构,主要有列表.元组.字典.集合. python中最基本数据结构是序列(sequence).序列中每个元素被分配一个序号——即元素位置,也成为索引.第一个索引是0,第二个是1,以此 ...

  6. J2SE知识点摘记(二)

    1.    对象的声明 "类名 对象名 = new 类名();"例子:Person P;//先声明一个Person类的对象p p=new Person();//用new关键字实例化 ...

  7. Coursera-Neural Networks by Geoffrey Hinton

    feed-forward networks symmetrically-connection neural networks

  8. python 的一些高级编程技巧

    正文: 本文展示一些高级的Python设计结构和它们的使用方法.在日常工作中,你可以根据需要选择合适的数据结构,例如对快速查找性的要求.对数据一致性的要求或是对索引的要求等,同时也可以将各种数据结构合 ...

  9. Python学习入门基础教程(learning Python)--8.3 字典常用的方法函数介绍

    本节的主要讨论内容是有关dict字典的一些常用的方法函数的使用和范例展示. 1. clear清除字典数据 语法结构如下: dict_obj.clear() 示例代码如下: dict1 = {'web' ...

  10. 佩特来项目经验小集合(2)___组合查询存储过程,报错 "varchar JBID='' 转换成数据类型 int 时失败"

       今天写一个组合查询的存储过程遇到这样一个问题:在将 varchar 值 'SELECT * FROM View_DLS_WXJD_Customer WHERE 1=1 and JBID ='' ...