DIY: Erstellen eines Trackers

mit einem Raspberry Pi und einem NMEA-Gateway


Raspberry Pi Python Linux GPS WiFi TCP UDP

Diese Anleitung erklärt, wie Sie Ihren eigenen Trakkit.org Live-Tracker mit einem Raspberry Pi oder einem beliebigen Linux-System bauen.

Kompatible Systeme sind unter anderem:

  • Raspberry Pi OS
  • Ubuntu
  • Debian

  • Für diese Anleitung verwenden wir einen NMEA-Multiplexer wie den ShipModul Miniplex oder ein ähnliches Gateway.

Inhaltsverzeichnis


Überblick

Der Ablauf ist einfach:

  1. Bereiten Sie Ihre Konfiguration auf Trakkit.org vor
  2. Installieren Sie Raspberry Pi OS
  3. Installieren Sie Joli_Compagnon
  4. Testen Sie den Tracker
  5. Automatisieren Sie den Start

⚓ - Konfigurieren Sie Ihr Boat auf Trakkit.org

Bevor Sie irgendetwas auf dem Raspberry Pi installieren, deklarieren Sie Ihren Tracker auf Trakkit.org.

  1. Erstellen Sie Ihr Boat
  2. Erstellen Sie ein Tag
    (geben Sie ihm einen wiedererkennbaren Namen)
  3. Erstellen Sie ein Passwort für dieses Tag
  4. Erstellen Sie ein Track mit:
    • Startdatum: 01/01/2020
    • Enddatum: 01/01/2050
  5. Markieren Sie dieses Track als LiveTrack

Sie müssen verfügbar haben:

TAG
TAG PASSWORD

Diese Zugangsdaten werden vom Tracker verwendet.


🍓 - Raspberry Pi OS installieren

Installieren Sie Raspberry Pi OS wie gewohnt auf Ihre SD-Karte.

Folgen Sie den offiziellen Anweisungen:

https://www.raspberrypi.com/software

Es ist keine spezielle Konfiguration erforderlich.

Sie können die Desktop-Version wählen, die einfacher zu konfigurieren ist, oder die Lite-Version, wenn Sie mit Linux vertraut sind.


⚙️ — Grundlegende Systemkonfiguration

Beim ersten Start:

  1. Erstellen Sie einen Benutzer (in dieser Anleitung gehen wir vom Benutzernamen pi aus)
  2. Konfigurieren Sie wie gewohnt:
    • Sprache
    • Tastatur
    • Netzwerk (Wifi, um auf das Internet zuzugreifen)

Es wird empfohlen, die Zeitzone auf UTC zu setzen.


🛰️ — WiFi- oder LAN-Verbindung zum NMEA-Gateway

Je nach Verbindungstyp (WiFi oder LAN) Ihres NMEA-Gateways erhalten Sie vom Hersteller die folgenden Informationen:

  • IP-Adresse
  • Port
  • Protokoll (UDP oder TCP)

Wenn Sie WiFi verwenden und Ihr NMEA-Gateway nicht im selben Netzwerk wie Ihre Haupt-Internetverbindung erreichbar ist, müssen Sie ggf. eine zweite WiFi-Schnittstelle auf Ihrem Raspberry Pi konfigurieren, indem Sie einen zusätzlichen USB-WiFi-Dongle verwenden.

Damit können Sie: - den NMEA-Data-Stream empfangen (eingehende Route) - Positionsdaten an Trakkit.org senden (ausgehende Route)

Typischerweise sieht die Konfiguration so aus:

IP: 10.0.0.1
Port: 10110
Protocol: TCP

Diese Werte müssen in der Datei config.ini konfiguriert werden.


📦 — Joli_Compagnon installieren

Laden Sie die Software von der Trakkit-Website herunter:

Trakkit.org → About → Download

Laden Sie die Datei herunter:

joli_compagnon.tgz

Entpacken Sie sie in Ihr Home-Verzeichnis:

tar -xzf joli_compagnon.tgz

Dadurch wird das Verzeichnis: joli_compagnon_last erstellt, das alle Skripte enthält.


🐍 — Erstellen der Python-Virtual-Environment

Wechseln Sie in das Verzeichnis:

cd joli_compagnon_last

Erstellen Sie die Python-Virtual-Environment:

python3 -m venv venv

Aktivieren Sie sie:

source venv/bin/activate

Installieren Sie die erforderlichen Module:

pip install -r requirements.txt

🔁 — Manueller Start des Trackers

Aktivieren Sie die Python-Virtual-Environment:

source venv/bin/activate

Benennen Sie die Konfigurationsdatei um:

mv config.ini.EXAMPLE config.ini

Bearbeiten Sie die Datei:

nano config.ini

Konfigurieren Sie Ihre Trakkit-Zugangsdaten:

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

Konfigurieren Sie dann den NMEA-Abschnitt mit den zuvor definierten Werten, um auf Ihr NMEA-Gateway zuzugreifen:

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

Starten Sie den NMEA-Reader entsprechend dem verwendeten Protokoll
(nur ein Prozess darf laufen):

./reader_tcp.py

ODER

./reader_udp.py

Sie sollten NMEA-Frames angezeigt sehen.

Starten Sie den Sender in einem anderen Terminal:

./sender.py

Dieses Skript sendet die GPS-Positionen an Trakkit.org.

Warten Sie ein paar Minuten.

Die Position Ihres Boat sollte nun auf Trakkit.org erscheinen.


🚀 - Automatisieren des Starts mit systemd

An diesem Punkt haben Sie nun einen voll funktionsfähigen Tracker für Trakkit.org. Der letzte Schritt besteht darin, ihn so zu konfigurieren, dass er beim Booten automatisch startet.

Für den Rest dieser Anleitung gehen wir davon aus, dass das TCP-Protokoll verwendet wird, der Benutzername pi lautet und der folgende Installationspfad genutzt wird:

/home/pi/joli_compagnon_last/

Dort befinden sich die Skripte und die Virtual-Environment.


Service für den NMEA-Reader

Erstellen Sie:

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 für den Sender

Erstellen Sie:

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

Services aktivieren

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

Starten Sie sie:

sudo systemctl start trakkit_reader
sudo systemctl start trakkit_sender

Ihr Trakkit.org Companion startet nun automatisch beim Booten, verbindet sich mit Ihrem NMEA-Gataway und sendet die Position Ihres Boat kontinuierlich.