Locate Me

Projekt
GPS-Koordinaten im Freifunk Router automatisch setzen.
Hintergrund
Aus einer Laune heraus hatte ich mir mal einen USB-GPS Dongle gekauft.
Dieser lag nach der ersten Euphorie einfach so rum, und grinste mich aus dem Regal an..
Idee
Die lokale Freifunk Community vor Ort hat eine Karte, auf der alle Router verzeichnet sind.
Die Karten-Software ffmap-d3 (wurde durch meshviewer abgelöst) kann zweierlei Karten darstellen:
  • Welche Router sich untereinander verbunden haben
  • Eine OpenStreetMap die anzeigt wo auf der Welt der Router sich befindet.
Um letzteres darzustellen muss man händisch die Position des Routers eintragen.
Doch das ist mühsam, und wird gerne mal vergessen.
Peinlich wird das bei Routern die man zu Veranstaltungen aufstellt.
Manche Router haben eine USB-Buchse, da kommt der Dongle wie gerufen!
Ziel
Ich wollte was vollautomatisches: Nur den Dongle anstecken, warten... Fertig!
Der ganze Rest soll wie von selbst geschehen.
Werkzeuge
OpenWrt kommt mit USB-Geräten klar, und hat zum Glück einen Lua Interpreter mit im Gepäck!
Mit UCI kann man die Konfiguration im Lua Programm komfortabel lesen und schreiben.
Der GPS-Dongle spukt seine Daten im NMEA Format aus.
Dies ist ein steinaltes Format und kommt aus der Seefahrt.
Es ist also gut abgehangen, und es gibt ordentliche Dokumentation dazu. Sehr gut!
Umsetzung
Das Programm an sich ist nicht sehr komplex.
  1. Programmparameter von der Kommandozeile abfragen
    • Gerätepfad zum GPS-Dongle (/dev/ttyACM0)
    • Ermittelte Informationen ausgeben, oder gleich mit abspeichern?
    • Soll noch die Altitude (Höhe) eingesammelt werden?
  2. Danach in einer Endlosschleife die NMEA Daten durchgehen.
  3. Irgendwann fliegen Latitude & Longitude Informationen vorbei (GPGGA bzw. GPRMC).
  4. Die ermittelten Positions-Daten in die Konfiguration des Routers schreiben.
  5. Fertig!
Jetzt heißt es nur noch warten, bis die Karten-Software vorbei kommt, um die Position einzusammeln.
Fazit
Es war eines meiner ersten Lua-Scripte, nicht sehr komplex, aber sinnvoll.
Ich konnte meinen GPS-Dongle sinnstiftend einsetzen und dabei noch etwas lernen - Perfekt!
Links
Repository
locate_me.git
Wo ist mein Router?
Erstellt
19.07.2017 - 07:04:42
Editiert
09.12.2017 - 18:39:09
Tags
Freifunk
GPS
Lua
Projekt