DIY : Créer un Tracker
avec un Raspberry Pi et un récepteur GPS USB
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 récepteur GPS USB BU-355N5 — Abordable, largement utilisé et totalement compatible.
Table des matières
- Overview
- Configure your boat on Trakkit.org
- Install Raspberry Pi OS
- Basic system configuration
- Install Joli_Compagnon
- Create the Python virtual environment
- GPS connection and test
- Manual launch of the tracker
- Automate startup with systemd
Vue d’ensemble
Le processus est simple :
- Préparer votre configuration sur Trakkit.org
- Installer Raspberry Pi OS
- Installer Joli_Compagnon
- Tester le tracker
- Automatiser 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.
- Créez votre Boat
- Créez un Tag
(donnez-lui un nom reconnaissable) - Créez un password pour ce Tag
- Créez un Track avec :
- Date de début : 01/01/2020
- Date de fin : 01/01/2050
- 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 spéciale 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 :
- Créez un utilisateur (dans ce guide, nous supposons que le nom d’utilisateur est pi)
- Configurez normalement :
- langue
- clavier
- réseau (Wifi pour accéder à Internet)
Il est recommandé de régler le fuseau horaire sur UTC.
📦 — 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
🛰️ — Connexion GPS et test
Nous utiliserons un BU-353N5 USB GPS largement disponible.
Connectez le GPS au Raspberry Pi et vérifiez qu’il est détecté.
Lister les périphériques USB :
lsusb
Exemple de sortie :
Bus 001 Device 004: ID 067b:2303 Prolific Technology, Inc. USB-Serial Controller
Bus 001 Device 003: ID 0424:9514 Microchip Technology Hub Controller
Bus 001 Device 002: ID 0424:ec00 Microchip Technology SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Le GPS BU-353N5 apparaît généralement comme un adaptateur USB-série (souvent basé sur une puce Prolific ou similaire).
Identifier le périphérique série
Le GPS va créer un périphérique série, généralement :
/dev/ttyUSB0
Pour le vérifier, exécutez :
dmesg | grep tty
Exemple de sortie :
[ 123.456789] usb 1-1.2: pl2303 converter now attached to ttyUSB0
Cela confirme que le GPS est disponible sur :
/dev/ttyUSB0
Vérifier les permissions
Vérifiez que le périphérique existe :
ls -l /dev/ttyUSB*
Exemple :
crw-rw---- 1 root dialout 188, 0 Apr 21 12:34 /dev/ttyUSB0
Si nécessaire, assurez-vous que votre utilisateur appartient au groupe dialout :
sudo usermod -a -G dialout $USER
Puis déconnectez-vous et reconnectez-vous.
Tester la réception des données GPS
Les périphériques GPS NMEA utilisent généralement 4800 bauds par défaut.
Afficher les phrases NMEA entrantes :
cat /dev/ttyUSB0
Si les phrases NMEA défilent en continu, le GPS fonctionne correctement.
Si rien n’apparaît, le GPS utilise peut-être une vitesse série différente.
Vous pouvez changer manuellement le débit en bauds du périphérique et tester à nouveau.
Les vitesses NMEA courantes sont :
4800
9600
38400
Pour changer la vitesse du périphérique série, utilisez stty.
Exemple pour 4800 bauds :
stty -F /dev/ttyUSB0 4800
Puis testez à nouveau :
cat /dev/ttyUSB0
Si rien n’apparaît, essayez une autre vitesse.
Exemple pour 9600 bauds :
stty -F /dev/ttyUSB0 9600
cat /dev/ttyUSB0
Une fois la bonne vitesse trouvée, vous devriez voir des phrases NMEA telles que :
$GPRMC,184551.00,A,4250.5589,N,07059.3421,W,0.13,309.62,210424,,,A*6C
$GPGGA,184551.00,4250.5589,N,07059.3421,W,1,10,0.8,12.3,M,-33.9,M,,*5A
Une fois que les phrases NMEA sont visibles, notez :
- le chemin du périphérique (généralement
/dev/ttyUSB0) - le débit en bauds (par exemple
4800)
Ces valeurs seront utilisées plus tard dans le fichier config.ini.
🔁 — 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 la section GPS :
###############################################
# 🛰️ Data source from USB GPS device
###############################################
[GPS]
GPS_PORT = /dev/ttyUSB0
GPS_BAUDS = 4800
Puis configurez vos identifiants Trakkit :
###############################################
# 🔑 Your Trakkit.org login credentials
###############################################
[USER]
TAG = YOUR_TAG_HERE
PWD = YOUR_TAG_PASSWORD_HERE
Démarrez le lecteur GPS :
./reader_usb.py
Vous devriez voir des trames NMEA affichées.
Démarrez l’émetteur 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 démarrer automatiquement au boot.
Pour la suite de ce guide, nous supposons que le nom d’utilisateur est 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 GPS
Créez :
sudo nano /etc/systemd/system/trakkit_reader.service
[Unit]
Description=Trakkit.org Companion GPS Reader
After=network.target
[Service]
User=pi
WorkingDirectory=/home/pi/joli_compagnon_last
ExecStart=/home/pi/joli_compagnon_last/venv/bin/python reader_usb.py
Restart=always
[Install]
WantedBy=multi-user.target
Service pour l’émetteur
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 et enverra la position de votre Boat en continu.