ast_monitor


Nameast_monitor JSON
Version 0.5.3 PyPI version JSON
download
home_pagehttps://github.com/firefly-cpp/AST-Monitor
SummaryAST-Monitor is a wearable Raspberry Pi computer for cyclists
upload_time2024-12-18 18:22:30
maintainerNone
docs_urlNone
authorIztok Fister Jr.
requires_python<4.0,>=3.9
licenseMIT
keywords artificial sport trainer computational intelligence data mining datasets digital twin optimization sport activities tcx
VCS
bugtrack_url
requirements PyQt6 matplotlib geopy pyqt-feedback-flow tcxreader sport-activities-features
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <p align="center">
  <img width="300" src=".github/img/logo.png" alt="logo.png">
</p>

<h1 align="center">
AST-Monitor --- A wearable Raspberry Pi computer for cyclists
</h1>

<p align="center">
  <img alt="PyPI Version" src="https://img.shields.io/pypi/v/ast-monitor.svg" href="https://pypi.python.org/pypi/ast-monitor">
  <img alt="PyPI - Python Version" src="https://img.shields.io/pypi/pyversions/ast-monitor.svg">
  <img alt="PyPI - Downloads" src="https://img.shields.io/pypi/dm/ast-monitor.svg">
  <img alt="Fedora package" src="https://img.shields.io/fedora/v/python3-ast-monitor?color=blue&label=Fedora%20Linux&logo=fedora" href="https://src.fedoraproject.org/rpms/python-ast-monitor">
  <img alt="AUR package" src="https://img.shields.io/aur/version/python-ast-monitor?color=blue&label=Arch%20Linux&logo=arch-linux" href="https://aur.archlinux.org/packages/python-ast-monitor">
  <img alt="GitHub license" src="https://img.shields.io/github/license/firefly-cpp/ast-monitor.svg" href="https://github.com/firefly-cpp/AST-Monitor/blob/master/LICENSE">
  <img alt="Check codestyle and test build" src="https://github.com/firefly-cpp/AST-Monitor/actions/workflows/python-app.yml/badge.svg">
  <img alt="Documentation Status" src="https://readthedocs.org/projects/ast-monitor/badge/?version=latest" href="http://ast-monitor.readthedocs.io/en/latest/?badge=latest">
</p>

<p align="center">
  <img alt="GitHub commit activity" src="https://img.shields.io/github/commit-activity/w/firefly-cpp/ast-monitor.svg">
  <img alt="GitHub repo size" src="https://img.shields.io/github/repo-size/firefly-cpp/ast-monitor">
  <img alt="GitHub contributors" src="https://img.shields.io/github/contributors/firefly-cpp/ast-monitor.svg">
  <img alt="All Contributors" src="https://img.shields.io/badge/all_contributors-4-orange.svg" href="#-contributors">
</p>

<p align="center">
  <img alt="DOI" src="https://img.shields.io/badge/DOI-10.1109/ISCMI53840.2021.9654817-blue" href="https://doi.org/10.3390/app122412741">
  <img alt="DOI" src="https://img.shields.io/badge/DOI-10.3390/app122412741-blue" href="https://doi.org/10.3390/app122412741">  
</p>

<p align="center">
  <a href="#-graphical-user-interface">πŸ’» Graphical User Interface</a> β€’
  <a href="#️-hardware">βš™οΈ Hardware</a> β€’
  <a href="#️-software">πŸ–₯️ Software</a> β€’
  <a href="#-installation">πŸ“¦ Installation</a> β€’
  <a href="#-deployment">πŸ“’ Deployment</a> β€’
  <a href="#-examples">πŸš€ Examples</a> β€’
  <a href="#-license">πŸ”‘ License</a> β€’
  <a href="#-cite-us">πŸ“„ Cite us</a> β€’
  <a href="#-further-read">πŸ“– Further read</a> β€’
  <a href="#-related-packagesframeworks">πŸ”— Related packages</a> β€’
  <a href="#-references">πŸ“ References</a> β€’
  <a href="#-contributors">πŸ«‚ Contributors</a>
