π» Graphical User Interface β’ βοΈ Hardware β’ π₯οΈ Software β’ π¦ Installation β’ π’ Deployment β’ π Examples β’ π License β’ π Cite us β’ π Further read β’ π Related packages β’ π References β’ π« Contributors
Welcome to AST-Monitor: Revolutionizing Sport Training Sessions! ποΈββοΈ This repository aims to introduce a low-cost, and efficient embedded device that can transform the way you monitor cycling training sessions. Allow us to present AST-Monitor.
To begin, we invite you to explore the paper that introduces the capabilities of AST-Monitor. Dive into the future of artificial sports trainers by reading this paper. ππ‘
The initial page of the AST-Monitor application presents essential parameters, providing real-time insights into an athlete's performance. Gain access to information such as the athlete's current speed and heart rate. After a training session, you'll also receive a comprehensive overview, including total distance covered, session duration, and total ascent conquered. π±π΄ββοΈ
As you navigate uncharted territories, this map reveals your precise location in real-time. And allows you to track your progress on the route in real time. ππ΄ββοΈπΊοΈ
Discover the duration of each phase, track your current heart rate, and marvel at the average heart rate achieved. But that's not allβbrace yourself for the Digital Twin proposed heart rate and witness the thrilling difference between your current heart rate and the proposed target. Prepare to dominate your workouts with the AST-Monitor! ποΈββοΈ
Load up and embark on thrilling interval trainings that await you in the "AST-Monitor/development/trainings" folder. These trainings, meticulously crafted in the domain-specific language AST-TDL, are designed to take you to the next level. Once successfully loaded, witness the training plan come to life before your eyes. πππ₯
Prepare to be dazzled by the complete hardware setup featured in AST-Monitor.
Let's take a closer look at the components:
But that's not all:
A Serial Peripheral Interface (SPI) protocol ensures seamless communication between the Raspberry Pi and the GPS peripheral, guaranteeing accurate and timely data. The screen display, connected using a physically shortened HDMI cable, ensures a sleek and compact design that doesn't compromise performance.
During the testing phase, the AST-Monitor prototype was powered by Trust's 5 VDC power bank, providing unparalleled endurance. While the current prototype may be a bit bulky, rest assured, our team is hard at work, exploring sleeker and more discreet solutions. πͺπ¦
For those who crave a glimpse inside AST-Monitor:
Welcome to the next stage of sports training. Welcome to AST-Monitorβyour ultimate companion on the road to victory! πππ
List of dependencies:
Package | Version | Platform |
---|---|---|
PyQt6 | ^5.15.6 | All |
matplotlib | ^3.5.1 | All |
geopy | ^2.2.0 | All |
openant | ^1.2.0 | All |
pyqt-feedback-flow | ^0.1.0 | All |
tcxreader | ^0.4.1 | All |
sport-activities-features | ^0.3.6 | All |
Additional note: adafruit-circuitpython-gps package must be installed in order to work with the GPS sensor:
$ pip install adafruit-circuitpython-gps
Install AST-Monitor with pip:
$ pip install ast-monitor
In case you want to install directly from the source code, use:
$ git clone https://github.com/firefly-cpp/AST-Monitor.git
$ cd AST-Monitor
$ poetry build
$ python setup.py install
To install AST-Monitor on Fedora Linux, please use:
$ dnf install python3-ast-monitor
To install AST-Monitor on Alpine Linux, please use:
$ apk add py3-ast-monitor
To install AST-Monitor on Arch Linux, please use an AUR helper:
$ yay -Syyu python-ast-monitor
Our project was deployed on a Raspberry Pi device using Raspberry Pi OS.
The hardware configuration of AST-Monitor using Raspberry Pi OS is described in HARDWARE_CONFIGURATION.md.
import os
import sys
from PyQt6 import QtWidgets
try:
from ast_monitor.model import AST
except ModuleNotFoundError:
sys.path.append('../')
from ast_monitor.model import AST
# Paths to the files with heart rates and GPS data.
hr_data = os.path.join(os.path.dirname(os.path.abspath(__file__)), '..', 'sensor_data', 'hr.txt')
gps_data = os.path.join(os.path.dirname(os.path.abspath(__file__)), '..', 'sensor_data', 'gps.txt')
route_data = os.path.join(os.path.dirname(os.path.abspath(__file__)), '..', 'development', 'routes', 'route.json')
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
window = AST(hr_data, gps_data, route_data)
window.show()
sys.exit(app.exec())
This package is distributed under the MIT License. This license can be found online at http://www.opensource.org/licenses/MIT.
This framework is provided as-is, and there are no guarantees that it fits your purposes or that it is bug-free. Use it at your own risk!
LukaΔ, L., Fister Jr., I., Fister, I. "Digital Twin in Sport: From an Idea to Realization." Applied Sciences 12.24 (2022): 12741, DOI: 10.3390/app122412741.
[1] Awesome Computational Intelligence in Sports
[2] ast-tdl: Training Description Language for Artificial Sport Trainer
Fister Jr, I., Fister, I., Iglesias, A., Galvez, A., Deb, S., & Fister, D. (2021). On deploying the Artificial Sport Trainer into practice. arXiv preprint arXiv:2109.13334.
Fister Jr, I., Salcedo-Sanz, S., Iglesias, A., Fister, D., GΓ‘lvez, A., & Fister, I. (2021). New Perspectives in the Development of the Artificial Sport Trainer. Applied Sciences, 11(23), 11452. DOI: 10.3390/app112311452