Positionsbestimmung per WLAN

Leider gelingt mit den Mock Location Providern keine vollständige Systemintegration, da eine Anwendung (Osmand, Google Maps, OSMTracker, whatever…) explizit den Mock Location Provider abfragen muss. In anderen Worten: es sind Anpassungen an den jeweiligen Anwendungen nötig :frowning:

Falls sich jemand an der WLAN-Positionsbestimmung versuchen möchte, findet sich übrigens hier eine rund 200 MB große SQlite-Datenbank mit den bekannten Openbmap-WLAN-Positionen.

Da gerade OSMTracker problemlos mit dem mock provider tut und auch nicht anderes macht als:

	// Register ourselves for location updates
	lmgr = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
	lmgr.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this);

halt ich das für ein Gerücht :-).

Simon

Hmmm. Wenn Du’s getestet hast, will ich nicht widersprechen. Ist schon einige Zeit her, dass ich mich damit beschäftigt habe…

Bei Mozilla versucht man den Aufbau einer eigenen Datenbank mit Mobilfunkmast- und WLAN-Daten aufzubauen und diese Daten auch öffentlich zur Verfügung zu stellen. Ist noch im Aufbau, aber kann man im Auge behalten: Project Location (?)

Zu deinem Hinweis oben: Ich habe mir das Projekt mal angeschaut: https://location.services.mozilla.com/ und den MozStumbler (nur für Android verfügbar) installiert sowie angefangen Daten zu sammeln.
Unter Coverage Map gibt es die Übersicht bisher erfasster Gegenden als Heatmap (WLAN und Basisistationen zusammen?).
Zum Testen kann man dann im Firefox folgende Änderung tätigen (Vorsicht für Anfänger! Habe es erstmal in einem portablen Firefox gestestet):

You can point your Firefox Desktop browser at this service by changing the geo.wifi.url setting in about:config to:

https://location.services.mozilla.com/v1/geolocate

Sie auch unter: https://mozilla-ichnaea.readthedocs.org/en/latest/api/geolocate.html

Dann auf openstreetmap.org und rechts den aktuellen Standort anzeigen lassen.
Je nach den vorhandenen Messungen (in Coverage Map anschauen, ob überhaupt schon Messungen für Standort verfügbar oder mit MozStumbler selber sammeln) erhält man den Standort. Der Radius erscheint mir aktuell noch etwas groß oder ist noch ein Standardwert, die Koordinate selber ist schon sehr genau.
Auf jeden Fall eine interessante Alternative zu Google, welche sich hier entwickelt.

Das klingt alles sehr interessant, mithilfe von Wlan-Daten orten zu können. Auch habe ich mitbekommen, dass Google eine Schelte bekam weil sie das bei ihren Streetviewfahrten aufzeichneten. Aber wie genau das funktioniert/funktionieren soll ist mir nicht bewusst. Kann das vielleicht jemand halbwegs laienverständlich erklären? Kann man diesbezüglich vielleicht sogar eine Wiki-Seite anlegen? :slight_smile:

Ist eigentlich ganz einfach: Jeder irgendwo rumstehender WLAN-Router “schreit” ein “hier bin ich, das ist mein Name und das ist meine Netzwerk-Adresse” laut bis auf die Straße hinaus, falls der Besitzer nicht etwas dagegen tut. Da das den meisten Home-WLAN-Besitzern nicht klar ist, machen das wohl gefühlte 90% der WLAN-Router.
Alle Router sind somit zu identifizieren und können mit einer Datenbank (“hier haben wir mal einen Router mit dieser Adresse gesehen”) verglichen werden und schon weiss man auch ohne GPS, wo man sich befindet. Das geht soweit, daß in - besonders amerikanischen - Großstädten bereits kein GPS im Smartphone des Anwenders notwendig ist.

Gruss
walter

Danke Wambacher. Das war mir aber schon klar. :slight_smile: Ich frage mich eher wie dies technisch umgesetzt werden soll. Letztendlich muss das doch dauernd aktualisiert werden. Router werden umgestellt (in Haus/Wohnung, aber auch bei Umzug ein paar Straßen/Orte/Länder weiter), die Router sind mal ausgeschaltet (bzw. das Wlan), die Reichweite ist mal mehr mal weniger eingeschränkt oder die Router werden einfach umbenannt (angenommen ein Wlan-Router wird von “Easy-Box 4BDA3O” in “Tulpenblume” umbenannt, wird er dann trotzdem als der gleiche erkannt?). Das ist doch ein sehr hoher Aktualitätsdruck um das wirklich nutzen zu können oder? Weiß man wie oft da kommerzielle Anbieter Aktualisierungsfahrten durchführen (müssen)? Und wird quasi aus den Daten die man von den Routern empfängt deren Standort errechnet oder wird einfach gesagt, "ah, hier habe ich Router A, B und C, dann muss ich ungefähr in der Schmidtstr./Müllerstr. sein?

Okay, da gibt es auch was von Wikipedia: https://de.wikipedia.org/wiki/WLAN-basierte_Ortung
Mal schauen wie gut es da erklärt ist. :slight_smile:

