-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Le RaspberryPi est connecté à un capteur barométrique ainsi qu'à un module GPS. Le module GPS est utilisé pour enregistrer la position(N, E) et la vitesse du vélo, et le capteur barométrique est utilisé pour mesurer la variation d'altitude du vélo, au cours du temps. Ces données sont enregistrées puis utilisées pour calculer le travail fournit par le cycliste, ainsi que la puissance délivrée à chaque instant.
Un script python (logger.py
) se lance au boot du RaspberryPi, il tourne en boucle infinie. Lorsque l'utilisateur met à terre le pin record_switch (default=36), le programme enregistre les données GPS et barométriques toutes les secondes. Lorsque l'utilisateur déconnecte le pin record_switch du GND, le programme enregistre toutes les données sur un fichier logged_data.csv
dans la structure suivante : /home/pi/bikecomputer/logs/<DATE>/logged_data.csv
.
Une fois les données enregistrées, l’exécutable compute
est lancé, il crée un fichier nommé computed_data.csv
(structure du .csv) qui contient toutes les données nécessaire à la prochaine étape.
C'est finalement plotter.py
qui est lancé, il met sous forme de graphe les données calculées à l'étape précédente.
Le RaspberryPi est connecté à un module GPS NEO-6M via protocole UART. La fréquence de transmission de base est de 1Hz, elle est gardée, car utile pour faciliter les calculs. A chaque fois que le RaspberryPi reçoit un message du NEO-6M (avec ou sans position GPS acquise), il sample la pression atmosphérique grâce au capteur barométrique bmp280, avec lequel il communique via protocole I2C. Le module GPS a ainsi également un rôle d'horloge. Si un signal GPS est acquis, les degrés-minutes sont convertit en degrés-décimaux. Ces degrés sont ensuite enregistrés avec la pression.