AST-Monitor is a wearable Raspberry Pi computer for cyclists
Project description
AST-Monitor --- A wearable Raspberry Pi computer for cyclists
๐ป 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
๐ป Graphical User Interface
Basic data: Power at Your Fingertips ๐ช
Interactive map: Embark on a Visual Journey ๐บ๏ธ๐
Interval training data: Unleash Your Inner Athlete ๐โโ๏ธ๐ช
Interval training plan: Unleash the Potential ๐ฏ๐๐ฅ
โ๏ธ Hardware
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 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! ๐๐๐
๐ฅ๏ธ Software
Dependencies ๐ฆ๐
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
๐ฆ 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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ast_monitor-0.5.5.tar.gz.
File metadata
- Download URL: ast_monitor-0.5.5.tar.gz
- Upload date:
- Size: 115.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.13.2 Linux/6.13.10-200.fc41.x86_64
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
450e60826240c9d648812204fdce07f6c229326d0a2ceb02726c66a371a0c1cf
|
|
| MD5 |
25e97aafaaa36996dec3cb3ad21d86e4
|
|
| BLAKE2b-256 |
1ec12b8def557bad02c9cbac58766e5a53b1df09cc55a7fba4446f01ba8b1a8d
|
File details
Details for the file ast_monitor-0.5.5-py3-none-any.whl.
File metadata
- Download URL: ast_monitor-0.5.5-py3-none-any.whl
- Upload date:
- Size: 125.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.13.2 Linux/6.13.10-200.fc41.x86_64
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1351a4e5a78946d26b723b9452a18c2b433f93e02de58efdc6092e523f6a2f4b
|
|
| MD5 |
29860e66c11b2429a97a6fc7258da4fa
|
|
| BLAKE2b-256 |
d5587057579d89b436c12746a26476c300c81521fb17a9752b994b9e966ac4d1
|