[文章]基于HarmonyOS开发的运动员智能训练系统

阅读量0
0
3

# 开发者说 #

【开发者说】栏目是为HarmonyOS开发者提供的展示和分享平台,在这里,大家可以发表自己的技术洞察和见解,也可以展示自己的开发心得和成果。

欢迎大家积极投稿,即可获得投稿渠道。期待你们的分享~

本期我们给大家带来的是首都经济贸易大学的开发小队****的分享,希望能给你的HarmonyOS开发之旅带来启发~

团队介绍

我们是来自首都经济贸易大学的开发小队,我们的项目“基于HarmonyOS开发的运动员智能训练系统” 在“华为中国大学生ICT大赛2021”创新赛全国总决赛荣获三等奖。

今天就借这个机会和大家分享一下我们基于HarmonyOS的开发过程,希望能给大家也带来一些帮助和启发。

首先介绍一下团队,我们团队共由2名本科生和1名研究生组成,负责整个项目的硬件开发、数据库搭建、软件开发等工作。

图片

项目背景

随着科技的快速发展和热爱运动人数的增多,市场上缺少一些针对半专业或专业化运动员的智能训练设备及管理系统。

首先,对于像学校田径队中的这些半专业或专业化的运动员来说,经过高强度训练后,需要立刻监测心率,以得出“训练强度是否达到?”、“跑动能力和耐力如何?”等结论。但是,目前现状是教练用秒表计时,然后运动员自己掐脉搏测心率,导致测量不准等问题。

其次,训练数据无法实时传送给教练,不利于教练监测训练状况以及更好地为运动员制定下一步训练计划。

最后,当运动员或教练员信息、训练计划等出现错误或者其他意外情况时,管理员如何进行修改等。

对于以上问题和背景,我们基于HarmonyOS设计了适合于半专业化或专业化运动员的智能运动监测系统,不仅解决了运动后心率测量不准的问题;还可以让运动员随时查看以往数据,更好地了解自己的成绩;也让教练可以实时查看队员的训练数据和训练计划,帮助教练制定适合队员的训练方案;还实现了对训练团队、运动员以及教练的数据修改和维护功能。

效果展示

我们的项目包含硬件、软件和数据管理系统三部分(如下表所示)。

图片

基于HarmonyOS的运动员智能训练系统的使用方法:

首先依托训练监测手环收集运动员的心率数据并计算出距离。

然后训练监测手环会将数据实时发送到华为云的云设备接入平台中。云设备接入平台收到数据后,通过数据接入服务来收集和处理数据,并存储至华为云服务器的数据库中。

最后智能运动APP从华为云服务器的数据库中获取数据,展示在手机界面中。让运动员更好地了解自己的成绩;也让教练可以随时查看自己队员的成绩和发布训练计划,帮助教练为队员制定更好的训练方案。效果如图1所示:

图片

图 1 智能运动APP效果图(运动员)

开发分享

我们开发的智能训练系统包括:训练监测手环、智能运动APP HarmonyOS版、数据管理系统三个模块,项目整体架构如图2所示:

图片

图 2 项目架构图

训练监测手环: 有计算距离、计时和检测心率三个功能。手环使用STM32 开发板进行开发,搭载STM32F103C8T6微控制器用于存储、调度、执行程序;使用三轴加速度传感器ADXL345[1],用来获取三个方向上的加速度,用于计算距离与步数;使用心率血氧传感器MAX30102,用于在运动员结束动后检测心率[2];使用Wi-Fi模块ESP8266,编写有在华为云设备接入平台中申请的设备编号、IoTDA域名以及MQTT协议端口号等能够保证数据进行传输的信息,使数据传输到华为云设备接入平台,并存储在产品属性中。

智能运动APP HarmonyOS版: 分为教练员端和运动员端,运动员可以查看自己训练数据、查看教练安排的训练计划等;教练员可以查看队伍训练情况、编辑训练计划等。智能运动APP从华为云服务器中的数据库中获取数据,展示在手机界面中。

智能运动APP 使用了HUAWEI DevEco Studio 开发的,选择了JS语言进行编写,通过fetch方法请求华为云服务器中使用Spring Boot编写的数据接口,实现APP与华为云服务器数据库之间的数据传输;然后使用onchange事件,将界面展示数据与数据库中的数据进行双向绑定;最后使用storage方法,缓存用户信息等数据。

数据管理系统: 主要面向对象为后台管理员,当出现因手环出现故障不能传输数据、因网络信号导致的上传数据错误等问题,需要管理员进行维护。

前端界面使用Vue的Element UI进行搭建,数据通过Ajax请求华为云服务器中使用Spring Boot编写的数据接口,实现平台与华为云服务器数据库之间的数据传输。

心得感悟

在学习HarmonyOS的过程中,我们也遇到很多问题。主要通过HarmonyOS官网文档学习、在华为开发者论坛提问、以及参考三方网站别人分享的帖子来解决。

通过这次项目我们发现学习过程中最重要的一点就是要动手尝试,尝试的过程中会发现很多问题,然后有针对性地解决,这样就可以大大提高项目推进的效率。

第二点就是多多研究他人分享的优质代码,参考别人的代码来优化自己的代码,让自己的代码更实用。并且在研究优质代码时,最好留下自己的注释,便于后续回顾。

第三点就是要趁热打铁,即时做总结,这样不仅可以加深对所学知识或遇到的问题的理解,也为日后进一步开展项目打好基础。

** 未来展望**

我们知道,体育运动可以陶冶情操,保持健康的心态,使个人在社会中实现健康和谐的发展。随着国家对体育的愈发重视,中学生以及大学生的训练也会逐渐趋于专业化,未来我们会跟着HarmonyOS技术的发展一起成长,不断完善我们的项目,让我们的运动员能够高效训练、让这个项目发挥出它的社会价值!

参考文献:

[1] 李易陆,陈洪波,蒋晓旭,李腾生,冯思浩. 基于三轴加速度传感器的人机交互智能手环[J]. 桂林电子科技大学学报,2015,35(05):412-415.

[2] 段志杰. 基于Android传感器模块手机计步器的设计与实现[D].重庆邮电大学,2017.

回帖

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
链接复制成功,分享给好友