AST-Monitor is a wearable Raspberry Pi computer for cyclists
Project description
AST-Monitor --- A wearable Raspberry Pi computer for cyclists
- 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
Short description
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. ๐๐ก
Graphical User Interface of the application
Basic data: Power at Your Fingertips ๐ช
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. ๐ฑ๐ดโโ๏ธ
Interactive map: Embark on a Visual Journey ๐บ๏ธ๐
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. ๐๐ดโโ๏ธ๐บ๏ธ
Interval training data: Unleash Your Inner Athlete ๐โโ๏ธ๐ช
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! ๐๏ธโโ๏ธ
Interval training plan: Unleash the Potential ๐ฏ๐๐ฅ
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. ๐๐๐ฅ
Hardware outline: Where Innovation Meets Performance โ๏ธ๐ฉ๐ก
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 touch screen 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! ๐๐๐
Software outline
Dependencies
List of dependencies:
Package | Version | Platform |
---|---|---|
PyQt5 | ^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
Installation
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
Deployment
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.
Examples
Basic run
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())
License
This package is distributed under the MIT License. This license can be found online at http://www.opensource.org/licenses/MIT.
Disclaimer
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!
Cite us
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.
Further read
[1] Awesome Computational Intelligence in Sports
Related packages/frameworks
[2] ast-tdl: Training Description Language for Artificial Sport Trainer
References
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
Contributors
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for ast_monitor-0.5.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b2f562e0cff4a6ea0cf726dbe9d34f0105add209c8554d78e49e18688c9ff873 |
|
MD5 | 6563f7cb2741d4e65c75f0856d4f3376 |
|
BLAKE2b-256 | 055f7c9aa719a29c4a4346fffe0fd3a588abfb193293195a4e865bd379fa9913 |