DIY: Erstellen eines Trackers
mit einem Raspberry Pi und einem NMEA-Gateway
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
- Overview
- Configure your boat on Trakkit.org
- Install Raspberry Pi OS
- Basic system configuration
- WiFi / LAN to NMEA Gateway
- Install Joli_Compagnon
- Create the Python virtual environment
- Manual launch of the tracker
- Automate startup with systemd
Überblick
Der Ablauf ist einfach:
- Bereiten Sie Ihre Konfiguration auf Trakkit.org vor
- Installieren Sie Raspberry Pi OS
- Installieren Sie Joli_Compagnon
- Testen Sie den Tracker
- 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.
- Erstellen Sie Ihr Boat
- Erstellen Sie ein Tag
(geben Sie ihm einen wiedererkennbaren Namen) - Erstellen Sie ein Passwort für dieses Tag
- Erstellen Sie ein Track mit:
- Startdatum: 01/01/2020
- Enddatum: 01/01/2050
- 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:
- Erstellen Sie einen Benutzer (in dieser Anleitung gehen wir vom Benutzernamen pi aus)
- 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.