Wo ist es?

Um möglichst gut festzustellen, wo sich ein Schloss mit dem zugehörigen Fahrrad gerade befindet, wollen wir uns nicht nur auf GPS verlassen. Um die Signale von Satelliten-Navigationssystemen zu empfangen, braucht der Empfänger in der Regel einen freien Blick zum Himmel. Zwar können wir durch die Verwendung von GNSS-Chips, die neben GPS auch GLONASS und Gallileo oder Beidou empfangen, die Chance erhöhen auch in schmalen Straßenschluchten noch genug Satelliten zu empfangen, doch das hilft schon dann nicht mehr weiter, wenn Räder unter Brücken oder in Fahrradparkhäusen abgestellt werden.

Aktuelle Smartphones schaffen es auch in Innenräumen akzeptable bis sehr genaue Positionsdaten zu liefern. Smartphonebetriebssysteme nutzen dazu eine Reihe zusätzlicher Methoden. So werden neben den Satelliten-Signalen auch die Signale von Mobilfunkbasisstationen, Wifi-Accesspoints und Bluetooth-Beacons verwendet, um dann durch einen Datenbankabgleich eine Position zu ermitteln. Dies hat neben der zusätzlichen Abdeckung oft auch den Vorteil, dass es schneller und mit weniger Energieaufwand funktioniert als GPS. (Die Funktionsweise dieser Positionierungsysteme ist in der Wikipedia ganz gut beschrieben.)

Für den Betrieb solcher Systeme ist aber eine Datenbank mit den Positionen der Accesspoints nötig. Android-basierte Geräte nutzen z.B. die Google Geolocation API, die als Bestandteil der Google Maps API verkauft wird. Die API, die iOS-Geräte verwenden, ist gar nicht für Dritte zugänglich. Da es uns im Zweifel aber lieber ist Open Source Lösungen zu benutzen, statt Geld an Google zu zahlen, haben wir uns dazu entschieden die Mozilla Location Services zu benutzen. Dieser Service basiert auf dem Open Source Tool Ichnaea. Um die Datenbank zu befüllen und zu verbessern, stellt Mozilla die Android-App Stumbler bereit. Durch Crowdsourcing kann so die Datenbasis und auch die Lokalisierungsgenauigkeit von allen verbessert werden. (Haben wir schon mal erwähnt, dass wir eine große Schwäche für Crowdsourcing-Projekte haben?). Wer nicht ständig eine zusätzliche App laufen lassen möchte, die zusätzlichen Strom vebraucht, aber trotzdem mithelfen will, kann in Firefox für Android freiwillig eine Option aktivieren, die in den Situationen die Datenbank befüllt, in denen der Browser sowieso die GPS-Ortung benutzt.

Mozilla Stumbler Android App

Mozilla Stumbler Android App

Das klingt im ersten Moment wie die perfekte Lösung für uns, doch leider gibt es zwei Schwachpunkte:

  • Das Projekt wurde primär für die Nutzung unter FirefoxOS ins Leben gerufen. Leider wurde die Entwicklung von FirefoxOS 2016 von Mozilla aufgegeben. Zwar lebt der Code von FirefoxOS in Form von KaiOS weiter, allerdings nicht mehr unter dem Dach von Mozilla. Der für uns interessante Teil, der Code von Ichnaea, wurde seit August 2017 damit leider auch nicht mehr weiterentwickelt.
  • Das schöne an Open Source ist aber, dass wir das Projekt im Zweifel selber aufsetzen und selbst weiter entwickeln könnten. Dies ist in diesem Fall aber leider auch nur teilweise möglich, denn der Projektcode ist zwar offen, die durch die Community gesammelten Daten aber nicht vollständig. Mozilla stellt zwar tägliche Updates der Mobilfunkzellen bereit, aber gerade die für uns interessanten Wifi-Daten werden aus Datenschutzgründen nicht als Open Data bereit gestellt. Das bedeutet auf der anderen Seite, dass nun mehr Leute eigene Datenbanken aufbauen müssen, wenn sie mit den Daten arbeiten wollen oder möchten, dass das Projekt weiterlebt.

Auch wenn wir hoffen, dass Mozilla den Service noch eine Weile am Leben lässt, wollen wir schon einmal vorsorgen. Unser Plan ist es nun tatsächlich die Software selber aufzusetzen, und Clients bereit zu stellen, die mehrere Datenbanken - hier also die Mozilla-Datenbank, aber eben auch unsere - befüllen können. Außerdem testen wir gerade mit einem ESP32, den wir auch in den Schlössern verbauen, wie sich nicht nur die Standorte von Wifi-Netzen sammeln lassen, sondern auch die Positionen von iBeacons.