Fai da te: creare un Tracker

con un Raspberry Pi e un gateway NMEA


Raspberry Pi Python Linux GPS WiFi TCP UDP

Questa guida spiega come costruire il tuo tracker live Trakkit.org utilizzando un Raspberry Pi o qualsiasi sistema Linux.

I sistemi compatibili includono:

  • Raspberry Pi OS
  • Ubuntu
  • Debian

  • Per questa guida, utilizziamo un multiplexer NMEA come lo ShipModul Miniplex o un gateway simile.

Indice


Panoramica

Il processo è semplice:

  1. Prepara la tua configurazione su Trakkit.org
  2. Installa Raspberry Pi OS
  3. Installa Joli_Compagnon
  4. Testa il tracker
  5. Automatizza l’avvio

⚓ - Configura la tua Boat su Trakkit.org

Prima di installare qualsiasi cosa sul Raspberry Pi, dichiara il tuo tracker su Trakkit.org.

  1. Crea la tua Boat
  2. Crea un Tag
    (assegnagli un nome riconoscibile)
  3. Crea una password per questo Tag
  4. Crea un Track con:
    • Data di inizio: 01/01/2020
    • Data di fine: 01/01/2050
  5. Contrassegna questo Track come LiveTrack

Devi avere a disposizione:

TAG
TAG PASSWORD

Queste credenziali verranno utilizzate dal tracker.


🍓 - Installa Raspberry Pi OS

Installa Raspberry Pi OS normalmente sulla tua scheda SD.

Segui le istruzioni ufficiali:

https://www.raspberrypi.com/software

Non è richiesta alcuna configurazione speciale.

Puoi scegliere la versione Desktop, più semplice da configurare, oppure la versione Lite se hai dimestichezza con Linux.


⚙️ — Configurazione di base del sistema

Al primo avvio:

  1. Crea un utente (in questa guida assumiamo che il nome utente sia pi)
  2. Configura normalmente:
    • lingua
    • tastiera
    • rete (Wifi per accedere a Internet)

Si consiglia di impostare il fuso orario su UTC.


🛰️ — Connessione WiFi o LAN al gateway NMEA

A seconda del tipo di connessione (WiFi o LAN) del tuo gateway NMEA, ottieni dal produttore le seguenti informazioni:

  • Indirizzo IP
  • Porta
  • Protocollo (UDP o TCP)

Se stai usando il WiFi e il tuo gateway NMEA non è accessibile sulla stessa rete della tua connessione Internet principale, potrebbe essere necessario configurare una seconda interfaccia WiFi sul tuo Raspberry Pi utilizzando una chiavetta WiFi USB aggiuntiva.

Questo ti consente di: - ricevere il flusso di Data NMEA (rotta in ingresso) - inviare i Data di posizione a Trakkit.org (rotta in uscita)

In genere, la configurazione appare così:

IP: 10.0.0.1
Port: 10110
Protocol: TCP

Questi valori devono essere configurati nel file config.ini.


📦 — Installa Joli_Compagnon

Scarica il software dal sito Trakkit:

Trakkit.org → About → Download

Scarica il file:

joli_compagnon.tgz

Estrarlo nella tua directory home:

tar -xzf joli_compagnon.tgz

Questo crea la directory: joli_compagnon_last che contiene tutti gli script.


🐍 — Crea l’ambiente virtuale Python

Spostati nella directory:

cd joli_compagnon_last

Crea l’ambiente virtuale Python:

python3 -m venv venv

Attivalo:

source venv/bin/activate

Installa i moduli richiesti:

pip install -r requirements.txt

🔁 — Avvio manuale del tracker

Attiva l’ambiente virtuale Python:

source venv/bin/activate

Rinomina il file di configurazione:

mv config.ini.EXAMPLE config.ini

Modifica il file:

nano config.ini

Configura le tue credenziali Trakkit:

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

Poi configura la sezione NMEA usando i valori definiti in precedenza per accedere al tuo gateway NMEA:

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

Avvia il lettore NMEA in base al protocollo utilizzato
(deve essere in esecuzione un solo processo):

./reader_tcp.py

OPPURE

./reader_udp.py

Dovresti vedere le trame NMEA visualizzate.

Avvia il sender in un altro terminale:

./sender.py

Questo script invia le posizioni GPS a Trakkit.org.

Attendi qualche minuto.

La posizione della tua Boat dovrebbe ora apparire su Trakkit.org.


🚀 - Automatizzare l’avvio con systemd

A questo punto hai un tracker pienamente funzionante per Trakkit.org. Il passaggio finale è configurarlo per avviarsi automaticamente al boot.

Per il resto di questa guida, assumiamo l’uso del protocollo TCP, il nome utente pi e il seguente percorso di installazione:

/home/pi/joli_compagnon_last/

Gli script e l’ambiente virtuale si trovano lì.


Servizio per il lettore NMEA

Crea:

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

Servizio per il sender

Crea:

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

Abilita i servizi

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

Avviali:

sudo systemctl start trakkit_reader
sudo systemctl start trakkit_sender

Il tuo Trakkit.org Companion ora si avvierà automaticamente al boot, si connetterà al tuo gateway NMEA e invierà continuamente la posizione della tua Boat.