Johann PEREIRA

Passionné par la course au large depuis 10 ans
et développeur depuis 3 ans, j'apprends en autodidacte,
par project-based learning. J'acquiers grace à ces projets
différentes compétences, soit théoriques, soit pratiques.
Entrepreneur, j'aime bien travailler en équipe et innover
pour explorer de nouvelles possibilités !

🔗Contact
Retour

SailCapture

Qu'est-ce que c'est ?

Ce sont deux appareils : une box d'enregistrement et un afficheur de saisie manuel, pour enregistrer toutes les données du bateau et pouvoir ensuite les exploiter, les analyser et les comparer entre différentes navigations.

Comment ça fonctionne ?

Les deux appareils sont entièrement codés en python. La box a pour objectif grâce à la lecture d'un port série, de récupérer les trames NMEA 0183. Elle analyse ces trames et récupère les données utiles comme par exemple SOG : Speed Over Ground, TWA : True Wind Angle. Elle stocke toutes ces valeurs, toutes les 10 secondes dans une base de données SQLite spécifique à cette navigation. La box tourne sur un Raspberry Pi sans GUI, et est connectée à une centrale inertielle (IMU) pour récupérer le roulis, le tangage et le lacet du bateau.

Ensuite l'afficheur de saisie manuel est un appareil à placer à l'extérieur du cockpite et permet au skipper d'enregistrer des données invisibles au capteurs : l'angle de quille, rake de foil, quête de mat et configation de voile à poste.

L'application d'analyse de données est codée en web (HTML, CSS et JS), elle permet de télécharger plusieurs navigations (base de données SQLite générée par la box). Les tracés des navigations sont affichés sur une carte Leaflet.js pour comparer les routes. Les données des différentes navigations téléchargées sont affichées sur des graphiques avec Chart.js.

Site web du projet

Librairies Python

threading - serial - RPi.GPIO
board - busio - adafruit_bno055
datetime - time - sqlite3

Librairies JavaScript

SQLite.js - Chart.js - Leaflet.js

Compétences

- Python
- JavaScript
- SQLite
- VS Code
- Git Hub

Images

TactiBox et TactiGraph pour récupérer les données de naviguation

TactiView pour comparer des données de navigation

Retour