P.S. in dem oben genannten Wikipedia-Artikel wird auch eine OpenWLANMap ( https://de.wikipedia.org/wiki/OpenWLANMap ) erwähnt. Die werfe ich hier mal rein, weil die glaube ich hier noch nicht erwähnt wurde.

Basisstationen senden alle paar Millisekunden aus, wie sie heissen, welche MAC-Adresse sie haben und noch ein paar andere Dinge. Damit lassen sie sich eindeutig identifizieren (ausser man manipuliert diese Werte, was sehr einfach ist, aber hierfür ignoriert werden kann). Ausserdem kann man auch die Dämpfung feststellen, die mit mehr Masse (also z.B. einfach durch Raum, aber stärker durch Wände) zwischen den Teilnehmern zunimmt.
Als Endgerät sieht man dann (mit etwas Glück) nicht nur eine, sondern mehrere Basisstationen. Wenn man deren Positionen kennt kann man mit Hilfe der Dämpfung (also einer ungefähren Entfernung zu den BS) mögliche eigene Positionen ermitteln (das funktioniert bei GPS im Prinzip genauso).

Da man aber normalerweise nicht “einfach so” die Positionen kennt (die Basisstationen selbst kennen sie ja normalerweise schon nicht – was wambacher in seiner zwischenzeitlich entstandenen Erklärungen mit “Adresse” meint ist die MAC-Adresse) muss man dazu eine entsprechende Datenbank fragen. Das kann eine Datenbank auf dem eigenen Endgerät sein oder eine externe Datenbank, die man über eine Internetverbindung um eine Positino bittet (letzteres ist z.B. bei Smartphones üblich).

Diese Datenbank muss man vorher füllen. Da man nicht an die Positionen der BS rankommt fährt/läuft man daher das Gebiet ab und lässt ein Gerät speichern, an welcher Position (die dafür auf andere Art ermittlet werden muss) welche BS wie gut zu empfangen ist.

OT: Was du mit Google ansprachst ist das im letzten Absatz beschriebene. Nur hat Google afaik nicht direkt im Fahrzeug die Position den empfangenen Netzen zugeordnet sondern einfach alles gespeichert was sie empfangen haben und erst später ausgewertet.

Für die Lokalisierung wird nicht die Kennung (SSID) “Router von XY”, sondern die 48-Bit-Hardware-Adresse (MAC) verwendet. Die ist nicht abschaltbar, sonst würde der Access-Point (meist Router) auch von den berechtigten Clients nicht gefunden. Sie bleibt in der Praxis auch fest, weil eine Änderung fast nie Sinn macht.
In Gegenden mit genügend hoher Rechnerdichte sind meist mehrere WLAN-Access-Points gleichzeitig zu empfangen, die aller Wahrscheinlichkeit nicht alle gleichzeitig abgeschaltet werden. Mit dem Rest ist immer noch eine Lokalisation möglich. Dadurch können gleichermaßen auch die wenigen mobilen Access-Points aussortiert werden.

Ok, man zeichnet auf (bzw. lässt automatisch aufzeichnen), welche WLANs man gerade empfängt. Die Daten müssen dann aber auch noch mit GPS oder ähnlichem abgeglichen werden, damit diese WLAN-Daten auch geografische eingeordnet werden können, oder? Zum kartieren braucht man also mind. ein GPS-Gerät und ein WLAN-Aufzeichner. Nur mit einem WLAN-Aufzeichner Daten aufzuzeichnen ist insofern gesehen (in Bezug auf diesen Thread) recht sinnlos. Verstehe ich das richtig?

Einzelne Umpositionierungen innerhalb des Hauses haben keinen so sehr grossen Einfluss: Entweder hat man es eh nur etwa Grundstücksgenau oder genug andere APs um das zu kompensieren. Wenn ein AP mal weg ist ist er weg, aber die anderen sind dann ja noch da. Wenn der AP bei der Erfassung fehlt fehlt er halt in der Datenbank – Ist auch nicht schlimm: Dann ignoriert man ihn halt. Auch gibt es viele portable APs (z.B. mein Telefon und Laptop spielen manchmal AP).

Bei Umzügen ist das schon kritischer: Eine grössere Firma hatte mal auf einer Messe (iirc in Berlin) Teile ihrer Netzwerkinfrastruktur aufgebaut – unter anderem APs. Die Besucher der Messe wurden dann wenn sie in der Nähe dieses Standes waren am eigentlichen Standort der Firma (Hannover?) lokalisiert.

MAC-Adresse/BSSID :wink:

Ja. Also zumindest lese ich auf beiden Seiten des “oder” sinngemäss das gleiche. Vielleicht habe ich auch nur noch nicht verstanden, worauf du hinaus willst.

Es gibt genug Android- und iOS-Telefone da draussen (und ein paar von ersteren hier drinnen) :wink:

Wurde es noch nicht.

Kommt drauf an was du machst :stuck_out_tongue: Aber ja, üblicherweise bleibt die fest.

Ja, genau das meinte ich damit: “und lässt ein Gerät speichern, an welcher Position (die dafür auf andere Art ermittlet werden muss) welche BS wie gut zu empfangen ist.”

Okay, danke für die Erklärungen. Ich glaub ich versteh das so halbwegs nun. Und das klingt ja recht vielversprechend. Wenn das mit dem Datenschutz vereinbar ist, dann tut sich da hoffentlich bald ganz viel im open-Bereich. :slight_smile:

Es gibt einen Spezialfall: Lokalisierung in Gebäuden. Da ist GPS nur selten zu gebrauchen und man muss die Position (Stockwerk, Gang) von Hand erfassen.

jo, das ist so richtig. Und genau so hat google das gemacht: sind mit dem Kameraauto rumgefahren, haben geknipst, wlans erfasst und das ganze mit gps verknüpft. Ärger haben die dann bekommen, weil sie nicht nur die Position der Router sondern auch den Datentransfer der Router aufgezeichnet hatten - aber das ist ein anderes Thema.

Gruss
walter

Ok, das war die ein wenig ausführlichere und auch korrektere Version - aber Zanderschiff hatte ja ausdrücklich nach einer für Laien verständlichen Antwort gebeten :wink:

Und dafür haben sie ja später mächtig viel Ärger bekommen.

Gruss
walter

Letzlich sammeln die “Großen” wie Apple und Google die Daten mit ihren jeweiligen Handys.
Bei Android erlaubt man dies unter Standortdienste->Standort- und Google-Suche->Lässt zu, dass Google Ihre Standortdaten für bessere Suchergebnisse und andere Dienste verwendet. Also die Erlaubnis jederzeit die Datenbank bei Google zu aktualisieren.

Unter dem Link: https://wiki.mozilla.org/Services/Location/Bootstrap ist eine Auflistung von einigen Projekten, welche Basistationen (GSM, UMTS, LTE, …) oder WLANs sammeln oder auch alles zusammen.
Dazu gibt es meistens eine App wie MozStumbler, OpenWLANMap, inViuOpencellid.
Interessant ist letzlich wie jeder von diesem Daten profitiert und nicht nur für einen kommerziellen Anbieter sammelt (welcher deine Daten dann noch zu Geld macht).
Dies reicht vom Download der gesammelten Messungen bis hin zu einer verfügbaren API.
Natürlich spielt eine große Rolle die Anzahl der gesammelten Messungen, welche eine genaue Ortung erst ermöglichen.
Mit Mozilla könnte eine ernsthafte Alternative zu Google/Apple entstehen, welche Positionsbestimmung per WLAN und Basisstationen ermöglicht.

Wobei ich gerade bei WLAN nochmals zu Vorsicht raten möchte. Alleine schon die MAC-Adresse verrät doch recht viel über das Gerät (Hersteller ggF. Typ) und durch weitere Sachen (ESSID, Zeiträume der Sichtbarkeit), kann man doch allerlei Rückschlüsse ziehen.

Auch wenn ich als Informatiker das eher als Problem der Betreiber sehen würde (könnten ja Sendeleistung begrenzen, Essid verstecken, MAC faken, …), denke ich, dass man aufpassen sollte wenn man eine öffentlichen Geodatenbestand dazu aufbauen will. Vor kurzem wurde z.B. eine gravierende Lücke bei Vodafone Routern gefunden. Wenn man dann durch einfache Filterabfragen die Standorte rauskriegt, würde ich das schon als recht bedenklich ansehen :confused:
Davon abgesehen fischt man u.U. auch mobile Geräte ab (Smartphones mit tethering, …) und ermöglicht damit evtl. die Rekonstruktion von Bewegungsprofilen der Eigentümer.

Genau so gut könnten sich ältere Herren mit entsprechender Neigung über Kindergärten und deren Umgebung informieren. Mit “unseren” Daten kann man viel Schindluder betreiben, wenn man drauf aus ist.

Gruss
walter

p.s. ich wäre aber froh, wenn die WLAN-Daten nicht in unserer DB landen. Echte, dafür vorgesehene Hotspots eventuell noch, aber nicht die anderen.

Kann man mit Google Maps ja auch :wink:
Es ist ja ein ewiges Problem mit technischen Neuerungen. Fast immer kann man auch Böses damit anfangen, wenn man will.
Grüße,
Marek

Ich denke der Vergleich hinkt hier an einigen Stellen :wink:

Und zwar kann man ja von Anfang an die Detailtiefe eines solchen Portals so designen, dass wesentliche Fälle datenschutz-konform behandelt werden. Denn wer tauscht schon seinen Router, wenn er umzieht? Das kann gerade bei besonderen Schutzinteressen ganz schön schief gehen, weshalb es in meinen Augen durchaus Sinn macht da vorher nachzudenken was man da wie aufzeichnet.
Wenn ich mir da so mal meine Logs anschaue, dann ist das Sicherheitsbewußtsein der Bevölkerung da sehr sehr gering (vollständige Namen als SSID, maximale Sendeleistung, …)