0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于对Bluetooth Smart蓝牙骑行技术的讨论

蓝牙技术联盟 来源:xx 2019-08-04 08:20 次阅读

上周智能骑行系列的第一篇文章中,小码哥介绍了自行车选手们可以如何借助Bluetooth Smart 设备提高比赛成绩,大家也领略了智能骑行的魅力。(有些妹纸表示图片撩人热血,有想流口水的冲动)本篇将继续从开发者的视角就蓝牙骑行技术展开讨论。

哪些配置文件必不可少?

与骑行相关的主要配置文件包括:心率配置文件(Heart Rate Profile)、骑行速度和踩踏速率配置文件(CyclingSpeed and Cadence Profile) 、骑行功率配置文件(Cycling PowerProfile)。

心率配置文件使用通知将心率测量结果传输至向与之相连的GATT客户端。通知中包括的不仅仅是心率数据,稍后小码哥会详细说明。骑行速度和踩踏速率配置文件也使用通知传输数据,每个通知都包含车轮转数或(和)曲柄转数数据。骑行功率配置文件也使用“通知”这一超级有用的属性协议(AttributeProtocol)信息来传输数据。

BluetoothDeveloper Studio助力开发

如果你想要深入了解并着手开发,请点击原文链接下载并安装Bluetooth Developer Studio正式版。它是蓝牙技术联盟新推出的开发工具,是助力开发的神器。其庞大的配置文件、服务、特性和描述符资源库并不局限于之前所提到的。Bluetooth Developer Studio是探索这些配置文件的绝佳工具,让开发者能够通过插件生成代码,迅速进入开发的实施。

图1 –Bluetooth Developer Studio

可供下载的智能手机APP

许多配置文件可用的移动应用程序,可以下载并使用。下面列举的三个是适用于安卓系统的移动应用程序:

Polar Beat

Wahoo 健身

北欧半导体BLE nRF 工具箱

开发专属你的炫酷APP

如果你是移动开发者,你一定会想要开发自己的Bluetooth Smart应用,尤其是当蓝牙技术联盟或其他设备制造商发布新的配置文件时。而且,随意结合采用的服务和你自己自定义服务打造自己的自定义配置文件也是完全合法的。

编写代码的种类取决于开发所面向的平台以及开发的是GATT客户端还是GATT服务器。如果你编写的是与自行车或选手身上的一种或多种类型的传感器协同工作的GATT客户端应用,就需要订阅包含所需传感器值的特性的通知,当通知通过BluetoothSmart从传感器传输至设备时,就可以依照代码对这些通知进行相应处理。

让我们再进一步观察一下这三个配置文件,然后我会陆续穿插一些代码片段。

心率配置文件 (HRM)

这一配置文件包括一项强制性服务,即心率服务;以及一项选择性服务,即设备信息服务。心率服务定义了以下几项特性:

心率测量特性值可分解为若干不同的字段,因此接收此特性通知的应用要做的第一件事就是对值数据进行划分。我们可以从Flags 字段的首字符和0-4比特位中了解心率传感器的更多功能,以及特性值其余部分的数据形式。例如,表示每分钟心跳数的心率值可能是8位或16位字段,Flags 字段会以一个特定的通知告诉我们是哪种情况。

一个8位字段能够保存0-225范围的值,对于人的心率来说足够了。一种计算心率理论最大值的方法是220-年龄,所以一个40岁的人心率理论最大值为180。但如果你要用心率测量仪给一只蜂鸟侧心率,那这一数值可能在50-1260跳/每分钟之间,就需要一个16位的值才够。


图2 –处理安卓系统中的心率通知

骑行速度和踩踏速率配置文件(CSC)

这一配置文件也有一个强制性的服务,即骑行速度和踩踏速率服务;以及一个选择性的服务,即设备信息服务。CSC服务定义了以下四个特性:

特性 需求 注释
CSC 测量 强制性 车轮转数数据或/和曲柄转数数据。可通过通知消息发送至客户端应用。
CSC 特性 强制性 只读特性,指示是否支持车轮转数数据或(和)曲柄转数数据,以及是否支持多重传感器位置。
传感器位置 条件性 指示传感器位置 (如前轮,左曲柄) ,如果支持多重传感器位置则为必需。
SC 控制点 条件性 允许多个过程的启动,如传感器校准。

