geolocator (Software defined GPS) zweite Evaluation

Hallo zusammen,
Heute berichte ich euch über meine zweite Evaluierungsphase beim Google Summer of Code Projekt. Eine Englische version des Artikles könnt Ihr hier finden[0]. Dies ist der dritte Artikel über das Projekt. Eine Einführung in das „geolocator (Software defined GPS)“ Projekt findet sich hier (deutsch)[1] und (englisch)[2]. Der Artikel über die erste Evaluierungsphase vom letzten Monat könnt Ihr hier finden (deutsch)[3] und (englisch)[4]. Als erstes möchte ich euch über den Stand des Web Backends berichten:

 

Web Backend

Wie es in den vorherigen Blogposts bereits erklärt wurde, ist der Plan mit dem neuen Web Backend das Alte zu ersetzen.
Das aktuelle openwifi.su Web Backend besteht aus einer Ansamlung von verschiedenen Programmen in verschiedenen Programmiersprachen. Das Neue ist in Golang geschrieben und ist vollständig abwärtskompatibel.
Zudem ist die Sicherheit des neuen Web Backend erhöht, da alle Anfragen zuvor überprüft werden. Dies bedeutet, dass der String am ende der URL nur aus kommargetrenten MAC-Adressen aus 12 Hexzeichen bestehen darf.

 

Zudem ist ein Problem bei der Berechnung der angefragten Position behoben. Die vorherige Methode hat lediglich alle Latitudewerte zusammen addiert und durch die Menge der Positionen geteilt. Dasselbe auch für longitude.
Die neue Variante ist eine geografische Mittelpunktberechnung. Als ersten werden lat/lon Werte in Radianten umgewandelt. Danach werden die Radianten in ein katesisches Koordinatensystem überführt. Darauf folgend wird die Mittelpunktberechnung mit Hilfe eines Referenzkörpers in Form einer Sphäre (Kugel) durchgeführt. Das Ergebnis wird dann wieder in Gerade umgerechnet und repräsentiert den gemittelten latitude und longitude Wert.

 

Das Web Backend hat auch ein neues Feature, welches dabei helfen soll die Qualität der Position zu verbessern. Wenn bei einer Anfrage unbekante BSSIDs übermittelt werden, also BSSIDs die nicht in der openwifi.su Datenbank enthalten sind, dann kann das neue Web Backend eine seperate Anfrage an den Mozilla Location Service [5] für die unbekanten BSSIDs senden. Die erhaltenden Positionsinformationen fließen dann mit in die Berechnung der Antwort ein.

 

Aktuell wird das neue Web Backend getestet. In den nächsten Tagen ist ein erstes Release geplant. Den aktuellen Code zum Web Backend könnt Ihr hier finden [6].

 

LEDE Pakete

Das letzte Projekt is das Bauen von Paketen für LEDE und das Erstellen von Merge Requests zu Gluon. Die Idee dahinter ist, das Router und andere WLAN fähige Geräte automatisch ihre Geoposition anhand umliegender WLAN Netze bestimmen können.
Das könnte eine hilfreiche Funktion bei mobilen Routern sein. Zudem stellt es gute Alternativen zu der manuellen Positionseintragung da. Eine erste Version des Paketes findet sich hier [7].

 

Für die Integration in Gluon habe ich mir folgende 4 neue Pakete überlegt. Das Erste ist der gluon-geolocator welches eine Anhängigkeit zu gluon-node-info stellt und das Programm zum Erhalt der Geoposition anhand umliegender WLAN-Netze enthält.
Die anderen 3 Pakete beziehen sich nur auf den Gluon configmode. Der configmode ist der Zustand des Routers wenn dieser das erste mal gestartet wird und der Besitzer diesen über das Webinterface konfigurieren kann.

 

Die 3 folgenden Pakete sollen in gluon-config-mode-geo-location integriert werden und heißen:
gluon-config-mode-geo-location-with-geloc-map,
gluon-config-mode-geo-location-with-geloc,
gluon-config-mode-geo-location-with-map

 

Wie die Namen der Pakete es schon andeuten. Das Paket gluon-config-mode-geo-location-with-geloc-map soll die Optionen des geolocator und eine OSM Karte in den configmode integrieren. Die 2 anderen Pakete gluon-config-mode-geo-location-with-map und gluon-config-mode-geo-location-with-geloc sollen entweder nur eine OSM Karte oder die Optionen des geolocator in den configmode integrieren. Auch das Paket gluon-config-mode-geo-location soll weiter zur verfügung stehen und soll den jetzt üblichen Zustand anzeigen ohne geolocator oder OSM Karte.

 

Ein Merge Request zu den oben genanten neuen Paketen wird bald folgen. Ein paar von den gluon-config-mode-geo-location Erweiterungen sind aktuell noch nicht ganz fertig.

 

In den nächsten Wochen möchte ich die Integration in Gluon fertigstellen. Dazu soll ein erstes Release des neuen Web Backends folgen. Die Entwicklung am Web Backend wird vorrangetrieben. Aktuell sind da noch einige TODO punkte offen, z.B. Multicore Funktionalität, Auswahl von verschiedenen Algorythmen der geografischen Mittelpunktberechnung. Anfang August ist die SHA2017 [8] welche ich plane für einen kleinen Maratohn zu nutzen.

Schöne Grüße
Jan-Tarek Butt

Schreibe einen Kommentar