gnss-position-tracking.py

MikroTik KNOT Gateway HL9 · File : gnss-position-tracking.py · Language : Python-Bash · Use case : Lire la position GPS en temps réel via le port série du récepteur GNSS intégré.

Simple Bash script to read raw NMEA frames from the GNSS via serial port.

The KNOT HL9 integrates a multi-constellation GNSS receiver accessible via an internal serial port. Under RouterOS v7, this port is often mapped to /dev/ttyS1 or a pseudo-terminal. This script requires the port to be configured at 9600 or 115200 bauds. For industrial use, it is better to use native RouterOS commands '/interface gnss print' which return structured data.

gnss-position-tracking.py

#!/bin/bash
# Script de lecture GNSS pour KNOT Gateway HL9 (RouterOS v7)
# Utilise l'interface série du GNSS (généralement /dev/ttyS1 ou similaire selon config RouterOS)
# Nécessite que le port série soit configuré en mode 'read' dans RouterOS

PORT="/dev/ttyS1" # Vérifier le port réel via /interface serial print
TIMEOUT=5

if [ ! -e "$PORT" ]; then
    echo "Erreur: Port série $PORT introuvable."
    exit 1
fi

echo "Lecture des données GNSS..."
# Lecture d'une ligne NMEA (ex: $GPGGA)
cat "$PORT" | head -n 1

# Note: Pour un traitement avancé (parsing NMEA), il est recommandé d'utiliser
# le script RouterOS 'gnss-get-position' ou d'envoyer les données brutes vers un serveur MQTT
# via le script 'mqtt-publish' de RouterOS.

← Back to the board