CSC测量特性是应用开发者最感兴趣的,它的值也可以分解为若干个字段。首个字节包括一个Flags 字段, 前两个字节可指示该值是否包含车轮转数数据或(和)曲柄转数数据。车轮转数数据包括一个32位的累计车轮转数,以及一个代表以1/1024为单位最后一次测量车轮事件的时间的16位的值。曲柄数据包括一个16位的曲柄转数累计计数,以及一个类似的16位的最后一个事件的时间字段。有了这些数据,客户端就能够计算自最后一次事件的车轮转动或踩踏的平均速度,即便蓝牙连接在中间发生过中断。如果客户端知道车轮的圆周,那么还可以计算出自最后一次事件之后的行进距离和平均骑行速度。

图3 – 处理安卓系统中的CSC 通知

骑行功率配置文件(CPP)

这一配置文件定义了四个角色,允许通过两种完全不同的方式使用骑行功率传感器。通常“收集器”可以连接至“CP 传感器”, 发现GATT服务和特性并与之互动。但配置也可以把骑行功率传感器设置为“CP广播者“的角色,有一个或多个客户端作为“CP观察者”通过无定向不可连接的GAP广播接收骑行功率数据。在后者的情况下,必须使用Bluetooth Smart传输数据,反之也可以通过蓝牙BR/EDR调用CP 传感器和收集器的角色。

请注意,在不同位置(如自行车左右两侧曲柄)安装、并同时使用多个骑行速率传感器是十分常见的。骑行功率服务的传感器位置特性可以适应这一情况。

这一配置文件定义了一项强制性服务(即骑行功率服务)以及两项选择性服务(即数据信息服务和电池服务)。其中骑行功率服务定义了以下5项特性。

以上骑行功率测量时大多数应用都会利用的特性。通知可采用GATT用于从CP传感器向与之相连的采集器传输数据。如果这一特性的服务器特性配置描述符被设置为0x01,特性就能采用GAP广播数据包在服务数据字段中被广播。

测试客户端应用

使用蓝牙开发板生成模拟传感器读数,就可以很更简单地测试与传感器设备协调工作的蓝牙客户端应用。这显然比每次做出改动、安装应用后都要亲自骑车测试便利的多。虽然可能没有亲自骑车那么有趣,但的确非常便利。

我有一些来自不同制造商的开发板,如CSR(已被高通收购)、北欧半导体、蓝兆(已被Silicon Labs收购),它们都包括心率配置文件的实施,可以生成模拟心率数据。北欧半导体SDK还包括CSC配置文件。创建常见的配置文件的模拟时,用心率配置文件做模板即简单、又省事。

图4 – 适用于北欧半导体nRF1DK的心率配置文件项目

另外,一个叫做LightBlue的iOS和Mac应用能帮助开发者建立Mac、iPhone或iPad的“虚拟外围设备”, 并支持CSC、HRM、骑行功率等多项配置文件。

资源

BluetoothDeveloper Studio让开发者能够快速启动开发,使用、设计服务和特性,来打造自己的解决方案。这一工具是无价的资源库,让开发者能够创建自己的服务,并了解采用的服务器如何工作。

北欧半导体有一个非常不错的安卓应用,同时支持心率配置文件、骑行速度和踩踏速率配置文件,以及其他配置文件。源代码还公布于Github上:

我最初便携的两个 Bluetooth Smart APP都是针对BlackBerry 10的心率配置文件、骑行速度和踩踏速率配置文件。两个应用的代码现已开源(Blackberry 10 心率监测仪,Blackberry 10 CSC 监测仪),有需要请上网搜索或微信联系小编。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 蓝牙
    +关注

    关注

    114

    文章

    5771

    浏览量

    169826
  • Bluetooth Smart
    +关注

    关注

    0

    文章

    17

    浏览量

    9196
