DIY : Créer un Tracker

avec un Raspberry Pi et une passerelle NMEA


Raspberry Pi Python Linux GPS WiFi TCP UDP

Ce guide explique comment construire votre propre Trakkit.org live tracker avec un Raspberry Pi ou tout système Linux.

Les systèmes compatibles incluent :

  • Raspberry Pi OS
  • Ubuntu
  • Debian

  • Pour ce guide, nous utilisons un multiplexeur NMEA tel que le ShipModul Miniplex ou une passerelle similaire.

Table des matières


Aperçu

Le processus est simple :

  1. Préparez votre configuration sur Trakkit.org
  2. Installez Raspberry Pi OS
  3. Installez Joli_Compagnon
  4. Testez le tracker
  5. Automatisez le démarrage

⚓ - Configurer votre Boat sur Trakkit.org

Avant d’installer quoi que ce soit sur le Raspberry Pi, déclarez votre tracker sur Trakkit.org.

  1. Créez votre Boat
  2. Créez un Tag
    (donnez-lui un nom reconnaissable)
  3. Créez un password pour ce Tag
  4. Créez un Track avec :
    • Date de début : 01/01/2020
    • Date de fin : 01/01/2050
  5. Marquez ce Track comme LiveTrack

Vous devez disposer de :

TAG
TAG PASSWORD

Ces identifiants seront utilisés par le tracker.


🍓 - Installer Raspberry Pi OS

Installez Raspberry Pi OS normalement sur votre carte SD.

Suivez les instructions officielles :

https://www.raspberrypi.com/software

Il n’y a aucune configuration particulière requise.

Vous pouvez choisir la version Desktop, plus facile à configurer, ou la version Lite si vous êtes à l’aise avec Linux.


⚙️ — Configuration système de base

Au premier démarrage :

  1. Créez un utilisateur (dans ce guide, nous supposons que le nom d’utilisateur est pi)
  2. Configurez normalement :
    • langue
    • clavier
    • réseau (Wifi pour accéder à Internet)

Il est recommandé de régler le fuseau horaire sur UTC.


🛰️ — Connexion WiFi ou LAN à la passerelle NMEA

Selon le type de connexion (WiFi ou LAN) de votre passerelle NMEA, obtenez les informations suivantes auprès du fabricant :

  • Adresse IP
  • Port
  • Protocole (UDP ou TCP)

Si vous utilisez le WiFi et que votre passerelle NMEA n’est pas accessible sur le même réseau que votre connexion Internet principale, vous devrez peut-être configurer une deuxième interface WiFi sur votre Raspberry Pi en utilisant un dongle WiFi USB supplémentaire.

Cela vous permet de : - recevoir le flux Data NMEA (route entrante) - envoyer les Data de position vers Trakkit.org (route sortante)

Typiquement, la configuration ressemble à :

IP: 10.0.0.1
Port: 10110
Protocol: TCP

Ces valeurs doivent être configurées dans le fichier config.ini.


📦 — Installer Joli_Compagnon

Téléchargez le logiciel depuis le site Trakkit :

Trakkit.org → About → Download

Téléchargez le fichier :

joli_compagnon.tgz

Extrayez-le dans votre répertoire personnel :

tar -xzf joli_compagnon.tgz

Cela crée le répertoire : joli_compagnon_last qui contient tous les scripts.


🐍 — Créer l’environnement virtuel Python

Placez-vous dans le répertoire :

cd joli_compagnon_last

Créez l’environnement virtuel Python :

python3 -m venv venv

Activez-le :

source venv/bin/activate

Installez les modules requis :

pip install -r requirements.txt

🔁 — Lancement manuel du tracker

Activez l’environnement virtuel Python :

source venv/bin/activate

Renommez le fichier de configuration :

mv config.ini.EXAMPLE config.ini

Modifiez le fichier :

nano config.ini

Configurez vos identifiants Trakkit :

###############################################
# 🔑 Your Trakkit.org login credentials
###############################################
[USER]
TAG = YOUR_TAG_HERE
PWD = YOUR_TAG_PASSWORD_HERE

Puis configurez la section NMEA en utilisant les valeurs définies précédemment pour accéder à votre passerelle NMEA :

###############################################
# 📡 Data source from NMEA multiplexer
###############################################
[NMEA]
NMEA_SRV = 10.0.0.1
NMEA_PORT = 10110

Démarrez le lecteur NMEA selon le protocole utilisé
(un seul processus doit être en cours d’exécution) :

./reader_tcp.py

OU

./reader_udp.py

Vous devriez voir des trames NMEA s’afficher.

Démarrez l’expéditeur dans un autre terminal :

./sender.py

Ce script envoie les positions GPS vers Trakkit.org.

Attendez quelques minutes.

La position de votre Boat devrait maintenant apparaître sur Trakkit.org.


🚀 - Automatiser le démarrage avec systemd

À ce stade, vous avez maintenant un tracker entièrement fonctionnel pour Trakkit.org. La dernière étape consiste à le configurer pour qu’il démarre automatiquement au boot.

Pour la suite de ce guide, nous supposons l’utilisation du protocole TCP, le nom d’utilisateur pi et le chemin d’installation suivant :

/home/pi/joli_compagnon_last/

Les scripts et l’environnement virtuel s’y trouvent.


Service pour le lecteur NMEA

Créez :

sudo nano /etc/systemd/system/trakkit_reader.service
[Unit]
Description=Trakkit.org Companion NMEA Reader
After=network.target

[Service]
User=pi
WorkingDirectory=/home/pi/joli_compagnon_last
ExecStart=/home/pi/joli_compagnon_last/venv/bin/python reader_tcp.py
Restart=always

[Install]
WantedBy=multi-user.target

Service pour l’expéditeur

Créez :

sudo nano /etc/systemd/system/trakkit_sender.service
[Unit]
Description=Trakkit.org Companion Sender
After=trakkit_reader.service

[Service]
User=pi
WorkingDirectory=/home/pi/joli_compagnon_last
ExecStart=/home/pi/joli_compagnon_last/venv/bin/python sender.py
Restart=always

[Install]
WantedBy=multi-user.target

Activer les services

sudo systemctl daemon-reload
sudo systemctl enable trakkit_reader
sudo systemctl enable trakkit_sender

Démarrez-les :

sudo systemctl start trakkit_reader
sudo systemctl start trakkit_sender

Votre Trakkit.org Companion démarrera désormais automatiquement au boot, se connectera à votre passerelle NMEA et enverra en continu la position de votre Boat.