DIY: Crear un Tracker

con una Raspberry Pi y un gateway NMEA


Raspberry Pi Python Linux GPS WiFi TCP UDP

Esta guía explica cómo construir tu propio Trakkit.org live tracker usando una Raspberry Pi o cualquier sistema Linux.

Los sistemas compatibles incluyen:

  • Raspberry Pi OS
  • Ubuntu
  • Debian

  • Para esta guía, utilizamos un multiplexor NMEA como el ShipModul Miniplex o un gateway similar.

Tabla de contenidos


Visión general

El proceso es simple:

  1. Prepara tu configuración en Trakkit.org
  2. Instala Raspberry Pi OS
  3. Instala Joli_Compagnon
  4. Prueba el tracker
  5. Automatiza el inicio

⚓ - Configura tu Boat en Trakkit.org

Antes de instalar nada en la Raspberry Pi, declara tu tracker en Trakkit.org.

  1. Crea tu Boat
  2. Crea un Tag
    (ponle un nombre reconocible)
  3. Crea una password para este Tag
  4. Crea un Track con:
    • Fecha de inicio: 01/01/2020
    • Fecha de fin: 01/01/2050
  5. Marca este Track como LiveTrack

Debes tener disponible:

TAG
TAG PASSWORD

Estas credenciales serán utilizadas por el tracker.


🍓 - Instalar Raspberry Pi OS

Instala Raspberry Pi OS normalmente en tu tarjeta SD.

Sigue las instrucciones oficiales:

https://www.raspberrypi.com/software

No se requiere ninguna configuración especial.

Puedes elegir la versión Desktop, más fácil de configurar, o la versión Lite si te sientes cómodo con Linux.


⚙️ — Configuración básica del sistema

En el primer arranque:

  1. Crea un usuario (en esta guía asumimos el nombre de usuario pi)
  2. Configura normalmente:
    • idioma
    • teclado
    • red (Wifi para acceder a Internet)

Se recomienda establecer la zona horaria en UTC.


🛰️ — Conexión WiFi o LAN al gateway NMEA

Dependiendo del tipo de conexión (WiFi o LAN) de tu gateway NMEA, obtén la siguiente información del fabricante:

  • Dirección IP
  • Puerto
  • Protocolo (UDP o TCP)

Si estás usando WiFi y tu gateway NMEA no es accesible en la misma red que tu conexión principal a Internet, puede que necesites configurar una segunda interfaz WiFi en tu Raspberry Pi usando un dongle WiFi USB adicional.

Esto te permite: - recibir el flujo de Data NMEA (ruta entrante) - enviar Data de posición a Trakkit.org (ruta saliente)

Normalmente, la configuración se ve así:

IP: 10.0.0.1
Port: 10110
Protocol: TCP

Estos valores deben configurarse en el archivo config.ini.


📦 — Instalar Joli_Compagnon

Descarga el software desde el sitio web de Trakkit:

Trakkit.org → About → Download

Descarga el archivo:

joli_compagnon.tgz

Extráelo en tu directorio home:

tar -xzf joli_compagnon.tgz

Esto crea el directorio: joli_compagnon_last que contiene todos los scripts.


🐍 — Crear el entorno virtual de Python

Entra en el directorio:

cd joli_compagnon_last

Crea el entorno virtual de Python:

python3 -m venv venv

Actívalo:

source venv/bin/activate

Instala los módulos requeridos:

pip install -r requirements.txt

🔁 — Lanzamiento manual del tracker

Activa el entorno virtual de Python:

source venv/bin/activate

Renombra el archivo de configuración:

mv config.ini.EXAMPLE config.ini

Edita el archivo:

nano config.ini

Configura tus credenciales de Trakkit:

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

Luego configura la sección NMEA usando los valores definidos previamente para acceder a tu gateway NMEA:

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

Inicia el lector NMEA según el protocolo utilizado
(solo debe haber un proceso en ejecución):

./reader_tcp.py

O

./reader_udp.py

Deberías ver tramas NMEA mostradas.

Inicia el emisor en otra terminal:

./sender.py

Este script envía las posiciones GPS a Trakkit.org.

Espera unos minutos.

La posición de tu barco debería aparecer ahora en Trakkit.org.


🚀 - Automatizar el inicio con systemd

En este punto, ya tienes un tracker totalmente funcional para Trakkit.org. El último paso es configurarlo para que se inicie automáticamente al arrancar.

Para el resto de esta guía, asumimos que usamos el protocolo TCP, el nombre de usuario pi y la siguiente ruta de instalación:

/home/pi/joli_compagnon_last/

Los scripts y el entorno virtual están ubicados allí.


Servicio para el lector 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

Servicio para el emisor

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

Habilitar los servicios

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

Inícialos:

sudo systemctl start trakkit_reader
sudo systemctl start trakkit_sender

Tu Trakkit.org Companion ahora se iniciará automáticamente al arrancar, se conectará a tu gateway NMEA y enviará la posición de tu barco de forma continua.