OpenWrt: GPS für GL-X3000-Router aktivieren und GPS-Daten im Netzwerk bereitstellen
Wie beim bisher von mir eingesetzten 4G-/LTE-Router GL-X750 (Spitz) unterstützt das 5G-/4G-Modem des Nachfolgers GL-X3000 (Spitz AX) den Empfang von GPS-Daten. Im Gegensatz zum GL-X750 bedarf es beim GL-X3000 jedoch keiner separaten externen GPS-Antenne.
Standardmäßig ist der GPS-Empfang des Modems deaktiviert. Zum Aktivieren sind sogenannte AT-Befehle an das Modem zu senden. Möchte man nun mit anderen Geräten diese GPS-Daten verarbeiten, so kann man bspw. mit gpsd die Daten im Netzwerk via TCP/UDP z.B. im NMEA-Format zum Abruf bereitstellen.
GPS des Modems aktivieren
Grundsätzlich lassen sich die AT-Befehle mit einem einfachen echo
ans Modem senden. In diesem Fall erhält man aber kein Feedback vom Modem zurück bzw. bekommt es nicht angezeigt. Insofern nutze ich zum Absenden der AT-Befehle picocom, welches sich wie folgt installieren lässt:
Danach ruft picocom
wie folgt auf:
Gebt AT
ein, um zu Testen ob alles funktioniert. Wenn das der Fall ist, solltet ihr vom Modem als Antwort OK
erhalten.
Nun könnt ihr die GPS-Funktionalität des Modems aktivieren:
Nach der Aktivierung kann es einige Minuten dauern bis das Modem GPS-Daten empfangen hat. Zum Testen könnt ihr die aktuellen GPS-Daten mit folgendem AT-Befehl abfragen:
Erhaltet ihr einen 516
-Fehler dann konnten noch keine Daten empfangen werden. In diesem Fall wartet ggf. noch etwas bzw. probiert den Router, je nachdem wo er positioniert ist, umzustellen.
Nachdem ihr nun die GPS-Funktionalität des Modems aktiviert habt, lassen sich die GPS-Daten über das Gerät /dev/ttyUSB1
abfragen. Zum Testen reicht ein einfaches cat /dev/ttyUSB1
.
GPS-Daten im Netzwerk bereitstellen
Damit ihr die GPS-Daten nun mit anderen Geräten verarbeitet könnt, können diese mittels gpsd
im Netzwerk zum Abruf zur Verfügung gestellt werden. Dazu installiert das entsprechende Paket:
Öffnet nun die gpsd-Konfigurationsdatei /etc/config/gpsd
und passt sie wie folgt an:
Nach Anpassung der Konfiguration könnt ihr den gpsd-Service/Dienst wie folgt starten:
Das enable
ist optional für den Fall, dass bei einem Neustart des Routers der gpsd
-Service direkt mitgestartet werden soll.
Zum Überprüfen, ob der Service korrekt gestartet wurde, könnt ihr schauen, ob gpsd
auf dem entsprechenden Port lauscht:
GPS-Daten über Netzwerk abrufen
Der Abruf der GPS-Daten kann über die IP eures Routers und den konfigurierten Port erfolgen. In meinem Beispielfall wäre das z.B. 192.168.1.1:2947
. Auf meinem Notebook unter Arch Linux habe zum Testen auch gpsd
installiert. Das Paket bietet einige Tools, mit den sich die GPS-Daten abfragen lassen. Im konkreten Fall habe ich xgps
eingesetzt. Der Aufruf sieht wie folgt aus:
Wenn die Verbindung hergestellt werden kann, dann öffnet sich das GUI von xgps
, welches euch die aktuellen Daten übersichtlich darstellt:
Fazit
Habt ihr einen mobilen Router, der GPS unterstützt, ist es unter OpenWrt ohne größeren Aufwand möglich, die GPS-Daten zu empfangen und im Netzwerk zur Verfügung zu stellen.