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 监测仪),有需要请上网搜索或微信联系小编。

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

    关注

    119

    文章

    6221

    浏览量

    177518
  • Bluetooth Smart
    +关注

    关注

    0

    文章

    17

    浏览量

    9303
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    BLE 5.4时代下,Air8000蓝牙通知与手机读写操作实战攻略

    。 BLE(Bluetooth Low Energy):也称为Bluetooth Smart,是蓝牙4.0及更高版本引入的低功耗无线通信技术
    的头像 发表于 08-13 15:31 675次阅读
    BLE 5.4时代下,Air8000<b class='flag-5'>蓝牙</b>通知与手机读写操作实战攻略

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

    2029年蓝牙设备年出货量预计近 80 亿台   2025 年 6 月 11 日,北京 —— 负责发展蓝牙技术的国际标准组织蓝牙技术联盟(
    发表于 06-11 14:00 1362次阅读
     <b class='flag-5'>蓝牙</b><b class='flag-5'>技术</b>联盟发布《2025年<b class='flag-5'>蓝牙</b>TM市场最新资讯》

    蓝牙低功耗技术与其他无线技术的区别

    蓝牙低功耗技术(以下简称 “Bluetooth LE”)是一种在我们生活中用于多种用途的无线通信技术
    的头像 发表于 06-10 10:56 1477次阅读
    <b class='flag-5'>蓝牙</b>低功耗<b class='flag-5'>技术</b>与其他无线<b class='flag-5'>技术</b>的区别

    蓝牙技术联盟:深化中国布局,拓展5-6GHz频段及HDT等创新技术

    官孔德容(Ken Kolderup)   就在今年3月,蓝牙技术联盟(Bluetooth SIG)宣布正式成立蓝
    的头像 发表于 05-30 09:10 6758次阅读
    <b class='flag-5'>蓝牙</b><b class='flag-5'>技术</b>联盟:深化中国布局,拓展5-6GHz频段及HDT等创新<b class='flag-5'>技术</b>

    蓝牙LE Audio技术简介和优势分析

    蓝牙LE Audio,也称为低功耗音频(Bluetooth Low Energy Audio),是蓝牙技术家族中的最新成员,专门为音频传输而设计。它继承了
    的头像 发表于 05-21 16:08 3039次阅读

    关于低功耗蓝牙连接功耗的评估

    关于低功耗蓝牙连接状态下的功耗评估,推荐一个好用的工具: 对于做低功耗蓝牙开发的小伙伴来说,功耗的评估与测试是绕不开的一个环节,如何快速的评估自己所选用的方案平台,功耗是否能够满足要求呢,可以通过
    发表于 04-26 17:10

    低功耗蓝牙和经典蓝牙,到底怎么选?

    Bluetooth Smart两者又有什么区别?我的应用到底该选经典蓝牙技术还是低功耗蓝牙技术
    的头像 发表于 04-07 16:01 1176次阅读
    低功耗<b class='flag-5'>蓝牙</b>和经典<b class='flag-5'>蓝牙</b>,到底怎么选?

    低功耗蓝牙(BLE)与经典蓝牙(BR/EDR):技术对比与应用场景解析

    蓝牙技术自1994年由爱立信提出以来,已成为无线通信领域的核心技术之一。随着物联网(IoT)和可穿戴设备的兴起,蓝牙技术分化为两大分支:经典
    的头像 发表于 03-27 16:06 6220次阅读
    低功耗<b class='flag-5'>蓝牙</b>(BLE)与经典<b class='flag-5'>蓝牙</b>(BR/EDR):<b class='flag-5'>技术</b>对比与应用场景解析

    低功耗蓝牙智能骑行头盔与码表方案解析

      近年来,随着城市化进程加速与健康生活理念的崛起,骑行已从单纯的代步方式演变为一种融合运动、社交与智能体验的生活方式。然而,传统骑行装备的局限性逐渐暴露——自行车单纯作为交通工具,头盔仅作为被动
    的头像 发表于 03-05 17:35 802次阅读
    低功耗<b class='flag-5'>蓝牙</b>智能<b class='flag-5'>骑行</b>头盔与码表方案解析

    Web Bluetooth SPP(串行端口配置文件)示例

    电缆替代(Cable Replacement)通常指的是通过无线技术,如低功耗蓝牙Bluetooth LE)替代传统的有线连接,例如串行端口配置文件(Serial Port Profile,简称SPP)。
    的头像 发表于 02-28 09:40 1070次阅读

    蓝牙技术联盟宣布2025蓝牙亚洲大会重磅回归

    北京, 2025 年 1 月 15 日 ——蓝牙技术联盟(Bluetooth Special Interest Group,SIG)宣布,蓝牙亚洲大会(
    发表于 01-15 13:44 603次阅读

    蓝牙技术联盟宣布2025蓝牙亚洲大会重磅回归

    1月15日,蓝牙技术联盟(Bluetooth Special Interest Group,SIG)宣布,蓝牙亚洲大会(Bluetooth
    发表于 01-15 13:43 1181次阅读
    <b class='flag-5'>蓝牙</b><b class='flag-5'>技术</b>联盟宣布2025<b class='flag-5'>蓝牙</b>亚洲大会重磅回归

    Smart Eye多项创新技术亮相CES 2025

    在 2025 年国际消费电子展(CES)上,Smart Eye将与Green Hills Software、Sonatus 等公司一同发布关于汽车人工智能技术和出行创新成果。
    的头像 发表于 01-10 09:54 1350次阅读

    锂电电池骑行后多久可以充电?你需要了解的要点!

    还有关于锂电电池或者骑行装备的任何疑问,欢迎随时在评论区留言,咱们一起探讨,让骑行变得更加专业、更加有趣!
    的头像 发表于 01-06 09:42 2434次阅读
    锂电电池<b class='flag-5'>骑行</b>后多久可以充电?你需要了解的要点!

    蓝牙6.0协议扩展应用范围

    芯科科技蓝牙产品经理Parker Dorris通过本文讨论蓝牙6.0(Bluetooth 6.0)版本中添加的最新功能
    的头像 发表于 12-17 17:26 1770次阅读