💻 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. 📄💡
- Free software: MIT license
- Python versions: 3.8.x, 3.9.x, 3.10.x, 3.11.x, 3.12.x
- Documentation: https://ast-monitor.readthedocs.io/en/latest
- Tested OS: Windows, Ubuntu, Fedora, Alpine, Arch, macOS. However, that does not mean it does not work on others
Prepare to be dazzled by the complete hardware setup featured in AST-Monitor.
Let's take a closer look at the components:
- A platform with fixing straps that securely attach to your bicycle, ensuring a seamless training experience. 🚲🔒
- The powerful Raspberry Pi 4 Model B micro-controller, powered by the dynamic Raspbian OS. 💻
- A five-inch LCD touchscreen display, allowing the interaction with AST-Monitor during the training. ✨🖥️
- Equipped with a USB ANT+ stick, AST-Monitor captures the heartbeat of your training, providing crucial data for your journey to greatness. 📡
- Adafruit's Ultimate GPS HAT module joins the lineup, empowering you with location information and paving the way for GPS integration (coming soon!). 🌐🛰️
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
Iztok Fister Jr. 🐛 📖 💻 🚧 🧑🏫 📦 |
luckyLukac 🐛 📖 💻 🎨 |
Oromion 📦 |
alenrajsp 🖋 💻 🚧 🐛 |
Tatookie 📖 🐛 |
rhododendrom 🎨 |
Sertonix 🐛 |
Tadej Lahovnik 📖 💻 🐛 |