- 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.
-
-
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?
- Danach in einer Endlosschleife die NMEA Daten durchgehen.
-
Irgendwann fliegen Latitude & Longitude Informationen vorbei
(
GPGGA
bzw. GPRMC
).
-
Die ermittelten Positions-Daten in die
Konfiguration des Routers schreiben.
- 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