Android O里的蓝牙那点事
时间:2017-05-25 09:11来源:
摘要:AndroidO里的蓝牙那点事蓝牙技术联盟亚太区技术项目经理任凯Google已于5月17日的开发者大会上正式宣布,Beta版AndroidO即日起对普通用
Android O里的蓝牙那点事
蓝牙技术联盟亚太区技术项目经理 任凯
Google已于5月17日的开发者大会上正式宣布,Beta版Android O即日起对普通用户开放。和以往一样,Google已经3月份提早向开发者提供了下一代Android的预览版,Android O[1] Developer Preview。从Android开发者的Reference Guide[2]以及其开发者博客上发布的博文来看,Android O在蓝牙5的支持上着墨颇多,笔者觉得今天有必要为大家脑补一下Android O当中的蓝牙那些事。
首先要向大家介绍一下Android版本是如何命名的。Google是按照英文字母表的顺序为Android系统命名的,单个字母的版本代码在正式发布之后会扩展为各种甜品的名字,比如从Android 4.3(Android也是从这个版本开始支持低功耗蓝牙[Bluetooth low energy]技术)开始,依次为:
· Android 4.3,Jelly Bean,果冻豆
· Android 4.4,KitKat,奇巧巧克力
· Android 5.0,Lollipop,棒棒糖
· Android 6.0,Marshmallow,棉花糖
· Android 7.0,Nougat,牛轧糖
· Android 8.0,O(有传闻可能是奥利奥OreoJ )
Android的版本命名固然有趣,也上的甜品也都是笔者的最爱,但是今天在这里写这篇文章可不是为了让大家科普各种甜品的名的,我们的今天的目的,还是为了大家了解Google I/O开发者大会上发布的Android O在蓝牙方面有哪些已确认的新特性。
从开发者预览版来看,目前有两个针对蓝牙的主要特性将会加入到Android O当中:
1. 针对蓝牙5的更新
蓝牙5在去年12月份对外正式发布,主要包括4倍的通信距离扩展,2倍的通信速率提高以及8倍的广播包数据容量扩展。在最新的Android开发者参考文档API: O当中,对以上三个特性都有触及。
a. setPreferredPhy方法
通过setPreferredPhy方法,可以对Android设备的蓝牙PHY层进行配置。蓝牙5的物理层包括三种选项:1M PHY,2M PHY以及Coded PHY。
相对应的,对于setPreferredPhy的参数:txPhy和rxPhy,分别有如下定义:
· PHY_LE_1M_MASK,支持蓝牙5 ,1M PHY;
· PHY_LE_2M_MASK,支持蓝牙5 ,2M PHY;
· PHY_LE_CODED_MASK.,支持蓝牙5,Coded PHY;
对于phyOptions参数有如下定义:
· PHY_OPTION_NO_PREFERRED;
· PHY_OPTION_S2 ;
· PHY_OPTION_S8;
因此,通过参数的不同组合,就可以实现长距离或者是高速率的特性:
但是在这里需要强调一点:长距离和高速率的特性是否支持,还取决于Android设备的硬件是否支持蓝牙5.
关于Android开发者预览版当中关于长距离和高速率的更多细节,可以参考:
https://developer.android.com/reference/android/bluetooth/BluetoothGatt.html
b. 8倍广播包帧长扩展
Android O 开发者对 ScanRecord.getBytes() [3]方法检索的数据长度做出了一些变化。在介绍这个变化之前,我们先首先脑补一下什么是ScanRecord。
在Android的低功耗蓝牙扫描过程中,Android设备可以发起低功耗蓝牙的扫描操作,在Android的“话语体系”中,这叫做:startScan(ScanCallback)。其中的ScanCallback是一个回调函数的入口地址,扫描操作的结果都可以通过ScanCallback返回到应用层。ScanRecord.getBytes()这个方法可以返回扫描结果的原始数据。
那么在Android O中,getBytes() 方法对于所接收的字节数不作任何假定。因此,应用不应受所返回的任何最小或最大字节数的影响。相反,应用应当计算所返回数组的长度。因此这一变更的意义就在于能够兼容蓝牙 5 的设备返回的数据长度。对于Beacon应用的开发者来说,无疑是一个福音。
同时蓝牙5在广播扩展方面还有一些其他的更新,例如:
蓝牙技术联盟亚太区技术项目经理 任凯
Google已于5月17日的开发者大会上正式宣布,Beta版Android O即日起对普通用户开放。和以往一样,Google已经3月份提早向开发者提供了下一代Android的预览版,Android O[1] Developer Preview。从Android开发者的Reference Guide[2]以及其开发者博客上发布的博文来看,Android O在蓝牙5的支持上着墨颇多,笔者觉得今天有必要为大家脑补一下Android O当中的蓝牙那些事。
首先要向大家介绍一下Android版本是如何命名的。Google是按照英文字母表的顺序为Android系统命名的,单个字母的版本代码在正式发布之后会扩展为各种甜品的名字,比如从Android 4.3(Android也是从这个版本开始支持低功耗蓝牙[Bluetooth low energy]技术)开始,依次为:
· Android 4.3,Jelly Bean,果冻豆
· Android 4.4,KitKat,奇巧巧克力
· Android 5.0,Lollipop,棒棒糖
· Android 6.0,Marshmallow,棉花糖
· Android 7.0,Nougat,牛轧糖
· Android 8.0,O(有传闻可能是奥利奥OreoJ )
Android的版本命名固然有趣,也上的甜品也都是笔者的最爱,但是今天在这里写这篇文章可不是为了让大家科普各种甜品的名的,我们的今天的目的,还是为了大家了解Google I/O开发者大会上发布的Android O在蓝牙方面有哪些已确认的新特性。
从开发者预览版来看,目前有两个针对蓝牙的主要特性将会加入到Android O当中:
1. 针对蓝牙5的更新
蓝牙5在去年12月份对外正式发布,主要包括4倍的通信距离扩展,2倍的通信速率提高以及8倍的广播包数据容量扩展。在最新的Android开发者参考文档API: O当中,对以上三个特性都有触及。
a. setPreferredPhy方法
voidsetPreferredPhy (inttxPhy,
intrxPhy, intphyOptions) |
通过setPreferredPhy方法,可以对Android设备的蓝牙PHY层进行配置。蓝牙5的物理层包括三种选项:1M PHY,2M PHY以及Coded PHY。
相对应的,对于setPreferredPhy的参数:txPhy和rxPhy,分别有如下定义:
· PHY_LE_1M_MASK,支持蓝牙5 ,1M PHY;
· PHY_LE_2M_MASK,支持蓝牙5 ,2M PHY;
· PHY_LE_CODED_MASK.,支持蓝牙5,Coded PHY;
对于phyOptions参数有如下定义:
· PHY_OPTION_NO_PREFERRED;
· PHY_OPTION_S2 ;
· PHY_OPTION_S8;
因此,通过参数的不同组合,就可以实现长距离或者是高速率的特性:
PHY_LE_1M_MASK | PHY_LE_2M_MASK | PHY_LE_CODED_MASK | |
PHY_OPTION_NO_PREFERRED | 兼容4.0/4.1/4.2 | 高速率 | 不适用 |
PHY_OPTION_S2 | 不适用 | 不适用 | 长距离 |
PHY_OPTION_S8 | 不适用 | 不适用 | 长距离(4倍) |
但是在这里需要强调一点:长距离和高速率的特性是否支持,还取决于Android设备的硬件是否支持蓝牙5.
关于Android开发者预览版当中关于长距离和高速率的更多细节,可以参考:
https://developer.android.com/reference/android/bluetooth/BluetoothGatt.html
b. 8倍广播包帧长扩展
Android O 开发者对 ScanRecord.getBytes() [3]方法检索的数据长度做出了一些变化。在介绍这个变化之前,我们先首先脑补一下什么是ScanRecord。
在Android的低功耗蓝牙扫描过程中,Android设备可以发起低功耗蓝牙的扫描操作,在Android的“话语体系”中,这叫做:startScan(ScanCallback)。其中的ScanCallback是一个回调函数的入口地址,扫描操作的结果都可以通过ScanCallback返回到应用层。ScanRecord.getBytes()这个方法可以返回扫描结果的原始数据。
那么在Android O中,getBytes() 方法对于所接收的字节数不作任何假定。因此,应用不应受所返回的任何最小或最大字节数的影响。相反,应用应当计算所返回数组的长度。因此这一变更的意义就在于能够兼容蓝牙 5 的设备返回的数据长度。对于Beacon应用的开发者来说,无疑是一个福音。
同时蓝牙5在广播扩展方面还有一些其他的更新,例如:
voidstartAdvertisingSet (AdvertisingSetParameters parameters,
AdvertiseDataadvertiseData, AdvertiseData scan Response, PeriodicAdvertisingParametersperiodicParameters, AdvertiseDataperiodicData, int duration, intmaxExtendedAdvertisingEvents, AdvertisingSetCallback callback) |
||
免责声明:本文若是转载新闻稿,转载此文目的是在于传递更多的信息,版权归原作者所有。文章所用文字、图片、视频等素材如涉及作品版权问题,请联系本网编辑予以删除。
我要投稿
近期活动
- 仪器使用操作视频教程时间:2023年12月31日 - 2024年01月31日[立即参与]
- 安森美汽车&能源基础设施白皮书下载时间:2023年04月03日 - 2023年11月30日[立即参与]
- 2023年安森美(onsemi)在线答题活动时间:2023年08月01日 - 2023年08月31日[查看回顾]
- 【在线答题活动】PI 智能家居热门产品,带您领略科技智慧家庭时间:2023年06月15日 - 2023年07月15日[查看回顾]
- 2023年安森美(onsemi)在线答题活动时间:2023年06月01日 - 2023年06月30日[查看回顾]
分类排行榜
- 汽车电子电源行业可靠性要求,你了解多少?
- 内置可编程模拟功能的新型 Renesas Synergy™ 低功耗 S1JA 微控制器
- Vishay 推出高集成度且符合 IrDA® 标准的红外收发器模块
- ROHM 发布全新车载升降压电源芯片组
- 艾迈斯半导体推出行业超薄的接近/颜色传感器模块,助力实现无边框智能手机设计
- 艾迈斯半导体与 Qualcomm Technologies 集中工程优势开发适用于手机 3D 应用的主动式立体视觉解决方案
- 维谛技术(Vertiv)同时亮相南北两大高端峰会,精彩亮点不容错过
- 缤特力推出全新商务系列耳机 助力解决开放式办公的噪音难题
- CISSOID 和泰科天润(GPT)达成战略合作协议,携手推动碳化硅功率器件的广泛应用
- 瑞萨电子推出 R-Car E3 SoC,为汽车大显示屏仪表盘带来高端3D 图形处理性能
编辑推荐
小型化和稳定性如何兼得?ROHM 推出超小型高输出线性 LED 驱动器 IC,为插座型 LED 驱动 IC 装上一颗强有力的 “心脏”
众所周知,LED的驱动IC担负着在输入电压不稳定的情况下,为LED提供恒定的电流,并控制恒定(可调)亮度的作用。无论是室内照明,还是车载应用,都肩负着极为重要的使命。
- 关于反激电源效率的一个疑问
时间:2022-07-12 浏览量:9682
- 面对热拔插阐述的瞬间大电流怎么解决
时间:2022-07-11 浏览量:8437
- PFC电路对N线进行电压采样的目的是什么
时间:2022-07-08 浏览量:9052
- RCD中的C对反激稳定性有何影响
时间:2022-07-07 浏览量:6851
- 36W单反激 传导7~10M 热机5分钟后超标 不知道哪里出了问题
时间:2022-07-07 浏览量:5592
- PFC电感计算
时间:2022-07-06 浏览量:3811
- 多相同步BUCK
时间:2010-10-03 浏览量:37799
- 大家来讨论 系列之二:开机浪涌电流究竟多大?
时间:2016-01-12 浏览量:43081
- 目前世界超NB的65W适配器
时间:2016-09-28 浏览量:59954
- 精讲双管正激电源
时间:2016-11-25 浏览量:127244
- 利用ANSYS Maxwell深入探究软磁体之----电感变压器
时间:2016-09-20 浏览量:107361
- 【文原创】认真的写了一篇基于SG3525的推挽,附有详细..
时间:2015-08-27 浏览量:99864