ast_monitor
AST-Monitor is a wearable Raspberry Pi computer for cyclists
Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 13 DOI reference(s) in README -
✓Academic publication links
Links to: arxiv.org, mdpi.com -
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.5%) to scientific vocabulary
Keywords
Keywords from Contributors
Repository
AST-Monitor is a wearable Raspberry Pi computer for cyclists
Basic Info
Statistics
- Stars: 6
- Watchers: 4
- Forks: 6
- Open Issues: 3
- Releases: 20
Topics
Metadata Files
README.md
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 💪
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
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:
sh
$ pip install adafruit-circuitpython-gps
📦 Installation
Install AST-Monitor with pip:
sh
$ pip install ast-monitor
In case you want to install directly from the source code, use:
sh
$ 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:
sh
$ dnf install python3-ast-monitor
To install AST-Monitor on Alpine Linux, please use:
sh
$ apk add py3-ast-monitor
To install AST-Monitor on Arch Linux, please use an AUR helper:
sh
$ 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
```python import os import sys
from PyQt6 import QtWidgets
try: from astmonitor.model import AST except ModuleNotFoundError: sys.path.append('../') from astmonitor.model import AST
Paths to the files with heart rates and GPS data.
hrdata = os.path.join(os.path.dirname(os.path.abspath(file)), '..', 'sensordata', 'hr.txt') gpsdata = os.path.join(os.path.dirname(os.path.abspath(file)), '..', 'sensordata', 'gps.txt') routedata = os.path.join(os.path.dirname(os.path.abspath(file_)), '..', 'development', 'routes', 'route.json')
if name == 'main': app = QtWidgets.QApplication(sys.argv) window = AST(hrdata, gpsdata, 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
Iztok Fister Jr. 🐛 📖 💻 🚧 🧑🏫 📦 |
luckyLukac 🐛 📖 💻 🎨 |
Oromion 📦 |
alenrajsp 🖋 💻 🚧 🐛 |
Tatookie 📖 🐛 |
rhododendrom 🎨 |
Sertonix 🐛 |
Tadej Lahovnik 📖 💻 🐛 |
Owner
- Name: Iztok Fister Jr.
- Login: firefly-cpp
- Kind: user
- Location: Slovenia
- Website: http://www.iztok-jr-fister.eu/
- Repositories: 28
- Profile: https://github.com/firefly-cpp
Citation (CITATION.cff)
cff-version: 1.2.0
title: >-
On Deploying the Artificial Sport Trainer into
Practice
message: >-
If you use this software, please cite it using the
metadata from this file.
type: software
authors:
- given-names: Iztok Fister Jr.
name-particle: Iztok
family-names: Fister
name-suffix: Jr.
- given-names: Iztok Fister
name-particle: Iztok
family-names: Fister
- given-names: Andres Iglesias
name-particle: Andres
family-names: Iglesias
- given-names: Akemi Galvez
name-particle: Akemi
family-names: Galvez
- given-names: Suash Deb
name-particle: Suash
family-names: Deb
- given-names: Dušan Fister
name-particle: Dušan
family-names: Fister
identifiers:
- type: doi
value: 10.1109/ISCMI53840.2021.9654817
GitHub Events
Total
- Create event: 17
- Issues event: 7
- Release event: 2
- Watch event: 2
- Delete event: 11
- Issue comment event: 9
- Push event: 19
- Pull request event: 34
- Fork event: 2
Last Year
- Create event: 17
- Issues event: 7
- Release event: 2
- Watch event: 2
- Delete event: 11
- Issue comment event: 9
- Push event: 19
- Pull request event: 34
- Fork event: 2
Committers
Last synced: over 2 years ago
Top Committers
| Name | Commits | |
|---|---|---|
| firefly-cpp | i****k@i****u | 77 |
| luckyLukec | l****c@s****i | 21 |
| allcontributors[bot] | 4****]@u****m | 14 |
| luckyLukac | 7****c@u****m | 8 |
| dependabot[bot] | 4****]@u****m | 2 |
| Carlos Aznarán Laos | c****l@u****e | 1 |
| alenrajsp | a****p@u****i | 1 |
| bozicek | b****k@s****o | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 4 months ago
All Time
- Total issues: 26
- Total pull requests: 109
- Average time to close issues: 5 months
- Average time to close pull requests: 3 days
- Total issue authors: 6
- Total pull request authors: 11
- Average comments per issue: 2.38
- Average comments per pull request: 0.38
- Merged pull requests: 97
- Bot issues: 0
- Bot pull requests: 66
Past Year
- Issues: 3
- Pull requests: 35
- Average time to close issues: about 2 months
- Average time to close pull requests: 9 days
- Issue authors: 2
- Pull request authors: 3
- Average comments per issue: 1.67
- Average comments per pull request: 0.17
- Merged pull requests: 23
- Bot issues: 0
- Bot pull requests: 26
Top Authors
Issue Authors
- firefly-cpp (17)
- MihaMi27 (2)
- luckyLukac (2)
- sertonix (1)
- penguinpee (1)
- PajovicVanja (1)
Pull Request Authors
- dependabot[bot] (70)
- luckyLukac (16)
- allcontributors[bot] (16)
- MihaMi27 (12)
- lahovniktadej (12)
- alenrajsp (6)
- firefly-cpp (2)
- rhododendrom (1)
- zala-lahovnik (1)
- KukovecRok (1)
- carlosal1015 (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 21
-
Total downloads:
- pypi 349 last-month
-
Total dependent packages: 0
(may contain duplicates) -
Total dependent repositories: 0
(may contain duplicates) - Total versions: 88
- Total maintainers: 2
alpine-v3.18: py3-ast-monitor
A wearable Raspberry Pi computer for cyclists
- Homepage: https://github.com/firefly-cpp/AST-Monitor
- License: MIT
-
Latest release: 0.3.2-r1
published over 2 years ago
Rankings
Maintainers (1)
alpine-v3.18: py3-ast-monitor-pyc
Precompiled Python bytecode for py3-ast-monitor
- Homepage: https://github.com/firefly-cpp/AST-Monitor
- License: MIT
-
Latest release: 0.3.2-r1
published over 2 years ago
Rankings
Maintainers (1)
alpine-v3.18: py3-ast-monitor-doc
A wearable Raspberry Pi computer for cyclists (documentation)
- Homepage: https://github.com/firefly-cpp/AST-Monitor
- License: MIT
-
Latest release: 0.3.2-r1
published over 2 years ago
Rankings
Maintainers (1)
alpine-edge: py3-ast-monitor
A wearable Raspberry Pi computer for cyclists
- Homepage: https://github.com/firefly-cpp/AST-Monitor
- License: MIT
-
Latest release: 0.5.5-r0
published 8 months ago
Rankings
Maintainers (1)
alpine-edge: py3-ast-monitor-doc
A wearable Raspberry Pi computer for cyclists (documentation)
- Homepage: https://github.com/firefly-cpp/AST-Monitor
- License: MIT
-
Latest release: 0.5.5-r0
published 8 months ago
Rankings
Maintainers (1)
alpine-edge: py3-ast-monitor-pyc
Precompiled Python bytecode for py3-ast-monitor
- Homepage: https://github.com/firefly-cpp/AST-Monitor
- License: MIT
-
Latest release: 0.5.5-r0
published 8 months ago
Rankings
Maintainers (1)
alpine-v3.17: py3-ast-monitor
A wearable Raspberry Pi computer for cyclists
- Homepage: https://github.com/firefly-cpp/AST-Monitor
- License: MIT
-
Latest release: 0.3.1-r0
published about 3 years ago
Rankings
Maintainers (1)
alpine-v3.17: py3-ast-monitor-doc
A wearable Raspberry Pi computer for cyclists (documentation)
- Homepage: https://github.com/firefly-cpp/AST-Monitor
- License: MIT
-
Latest release: 0.3.1-r0
published about 3 years ago
Rankings
Maintainers (1)
pypi.org: ast_monitor
AST-Monitor is a wearable Raspberry Pi computer for cyclists
- Homepage: https://github.com/firefly-cpp/AST-Monitor
- Documentation: https://ast-monitor.readthedocs.io/en/latest/
- License: MIT
-
Latest release: 0.5.5
published 8 months ago
Rankings
Maintainers (1)
alpine-v3.20: py3-ast-monitor
A wearable Raspberry Pi computer for cyclists
- Homepage: https://github.com/firefly-cpp/AST-Monitor
- License: MIT
-
Latest release: 0.5.0-r1
published over 1 year ago
Rankings
Maintainers (1)
alpine-v3.19: py3-ast-monitor-pyc
Precompiled Python bytecode for py3-ast-monitor
- Homepage: https://github.com/firefly-cpp/AST-Monitor
- License: MIT
-
Latest release: 0.4.2-r3
published about 2 years ago
Rankings
Maintainers (1)
alpine-v3.21: py3-ast-monitor-pyc
Precompiled Python bytecode for py3-ast-monitor
- Homepage: https://github.com/firefly-cpp/AST-Monitor
- License: MIT
-
Latest release: 0.5.2-r0
published over 1 year ago
Rankings
Maintainers (1)
alpine-v3.21: py3-ast-monitor-doc
A wearable Raspberry Pi computer for cyclists (documentation)
- Homepage: https://github.com/firefly-cpp/AST-Monitor
- License: MIT
-
Latest release: 0.5.2-r0
published over 1 year ago
Rankings
Maintainers (1)
alpine-v3.21: py3-ast-monitor
A wearable Raspberry Pi computer for cyclists
- Homepage: https://github.com/firefly-cpp/AST-Monitor
- License: MIT
-
Latest release: 0.5.2-r0
published over 1 year ago
Rankings
Maintainers (1)
alpine-v3.22: py3-ast-monitor-pyc
Precompiled Python bytecode for py3-ast-monitor
- Homepage: https://github.com/firefly-cpp/AST-Monitor
- License: MIT
-
Latest release: 0.5.5-r0
published 8 months ago
Rankings
Maintainers (1)
alpine-v3.22: py3-ast-monitor
A wearable Raspberry Pi computer for cyclists
- Homepage: https://github.com/firefly-cpp/AST-Monitor
- License: MIT
-
Latest release: 0.5.5-r0
published 8 months ago
Rankings
Maintainers (1)
alpine-v3.22: py3-ast-monitor-doc
A wearable Raspberry Pi computer for cyclists (documentation)
- Homepage: https://github.com/firefly-cpp/AST-Monitor
- License: MIT
-
Latest release: 0.5.5-r0
published 8 months ago
Rankings
Maintainers (1)
alpine-v3.20: py3-ast-monitor-doc
A wearable Raspberry Pi computer for cyclists (documentation)
- Homepage: https://github.com/firefly-cpp/AST-Monitor
- License: MIT
-
Latest release: 0.5.0-r1
published over 1 year ago
Rankings
Maintainers (1)
alpine-v3.19: py3-ast-monitor-doc
A wearable Raspberry Pi computer for cyclists (documentation)
- Homepage: https://github.com/firefly-cpp/AST-Monitor
- License: MIT
-
Latest release: 0.4.2-r3
published about 2 years ago
Rankings
alpine-v3.19: py3-ast-monitor
A wearable Raspberry Pi computer for cyclists
- Homepage: https://github.com/firefly-cpp/AST-Monitor
- License: MIT
-
Latest release: 0.4.2-r3
published about 2 years ago
Rankings
Maintainers (1)
alpine-v3.20: py3-ast-monitor-pyc
Precompiled Python bytecode for py3-ast-monitor
- Homepage: https://github.com/firefly-cpp/AST-Monitor
- License: MIT
-
Latest release: 0.5.0-r1
published over 1 year ago
Rankings
Maintainers (1)
Dependencies
- actions/checkout v2 composite
- actions/setup-python v2 composite
- atomicwrites 1.4.1 develop
- colorama 0.4.6 develop
- more-itertools 9.0.0 develop
- pluggy 0.13.1 develop
- py 1.11.0 develop
- pytest 5.4.3 develop
- wcwidth 0.2.6 develop
- aiohttp 3.8.3
- aiosignal 1.3.1
- async-timeout 4.0.2
- attrs 22.2.0
- certifi 2022.12.7
- charset-normalizer 2.1.1
- contourpy 1.0.7
- cycler 0.11.0
- cytoolz 0.12.1
- dotmap 1.3.30
- emoji 1.7.0
- et-xmlfile 1.1.0
- fonttools 4.38.0
- frozenlist 1.3.3
- geographiclib 2.0
- geopy 2.3.0
- geotiler 0.14.7
- gpxpy 1.5.0
- idna 3.4
- joblib 1.2.0
- kiwisolver 1.4.4
- matplotlib 3.6.3
- multidict 6.0.4
- niaaml 1.1.11
- niapy 2.0.4
- numpy 1.24.1
- openant 1.2.0
- openpyxl 3.0.10
- overpy 0.6
- packaging 23.0
- pandas 1.5.3
- pillow 9.4.0
- pyparsing 3.0.9
- pyqt-feedback-flow 0.1.6
- pyqt5 5.15.7
- pyqt5-qt5 5.15.2
- pyqt5-sip 12.11.0
- pyqtwebengine 5.15.6
- pyqtwebengine-qt5 5.15.2
- python-dateutil 2.8.2
- pytz 2022.7.1
- pyusb 1.2.1
- requests 2.28.2
- scikit-learn 1.2.1
- scipy 1.9.3
- setuptools-scm 7.1.0
- six 1.16.0
- sport-activities-features 0.3.9
- tcxreader 0.4.4
- threadpoolctl 3.1.0
- tomli 2.0.1
- toolz 0.12.0
- typing-extensions 4.4.0
- urllib3 1.26.14
- yarl 1.8.2
- pytest ^5.2 develop
- PyQt5 *
- PyQtWebEngine ^5.15.5
- geopy *
- matplotlib *
- openant ^1.2.0
- pyqt-feedback-flow ^0.1.6
- python ^3.9
- sport-activities-features ^0.3.7.1
- tcxreader ^0.4.2
- PyQt5 *
- geopy *
- matplotlib *
- pyqt-feedback-flow *
- sport-activities-features *
- tcxreader *
- 238 dependencies
- @tsconfig/node18 ^18.2.0 development
- @types/leaflet ^1.9.3 development
- @types/node ^18.17.5 development
- @vitejs/plugin-vue ^4.3.1 development
- @vitejs/plugin-vue-jsx ^3.0.2 development
- @vue/runtime-dom ^3.3.4 development
- @vue/tsconfig ^0.4.0 development
- npm-run-all ^4.1.5 development
- typescript ~5.1.6 development
- vite ^4.4.9 development
- vue-tsc ^1.8.8 development
- @popperjs/core ^2.11.8
- @vue-leaflet/vue-leaflet ^0.10.1
- bootstrap ^5.3.1
- bootstrap-icons ^1.10.5
- leaflet ^1.9.4
- oh-vue-icons ^1.0.0-rc3
- pinia ^2.1.6
- primeflex ^3.3.1
- primevue ^3.32.2
- vue ^3.3.4
- Sphinx *
- sphinx-rtd-theme *
- sphinxcontrib-bibtex *