收藏 人收藏

    评论

    相关推荐

    蓝牙信道探测技术或改变UWB市场格局

    不久前,我们介绍了蓝牙6.0的基本情况,其中最为惊喜的是新增了 蓝牙信道探测(Bluetooth Channel Sounding) 。新技术的入场会对原本的市场格局带来哪些变化?通过
    的头像 发表于 11-22 10:22 123次阅读

    蓝牙信道探测技术与应用论坛顺利举办

    近日,聚焦于蓝牙信道探测(Channel Sounding)的Bluetooth Channel Sounding蓝牙信道探测技术与应用论坛圆满结束。本次活动由
    的头像 发表于 11-01 15:24 329次阅读

    蓝牙AoA技术的工作原理和设计原则

    Bluetooth核心规范v5.1是蓝牙技术发展的一个重大进步,尤其是其测向功能。这一功能提高了定位服务的精度,对室内导航和资产跟踪等应用至关重要。
    的头像 发表于 11-01 15:21 308次阅读
    <b class='flag-5'>蓝牙</b>AoA<b class='flag-5'>技术</b>的工作原理和设计原则

    骑行对讲解决方案

    骑行中如何与队友有效沟通,缤美达助力你产品升级
    的头像 发表于 10-23 09:35 145次阅读
    <b class='flag-5'>骑行</b>对讲解决方案

    蓝牙技术联盟发布全新安全精准测距功能 为蓝牙设备带来真实距离感知

    北京, 2024 年 9 月 4 日 ——负责监管蓝牙技术的行业协会蓝牙技术联盟(Bluetooth SIG)今日宣布推出
    发表于 09-04 13:48 781次阅读
    <b class='flag-5'>蓝牙</b><b class='flag-5'>技术</b>联盟发布全新安全精准测距功能 为<b class='flag-5'>蓝牙</b>设备带来真实距离感知

    鸿蒙语言基础类库:system.bluetooth 蓝牙

    开始搜寻附近的低功耗蓝牙外围设备。此操作比较耗费系统资源,请在搜索并连接到设备后调用[bluetooth.stopBLEScan]方法停止搜索。
    的头像 发表于 07-15 17:28 371次阅读
    鸿蒙语言基础类库:system.<b class='flag-5'>bluetooth</b> <b class='flag-5'>蓝牙</b>

    蓝牙定位:蓝牙定位技术有什么用?

    蓝牙定位(Bluetooth Positioning)是一种利用蓝牙技术实现对物体或人员位置进行精确定位的技术。与传统的GPS定位不同,
    的头像 发表于 06-03 13:33 564次阅读
    <b class='flag-5'>蓝牙</b>定位:<b class='flag-5'>蓝牙</b>定位<b class='flag-5'>技术</b>有什么用?

    蓝牙模块选经典蓝牙还是低功耗蓝牙

    energy和Bluetooth smart两者又有什么区别?我的应用应该选经典蓝牙技术还是低功耗蓝牙
    的头像 发表于 05-23 17:57 1106次阅读
    <b class='flag-5'>蓝牙</b>模块选经典<b class='flag-5'>蓝牙</b>还是低功耗<b class='flag-5'>蓝牙</b>?

    蓝牙技术联盟发布《2024年蓝牙市场最新资讯》

    负责监管蓝牙技术的行业协会蓝牙技术联盟(Bluetooth Special Interest Group,SIG)发布年度报告《2024年
    的头像 发表于 05-11 09:46 523次阅读
    <b class='flag-5'>蓝牙</b><b class='flag-5'>技术</b>联盟发布《2024年<b class='flag-5'>蓝牙</b>市场最新资讯》

    芯科科技发布新版蓝牙开发流程

    查看Silicon Labs(亦称“芯科科技”)近日发布新版的蓝牙开发流程(Bluetooth Developer Journey),了解更多关于低功耗蓝牙
    的头像 发表于 01-25 10:09 727次阅读
    芯科科技发布新版<b class='flag-5'>蓝牙</b>开发流程

    纯低功耗蓝牙技术发展势头强劲

    今天要跟大家讨论的是低功耗蓝牙技术(BLE)。就字面意思来说,与经典的蓝牙技术相比,低功耗蓝牙
    的头像 发表于 01-20 10:32 1383次阅读

    蓝牙NLC技术引爆智能照明行业无限潜力

    在物联网领域,设备互联互通一直是众多协议标准力求解决的目标。蓝牙技术联盟(Bluetooth Special Interest Group,SIG)在今年9月发布了Bluetooth
    的头像 发表于 01-11 10:24 337次阅读
    <b class='flag-5'>蓝牙</b>NLC<b class='flag-5'>技术</b>引爆智能照明行业无限潜力

    2024年可预见的蓝牙技术发展趋势

    近期,Silicon Labs(亦称“芯科科技”)负责蓝牙技术的高级产品经理Parker Dorris先生参与蓝牙技术联盟(Bluetooth
    的头像 发表于 01-08 17:27 1439次阅读

    与UWB超宽带定位技术相比,蓝牙AOA定位技术有哪些优势?

    与UWB超宽带定位技术相比,蓝牙AOA定位技术有哪些优势? 蓝牙AOA(Angle of Arrival)定位技术是一种基于
    的头像 发表于 11-30 11:28 777次阅读

    蓝牙低功耗数据传输模式的比较

    蓝牙低功耗(Bluetooth Low Energy,BLE)是一种为能源敏感设备提供高效数据传输的短距离通信蓝牙技术
    的头像 发表于 11-27 15:30 814次阅读