</p>

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](https://arxiv.org/abs/2109.13334). πŸ“„πŸ’‘

* **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](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 πŸ’ͺ

<p align="center">
  <img width="600" src="https://user-images.githubusercontent.com/73126820/179205064-160bdd44-fd67-4d8d-85dd-badea999885c.png" alt="AST-GUI">
</p>
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 πŸ—ΊοΈπŸš€

<p align="center">
  <img width="600" src="https://github.com/alenrajsp/AST-Monitor/blob/main/.github/img/route3.png?raw=true" alt="AST-Map">
</p>
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 πŸƒβ€β™€οΈπŸ’ͺ

<p align="center">
  <img width="600" src="https://user-images.githubusercontent.com/73126820/179205160-edce581c-1ea8-4287-a795-7d05fb7c8ddc.png" alt="AST-Intervals">
</p>
  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 πŸ’―πŸ“πŸ’₯

<p align="center">
  <img width="600" src="https://user-images.githubusercontent.com/73126820/189926103-e0895132-9bbc-41bf-8868-51e3e6c23f8a.png" alt="AST-Trainings">
</p>
 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 <a href="https://github.com/firefly-cpp/ast-tdl">AST-TDL</a>, 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.

<p align="center">
  <img width="600" src="https://raw.githubusercontent.com/firefly-cpp/AST-Monitor/main/.github/img/complete_small.JPG" alt="AST-Monitor">
</p>

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:

<p align="center">
  <img width="600" src="https://user-images.githubusercontent.com/73126820/189920171-ac946a93-ad78-4e4b-bf09-5de5bf69bef9.png" alt="AST-Monitor">
</p>

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](https://wiki.archlinux.org/title/AUR_helpers):

```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 <a href="https://github.com/firefly-cpp/AST-Monitor/blob/main/HARDWARE_CONFIGURATION.md">
HARDWARE_CONFIGURATION.md</a>.

## πŸš€ Examples

### Basic run

```python
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](https://www.mdpi.com/2076-3417/12/24/12741)." Applied Sciences
12.24 (2022): 12741, DOI: [10.3390/app122412741](http://dx.doi.org/10.3390/app122412741).

## πŸ“– Further read
[1] [Awesome Computational Intelligence in Sports](https://github.com/firefly-cpp/awesome-computational-intelligence-in-sports)

## πŸ”— Related packages/frameworks

[1] [sport-activities-features: A minimalistic toolbox for extracting features from sports activity files written in Python](https://github.com/firefly-cpp/sport-activities-features)

[2] [ast-tdl: Training Description Language for Artificial Sport Trainer](https://github.com/firefly-cpp/ast-tdl)

## πŸ“ 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](https://arxiv.org/abs/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](https://doi.org/10.3390/app112311452)

## πŸ«‚ Contributors

<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<table>
  <tbody>
    <tr>
      <td align="center" valign="top" width="14.28%"><a href="http://www.iztok-jr-fister.eu/"><img src="https://avatars.githubusercontent.com/u/1633361?v=4?s=100" width="100px;" alt="Iztok Fister Jr."/><br /><sub><b>Iztok Fister Jr.</b></sub></a><br /><a href="https://github.com/firefly-cpp/AST-Monitor/issues?q=author%3Afirefly-cpp" title="Bug reports">πŸ›</a> <a href="https://github.com/firefly-cpp/AST-Monitor/commits?author=firefly-cpp" title="Documentation">πŸ“–</a> <a href="https://github.com/firefly-cpp/AST-Monitor/commits?author=firefly-cpp" title="Code">πŸ’»</a> <a href="#maintenance-firefly-cpp" title="Maintenance">🚧</a> <a href="#mentoring-firefly-cpp" title="Mentoring">πŸ§‘β€πŸ«</a> <a href="#platform-firefly-cpp" title="Packaging/porting to new platform">πŸ“¦</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/luckyLukac"><img src="https://avatars.githubusercontent.com/u/73126820?v=4?s=100" width="100px;" alt="luckyLukac"/><br /><sub><b>luckyLukac</b></sub></a><br /><a href="https://github.com/firefly-cpp/AST-Monitor/issues?q=author%3AluckyLukac" title="Bug reports">πŸ›</a> <a href="https://github.com/firefly-cpp/AST-Monitor/commits?author=luckyLukac" title="Documentation">πŸ“–</a> <a href="https://github.com/firefly-cpp/AST-Monitor/commits?author=luckyLukac" title="Code">πŸ’»</a> <a href="#design-luckyLukac" title="Design">🎨</a></td>
      <td align="center" valign="top" width="14.28%"><a href="http://carlosal1015.github.io"><img src="https://avatars.githubusercontent.com/u/21283014?v=4?s=100" width="100px;" alt="Oromion"/><br /><sub><b>Oromion</b></sub></a><br /><a href="#platform-carlosal1015" title="Packaging/porting to new platform">πŸ“¦</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/alenrajsp"><img src="https://avatars.githubusercontent.com/u/27721714?v=4?s=100" width="100px;" alt="alenrajsp"/><br /><sub><b>alenrajsp</b></sub></a><br /><a href="#content-alenrajsp" title="Content">πŸ–‹</a> <a href="https://github.com/firefly-cpp/AST-Monitor/commits?author=alenrajsp" title="Code">πŸ’»</a> <a href="#maintenance-alenrajsp" title="Maintenance">🚧</a> <a href="https://github.com/firefly-cpp/AST-Monitor/issues?q=author%3Aalenrajsp" title="Bug reports">πŸ›</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/KukovecRok"><img src="https://avatars.githubusercontent.com/u/33880044?v=4?s=100" width="100px;" alt="Tatookie"/><br /><sub><b>Tatookie</b></sub></a><br /><a href="https://github.com/firefly-cpp/AST-Monitor/commits?author=KukovecRok" title="Documentation">πŸ“–</a> <a href="https://github.com/firefly-cpp/AST-Monitor/issues?q=author%3AKukovecRok" title="Bug reports">πŸ›</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/rhododendrom"><img src="https://avatars.githubusercontent.com/u/3198785?v=4?s=100" width="100px;" alt="rhododendrom"/><br /><sub><b>rhododendrom</b></sub></a><br /><a href="#design-rhododendrom" title="Design">🎨</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/sertonix"><img src="https://avatars.githubusercontent.com/u/83883937?v=4?s=100" width="100px;" alt="Sertonix"/><br /><sub><b>Sertonix</b></sub></a><br /><a href="https://github.com/firefly-cpp/AST-Monitor/issues?q=author%3Asertonix" title="Bug reports">πŸ›</a></td>
    </tr>
    <tr>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/lahovniktadej"><img src="https://avatars.githubusercontent.com/u/57890734?v=4?s=100" width="100px;" alt="Tadej Lahovnik"/><br /><sub><b>Tadej Lahovnik</b></sub></a><br /><a href="https://github.com/firefly-cpp/AST-Monitor/commits?author=lahovniktadej" title="Documentation">πŸ“–</a> <a href="https://github.com/firefly-cpp/AST-Monitor/commits?author=lahovniktadej" title="Code">πŸ’»</a> <a href="https://github.com/firefly-cpp/AST-Monitor/issues?q=author%3Alahovniktadej" title="Bug reports">πŸ›</a></td>
    </tr>
  </tbody>
</table>

<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->

<!-- ALL-CONTRIBUTORS-LIST:END -->
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->

<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->

<!-- ALL-CONTRIBUTORS-LIST:END -->

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/firefly-cpp/AST-Monitor",
    "name": "ast_monitor",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.9",
    "maintainer_email": null,
    "keywords": "artificial sport trainer, computational intelligence, data mining, datasets, digital twin, optimization, sport activities, tcx",
    "author": "Iztok Fister Jr.",
    "author_email": "iztok@iztok-jr-fister.eu",
    "download_url": "https://files.pythonhosted.org/packages/47/d6/ace55d15fa67180211ebeb41b63a11c9bf8ffff79feda84282d152b0c6f2/ast_monitor-0.5.3.tar.gz",
    "platform": null,
    "description": "<p align=\"center\">\n  <img width=\"300\" src=\".github/img/logo.png\" alt=\"logo.png\">\n</p>\n\n<h1 align=\"center\">\nAST-Monitor --- A wearable Raspberry Pi computer for cyclists\n</h1>\n\n<p align=\"center\">\n  <img alt=\"PyPI Version\" src=\"https://img.shields.io/pypi/v/ast-monitor.svg\" href=\"https://pypi.python.org/pypi/ast-monitor\">\n  <img alt=\"PyPI - Python Version\" src=\"https://img.shields.io/pypi/pyversions/ast-monitor.svg\">\n  <img alt=\"PyPI - Downloads\" src=\"https://img.shields.io/pypi/dm/ast-monitor.svg\">\n  <img alt=\"Fedora package\" src=\"https://img.shields.io/fedora/v/python3-ast-monitor?color=blue&label=Fedora%20Linux&logo=fedora\" href=\"https://src.fedoraproject.org/rpms/python-ast-monitor\">\n  <img alt=\"AUR package\" src=\"https://img.shields.io/aur/version/python-ast-monitor?color=blue&label=Arch%20Linux&logo=arch-linux\" href=\"https://aur.archlinux.org/packages/python-ast-monitor\">\n  <img alt=\"GitHub license\" src=\"https://img.shields.io/github/license/firefly-cpp/ast-monitor.svg\" href=\"https://github.com/firefly-cpp/AST-Monitor/blob/master/LICENSE\">\n  <img alt=\"Check codestyle and test build\" src=\"https://github.com/firefly-cpp/AST-Monitor/actions/workflows/python-app.yml/badge.svg\">\n  <img alt=\"Documentation Status\" src=\"https://readthedocs.org/projects/ast-monitor/badge/?version=latest\" href=\"http://ast-monitor.readthedocs.io/en/latest/?badge=latest\">\n</p>\n\n<p align=\"center\">\n  <img alt=\"GitHub commit activity\" src=\"https://img.shields.io/github/commit-activity/w/firefly-cpp/ast-monitor.svg\">\n  <img alt=\"GitHub repo size\" src=\"https://img.shields.io/github/repo-size/firefly-cpp/ast-monitor\">\n  <img alt=\"GitHub contributors\" src=\"https://img.shields.io/github/contributors/firefly-cpp/ast-monitor.svg\">\n  <img alt=\"All Contributors\" src=\"https://img.shields.io/badge/all_contributors-4-orange.svg\" href=\"#-contributors\">\n</p>\n\n<p align=\"center\">\n  <img alt=\"DOI\" src=\"https://img.shields.io/badge/DOI-10.1109/ISCMI53840.2021.9654817-blue\" href=\"https://doi.org/10.3390/app122412741\">\n  <img alt=\"DOI\" src=\"https://img.shields.io/badge/DOI-10.3390/app122412741-blue\" href=\"https://doi.org/10.3390/app122412741\">  \n</p>\n\n<p align=\"center\">\n  <a href=\"#-graphical-user-interface\">\ud83d\udcbb Graphical User Interface</a> \u2022\n  <a href=\"#\ufe0f-hardware\">\u2699\ufe0f Hardware</a> \u2022\n  <a href=\"#\ufe0f-software\">\ud83d\udda5\ufe0f Software</a> \u2022\n  <a href=\"#-installation\">\ud83d\udce6 Installation</a> \u2022\n  <a href=\"#-deployment\">\ud83d\udce2 Deployment</a> \u2022\n  <a href=\"#-examples\">\ud83d\ude80 Examples</a> \u2022\n  <a href=\"#-license\">\ud83d\udd11 License</a> \u2022\n  <a href=\"#-cite-us\">\ud83d\udcc4 Cite us</a> \u2022\n  <a href=\"#-further-read\">\ud83d\udcd6 Further read</a> \u2022\n  <a href=\"#-related-packagesframeworks\">\ud83d\udd17 Related packages</a> \u2022\n  <a href=\"#-references\">\ud83d\udcdd References</a> \u2022\n  <a href=\"#-contributors\">\ud83e\udec2 Contributors</a>\n</p>\n\nWelcome to AST-Monitor: Revolutionizing Sport Training Sessions! \ud83c\udfcb\ufe0f\u200d\u2642\ufe0f This repository aims to introduce a low-cost, and efficient embedded device that can transform the way you monitor\ncycling training sessions. Allow us to present AST-Monitor.\n\nTo 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](https://arxiv.org/abs/2109.13334). \ud83d\udcc4\ud83d\udca1\n\n* **Free software:** MIT license\n* **Python versions:** 3.8.x, 3.9.x, 3.10.x, 3.11.x, 3.12.x\n* **Documentation:** [https://ast-monitor.readthedocs.io/en/latest](https://ast-monitor.readthedocs.io/en/latest)\n* **Tested OS:** Windows, Ubuntu, Fedora, Alpine, Arch, macOS. **However, that does not mean it does not work on others**\n\n## \ud83d\udcbb Graphical User Interface\n\n### Basic data: Power at Your Fingertips \ud83d\udcaa\n\n<p align=\"center\">\n  <img width=\"600\" src=\"https://user-images.githubusercontent.com/73126820/179205064-160bdd44-fd67-4d8d-85dd-badea999885c.png\" alt=\"AST-GUI\">\n</p>\nThe 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. \ud83d\udcf1\ud83d\udeb4\u200d\u2642\ufe0f\n\n### Interactive map: Embark on a Visual Journey \ud83d\uddfa\ufe0f\ud83d\ude80\n\n<p align=\"center\">\n  <img width=\"600\" src=\"https://github.com/alenrajsp/AST-Monitor/blob/main/.github/img/route3.png?raw=true\" alt=\"AST-Map\">\n</p>\nAs 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. \ud83c\udf0d\ud83d\udeb4\u200d\u2642\ufe0f\ud83d\uddfa\ufe0f\n\n### Interval training data: Unleash Your Inner Athlete \ud83c\udfc3\u200d\u2640\ufe0f\ud83d\udcaa\n\n<p align=\"center\">\n  <img width=\"600\" src=\"https://user-images.githubusercontent.com/73126820/179205160-edce581c-1ea8-4287-a795-7d05fb7c8ddc.png\" alt=\"AST-Intervals\">\n</p>\n  Discover the duration of each phase, track your current heart rate, and marvel at the average heart rate achieved. But that's not all\u2014brace 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! \ud83c\udfcb\ufe0f\u200d\u2640\ufe0f\n\n### Interval training plan: Unleash the Potential \ud83d\udcaf\ud83d\udcdd\ud83d\udca5\n\n<p align=\"center\">\n  <img width=\"600\" src=\"https://user-images.githubusercontent.com/73126820/189926103-e0895132-9bbc-41bf-8868-51e3e6c23f8a.png\" alt=\"AST-Trainings\">\n</p>\n 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 <a href=\"https://github.com/firefly-cpp/ast-tdl\">AST-TDL</a>, are designed to take you to the next level. Once successfully loaded, witness the training plan come to life before your eyes. \ud83d\ude80\ud83d\udccb\ud83d\udca5\n\n## \u2699\ufe0f Hardware\n### Where Innovation Meets Performance \u2699\ufe0f\ud83d\udd29\ud83d\udca1\n\nPrepare to be dazzled by the complete hardware setup featured in AST-Monitor.\n\n<p align=\"center\">\n  <img width=\"600\" src=\"https://raw.githubusercontent.com/firefly-cpp/AST-Monitor/main/.github/img/complete_small.JPG\" alt=\"AST-Monitor\">\n</p>\n\nLet's take a closer look at the components:\n\n* **A platform with fixing straps** that securely attach to your bicycle, ensuring a seamless training experience. \ud83d\udeb2\ud83d\udd12\n* **The powerful Raspberry Pi 4 Model B micro-controller**, powered by the dynamic Raspbian OS. \ud83d\udcbb\n* **A five-inch LCD touchscreen display**, allowing the interaction with AST-Monitor during the training. \u2728\ud83d\udda5\ufe0f\n* **Equipped with a USB ANT+ stick**, AST-Monitor captures the heartbeat of your training, providing crucial data for your journey to greatness. \ud83d\udce1\n* **Adafruit's Ultimate GPS HAT module** joins the lineup, empowering you with location information and paving the way for GPS integration (coming soon!). \ud83c\udf10\ud83d\udef0\ufe0f\n\nBut that's not all:\n\nA Serial Peripheral Interface (SPI) protocol ensures seamless communication between the Raspberry Pi and the GPS\nperipheral, guaranteeing accurate and timely data. The screen display, connected using a physically shortened HDMI\ncable, ensures a sleek and compact design that doesn't compromise performance.\n\nDuring the testing phase, the AST-Monitor prototype was powered by Trust's 5 VDC power bank, providing unparalleled\nendurance. While the current prototype may be a bit bulky, rest assured, our team is hard at work, exploring sleeker and\nmore discreet solutions. \ud83d\udcaa\ud83d\udca6\n\nFor those who crave a glimpse inside AST-Monitor:\n\n<p align=\"center\">\n  <img width=\"600\" src=\"https://user-images.githubusercontent.com/73126820/189920171-ac946a93-ad78-4e4b-bf09-5de5bf69bef9.png\" alt=\"AST-Monitor\">\n</p>\n\nWelcome to the next stage of sports training. Welcome to AST-Monitor\u2014your ultimate companion on the road to victory!\n\ud83c\udf1f\ud83c\udfc6\ud83d\ude80\n\n## \ud83d\udda5\ufe0f Software\n\n### Dependencies \ud83d\udce6\ud83d\udd17\n\nList of dependencies:\n\n| Package                   | Version | Platform |\n|---------------------------|:-------:|:--------:|\n| PyQt6                     | ^5.15.6 |   All    |\n| matplotlib                | ^3.5.1  |   All    |\n| geopy                     | ^2.2.0  |   All    |\n| openant                   | ^1.2.0  |   All    |\n| pyqt-feedback-flow        | ^0.1.0  |   All    |\n| tcxreader                 | ^0.4.1  |   All    |\n| sport-activities-features | ^0.3.6  |   All    |\n\nAdditional note: adafruit-circuitpython-gps package must be installed in order to work with the GPS sensor:\n\n```sh\n$ pip install adafruit-circuitpython-gps\n```\n\n## \ud83d\udce6 Installation\n\nInstall AST-Monitor with pip:\n\n```sh\n$ pip install ast-monitor\n```\n\nIn case you want to install directly from the source code, use:\n\n```sh\n$ git clone https://github.com/firefly-cpp/AST-Monitor.git\n$ cd AST-Monitor\n$ poetry build\n$ python setup.py install\n```\n\nTo install AST-Monitor on Fedora Linux, please use:\n\n```sh\n$ dnf install python3-ast-monitor\n```\n\nTo install AST-Monitor on Alpine Linux, please use:\n\n```sh\n$ apk add py3-ast-monitor\n```\n\nTo install AST-Monitor on Arch Linux, please use an [AUR helper](https://wiki.archlinux.org/title/AUR_helpers):\n\n```sh\n$ yay -Syyu python-ast-monitor\n```\n\n## \ud83d\udce2 Deployment\n\nOur project was deployed on a Raspberry Pi device using Raspberry Pi OS.\n\nThe hardware configuration of AST-Monitor using Raspberry Pi OS is described\nin <a href=\"https://github.com/firefly-cpp/AST-Monitor/blob/main/HARDWARE_CONFIGURATION.md\">\nHARDWARE_CONFIGURATION.md</a>.\n\n## \ud83d\ude80 Examples\n\n### Basic run\n\n```python\nimport os\nimport sys\n\nfrom PyQt6 import QtWidgets\n\ntry:\n    from ast_monitor.model import AST\nexcept ModuleNotFoundError:\n    sys.path.append('../')\n    from ast_monitor.model import AST\n\n# Paths to the files with heart rates and GPS data.\nhr_data = os.path.join(os.path.dirname(os.path.abspath(__file__)), '..', 'sensor_data', 'hr.txt')\ngps_data = os.path.join(os.path.dirname(os.path.abspath(__file__)), '..', 'sensor_data', 'gps.txt')\nroute_data = os.path.join(os.path.dirname(os.path.abspath(__file__)), '..', 'development', 'routes', 'route.json')\n\nif __name__ == '__main__':\n    app = QtWidgets.QApplication(sys.argv)\n    window = AST(hr_data, gps_data, route_data)\n    window.show()\n    sys.exit(app.exec())\n```\n\n## \ud83d\udd11 License\n\nThis package is distributed under the MIT License. This license can be found online\nat <http://www.opensource.org/licenses/MIT>.\n\n## Disclaimer\n\nThis framework is provided as-is, and there are no guarantees that it fits your purposes or that it is bug-free. Use it\nat your own risk!\n\n## \ud83d\udcc4 Cite us\n\nLuka\u010d, L., Fister Jr., I., Fister,\nI. \"[Digital Twin in Sport: From an Idea to Realization](https://www.mdpi.com/2076-3417/12/24/12741).\" Applied Sciences\n12.24 (2022): 12741, DOI: [10.3390/app122412741](http://dx.doi.org/10.3390/app122412741).\n\n## \ud83d\udcd6 Further read\n[1] [Awesome Computational Intelligence in Sports](https://github.com/firefly-cpp/awesome-computational-intelligence-in-sports)\n\n## \ud83d\udd17 Related packages/frameworks\n\n[1] [sport-activities-features: A minimalistic toolbox for extracting features from sports activity files written in Python](https://github.com/firefly-cpp/sport-activities-features)\n\n[2] [ast-tdl: Training Description Language for Artificial Sport Trainer](https://github.com/firefly-cpp/ast-tdl)\n\n## \ud83d\udcdd References\n\nFister Jr, I., Fister, I., Iglesias, A., Galvez, A., Deb, S., & Fister, D. (2021). On deploying the Artificial Sport\nTrainer into practice. arXiv preprint [arXiv:2109.13334](https://arxiv.org/abs/2109.13334).\n\nFister Jr, I., Salcedo-Sanz, S., Iglesias, A., Fister, D., G\u00e1lvez, A., & Fister, I. (2021). New Perspectives in the\nDevelopment of the Artificial Sport Trainer. Applied Sciences, 11(23), 11452.\nDOI: [10.3390/app112311452](https://doi.org/10.3390/app112311452)\n\n## \ud83e\udec2 Contributors\n\n<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->\n<!-- prettier-ignore-start -->\n<!-- markdownlint-disable -->\n<table>\n  <tbody>\n    <tr>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"http://www.iztok-jr-fister.eu/\"><img src=\"https://avatars.githubusercontent.com/u/1633361?v=4?s=100\" width=\"100px;\" alt=\"Iztok Fister Jr.\"/><br /><sub><b>Iztok Fister Jr.</b></sub></a><br /><a href=\"https://github.com/firefly-cpp/AST-Monitor/issues?q=author%3Afirefly-cpp\" title=\"Bug reports\">\ud83d\udc1b</a> <a href=\"https://github.com/firefly-cpp/AST-Monitor/commits?author=firefly-cpp\" title=\"Documentation\">\ud83d\udcd6</a> <a href=\"https://github.com/firefly-cpp/AST-Monitor/commits?author=firefly-cpp\" title=\"Code\">\ud83d\udcbb</a> <a href=\"#maintenance-firefly-cpp\" title=\"Maintenance\">\ud83d\udea7</a> <a href=\"#mentoring-firefly-cpp\" title=\"Mentoring\">\ud83e\uddd1\u200d\ud83c\udfeb</a> <a href=\"#platform-firefly-cpp\" title=\"Packaging/porting to new platform\">\ud83d\udce6</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/luckyLukac\"><img src=\"https://avatars.githubusercontent.com/u/73126820?v=4?s=100\" width=\"100px;\" alt=\"luckyLukac\"/><br /><sub><b>luckyLukac</b></sub></a><br /><a href=\"https://github.com/firefly-cpp/AST-Monitor/issues?q=author%3AluckyLukac\" title=\"Bug reports\">\ud83d\udc1b</a> <a href=\"https://github.com/firefly-cpp/AST-Monitor/commits?author=luckyLukac\" title=\"Documentation\">\ud83d\udcd6</a> <a href=\"https://github.com/firefly-cpp/AST-Monitor/commits?author=luckyLukac\" title=\"Code\">\ud83d\udcbb</a> <a href=\"#design-luckyLukac\" title=\"Design\">\ud83c\udfa8</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"http://carlosal1015.github.io\"><img src=\"https://avatars.githubusercontent.com/u/21283014?v=4?s=100\" width=\"100px;\" alt=\"Oromion\"/><br /><sub><b>Oromion</b></sub></a><br /><a href=\"#platform-carlosal1015\" title=\"Packaging/porting to new platform\">\ud83d\udce6</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/alenrajsp\"><img src=\"https://avatars.githubusercontent.com/u/27721714?v=4?s=100\" width=\"100px;\" alt=\"alenrajsp\"/><br /><sub><b>alenrajsp</b></sub></a><br /><a href=\"#content-alenrajsp\" title=\"Content\">\ud83d\udd8b</a> <a href=\"https://github.com/firefly-cpp/AST-Monitor/commits?author=alenrajsp\" title=\"Code\">\ud83d\udcbb</a> <a href=\"#maintenance-alenrajsp\" title=\"Maintenance\">\ud83d\udea7</a> <a href=\"https://github.com/firefly-cpp/AST-Monitor/issues?q=author%3Aalenrajsp\" title=\"Bug reports\">\ud83d\udc1b</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/KukovecRok\"><img src=\"https://avatars.githubusercontent.com/u/33880044?v=4?s=100\" width=\"100px;\" alt=\"Tatookie\"/><br /><sub><b>Tatookie</b></sub></a><br /><a href=\"https://github.com/firefly-cpp/AST-Monitor/commits?author=KukovecRok\" title=\"Documentation\">\ud83d\udcd6</a> <a href=\"https://github.com/firefly-cpp/AST-Monitor/issues?q=author%3AKukovecRok\" title=\"Bug reports\">\ud83d\udc1b</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/rhododendrom\"><img src=\"https://avatars.githubusercontent.com/u/3198785?v=4?s=100\" width=\"100px;\" alt=\"rhododendrom\"/><br /><sub><b>rhododendrom</b></sub></a><br /><a href=\"#design-rhododendrom\" title=\"Design\">\ud83c\udfa8</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/sertonix\"><img src=\"https://avatars.githubusercontent.com/u/83883937?v=4?s=100\" width=\"100px;\" alt=\"Sertonix\"/><br /><sub><b>Sertonix</b></sub></a><br /><a href=\"https://github.com/firefly-cpp/AST-Monitor/issues?q=author%3Asertonix\" title=\"Bug reports\">\ud83d\udc1b</a></td>\n    </tr>\n    <tr>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/lahovniktadej\"><img src=\"https://avatars.githubusercontent.com/u/57890734?v=4?s=100\" width=\"100px;\" alt=\"Tadej Lahovnik\"/><br /><sub><b>Tadej Lahovnik</b></sub></a><br /><a href=\"https://github.com/firefly-cpp/AST-Monitor/commits?author=lahovniktadej\" title=\"Documentation\">\ud83d\udcd6</a> <a href=\"https://github.com/firefly-cpp/AST-Monitor/commits?author=lahovniktadej\" title=\"Code\">\ud83d\udcbb</a> <a href=\"https://github.com/firefly-cpp/AST-Monitor/issues?q=author%3Alahovniktadej\" title=\"Bug reports\">\ud83d\udc1b</a></td>\n    </tr>\n  </tbody>\n</table>\n\n<!-- markdownlint-restore -->\n<!-- prettier-ignore-end -->\n\n<!-- ALL-CONTRIBUTORS-LIST:END -->\n<!-- prettier-ignore-start -->\n<!-- markdownlint-disable -->\n\n<!-- markdownlint-restore -->\n<!-- prettier-ignore-end -->\n\n<!-- ALL-CONTRIBUTORS-LIST:END -->\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "AST-Monitor is a wearable Raspberry Pi computer for cyclists",
    "version": "0.5.3",
    "project_urls": {
        "Documentation": "https://ast-monitor.readthedocs.io/en/latest/",
        "Homepage": "https://github.com/firefly-cpp/AST-Monitor",
        "Repository": "https://github.com/firefly-cpp/AST-Monitor"
    },
    "split_keywords": [
        "artificial sport trainer",
        " computational intelligence",
        " data mining",
        " datasets",
        " digital twin",
        " optimization",
        " sport activities",
        " tcx"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5707ab1917cc67e867001d4c72ac010589c756a297e9a5aeda398fedcbedf756",
                "md5": "0898a9ce9b804d80ed3ce2e4c06cb763",
                "sha256": "687568676cf5f54933e729c96b88034b05a4b7005a55fec7cf85e862374f01bd"
            },
            "downloads": -1,
            "filename": "ast_monitor-0.5.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "0898a9ce9b804d80ed3ce2e4c06cb763",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.9",
            "size": 120719,
            "upload_time": "2024-12-18T18:22:29",
            "upload_time_iso_8601": "2024-12-18T18:22:29.270447Z",
            "url": "https://files.pythonhosted.org/packages/57/07/ab1917cc67e867001d4c72ac010589c756a297e9a5aeda398fedcbedf756/ast_monitor-0.5.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "47d6ace55d15fa67180211ebeb41b63a11c9bf8ffff79feda84282d152b0c6f2",
                "md5": "7156437686cb3490f3fafed62d2f5dc8",
                "sha256": "a76b3831f650515e03a2d0f090ab3f0b3cd9d228a3599ea5fc07ae13efc8a0f5"
            },
            "downloads": -1,
            "filename": "ast_monitor-0.5.3.tar.gz",
            "has_sig": false,
            "md5_digest": "7156437686cb3490f3fafed62d2f5dc8",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.9",
            "size": 111038,
            "upload_time": "2024-12-18T18:22:30",
            "upload_time_iso_8601": "2024-12-18T18:22:30.981389Z",
            "url": "https://files.pythonhosted.org/packages/47/d6/ace55d15fa67180211ebeb41b63a11c9bf8ffff79feda84282d152b0c6f2/ast_monitor-0.5.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-12-18 18:22:30",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "firefly-cpp",
    "github_project": "AST-Monitor",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "PyQt6",
            "specs": []
        },
        {
            "name": "matplotlib",
            "specs": []
        },
        {
            "name": "geopy",
            "specs": []
        },
        {
            "name": "pyqt-feedback-flow",
            "specs": []
        },
        {
            "name": "tcxreader",
            "specs": []
        },
        {
            "name": "sport-activities-features",
            "specs": []
        }
    ],
    "tox": true,
    "lcname": "ast_monitor"
}
        
Elapsed time: 0.46365s