DIY: Een Tracker maken
met een Raspberry Pi en een NMEA-gateway
Deze handleiding legt uit hoe je je eigen Trakkit.org live tracker bouwt met een Raspberry Pi of elk Linux-systeem.
Compatibele systemen zijn onder andere:
- Raspberry Pi OS
- Ubuntu
-
Debian
-
Voor deze handleiding gebruiken we een NMEA-multiplexer zoals de ShipModul Miniplex of een vergelijkbare gateway.
Inhoudsopgave
- 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
Overzicht
Het proces is eenvoudig:
- Bereid je configuratie voor op Trakkit.org
- Installeer Raspberry Pi OS
- Installeer Joli_Compagnon
- Test de tracker
- Automatiseer het opstarten
โ - Configureer je Boat op Trakkit.org
Voordat je iets installeert op de Raspberry Pi, declareer je je tracker op Trakkit.org.
- Maak je Boat aan
- Maak een Tag aan
(geef het een herkenbare naam) - Maak een password aan voor deze Tag
- Maak een Track aan met:
- Startdatum: 01/01/2020
- Einddatum: 01/01/2050
- Markeer deze track als LiveTrack
Je moet beschikbaar hebben:
TAG
TAG PASSWORD
Deze gegevens worden door de tracker gebruikt.
๐ - Raspberry Pi OS installeren
Installeer Raspberry Pi OS op de gebruikelijke manier op je SD-kaart.
Volg de officiรซle instructies:
https://www.raspberrypi.com/software
Er is geen speciale configuratie vereist.
Je kunt de Desktop-versie kiezen, makkelijker om te configureren, of de Lite-versie als je vertrouwd bent met Linux.
โ๏ธ โ Basis systeemconfiguratie
Bij de eerste opstart:
- Maak een user aan (in deze handleiding gaan we uit van de gebruikersnaam pi)
- Configureer normaal:
- taal
- toetsenbord
- netwerk (Wifi om toegang te krijgen tot het internet)
Het wordt aanbevolen om de tijdzone op UTC te zetten.
๐ฐ๏ธ โ WiFi- of LAN-verbinding met NMEA-gateway
Afhankelijk van het verbindingstype (WiFi of LAN) van je NMEA-gateway, vraag je de volgende informatie op bij de fabrikant:
- IP-adres
- Poort
- Protocol (UDP of TCP)
Als je WiFi gebruikt en je NMEA-gateway niet bereikbaar is op hetzelfde netwerk als je primaire internetverbinding, moet je mogelijk een tweede WiFi-interface configureren op je Raspberry Pi met behulp van een extra USB WiFi-dongle.
Dit stelt je in staat om: - de NMEA-datastroom te ontvangen (inkomende route) - positiedata naar Trakkit.org te verzenden (uitgaande route)
Typisch ziet de configuratie er zo uit:
IP: 10.0.0.1
Port: 10110
Protocol: TCP
Deze waarden moeten worden geconfigureerd in het bestand config.ini.
๐ฆ โ Joli_Compagnon installeren
Download de software van de Trakkit-website:
Trakkit.org โ About โ Download
Download het bestand:
joli_compagnon.tgz
Pak het uit in je home-directory:
tar -xzf joli_compagnon.tgz
Dit maakt de directory aan: joli_compagnon_last die alle scripts bevat.
๐ โ De Python virtual environment aanmaken
Ga naar de directory:
cd joli_compagnon_last
Maak de Python virtual environment aan:
python3 -m venv venv
Activeer deze:
source venv/bin/activate
Installeer de vereiste modules:
pip install -r requirements.txt
๐ โ Handmatig starten van de tracker
Activeer de Python virtual environment:
source venv/bin/activate
Hernoem het configuratiebestand:
mv config.ini.EXAMPLE config.ini
Bewerk het bestand:
nano config.ini
Configureer je Trakkit-inloggegevens:
###############################################
# ๐ Your Trakkit.org login credentials
###############################################
[USER]
TAG = YOUR_TAG_HERE
PWD = YOUR_TAG_PASSWORD_HERE
Configureer vervolgens de NMEA-sectie met de eerder gedefinieerde waarden om toegang te krijgen tot je NMEA-gateway:
###############################################
# ๐ก Data source from NMEA multiplexer
###############################################
[NMEA]
NMEA_SRV = 10.0.0.1
NMEA_PORT = 10110
Start de NMEA-lezer volgens het gebruikte protocol
(er mag slechts รฉรฉn proces draaien):
./reader_tcp.py
OF
./reader_udp.py
Je zou NMEA-frames weergegeven moeten zien.
Start de sender in een andere terminal:
./sender.py
Dit script stuurt de GPS-posities naar Trakkit.org.
Wacht een paar minuten.
De positie van je boot zou nu moeten verschijnen op Trakkit.org.
๐ - Automatisch opstarten met systemd
Op dit punt heb je nu een volledig functionele tracker voor Trakkit.org. De laatste stap is om deze zo te configureren dat hij automatisch start bij het opstarten.
Voor de rest van deze handleiding gaan we uit van het gebruik van het TCP-protocol, de gebruikersnaam pi en het volgende installatiepad:
/home/pi/joli_compagnon_last/
Scripts en virtual environment bevinden zich daar.
Service voor de NMEA-lezer
Maak aan:
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 voor de sender
Maak aan:
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
De services inschakelen
sudo systemctl daemon-reload
sudo systemctl enable trakkit_reader
sudo systemctl enable trakkit_sender
Start ze:
sudo systemctl start trakkit_reader
sudo systemctl start trakkit_sender
Je Trakkit.org Companion start nu automatisch bij het opstarten, maakt verbinding met je NMEA-gataway en verstuurt continu de positie van je boot.