Skip to main content

Blog

Photon statt Pelias in digitransit nutzen

von Constantin Müller · 04. März 2020

Zur Adresssuche benutzt digitransit den OpenSource-Geocoder Pelias. Leider wird dieser nach dem Ende von Mapzen so gut wie nicht mehr weiter entwickelt. Außerdem hatte Pelias in unserer Instanz Probleme bei der Zuordnung von administrativen Grenzen. Da Pelias die Daten dafür nicht aus Openstreetmap bezieht, erschwerte dies uns die Analyse und Lösung des Problems.

Glücklicherweise gibt es alternativ zu Pelias noch Photon, welcher eine vergleichbare API für suggest-as-you-type-Adresssuche anbietet. Da Photon auf dem Importer des Standard-OpenStreetMaps-Geocoder Nominatim basiert, ist die Auswertung der OpenStreetMap-Daten entsprechend ausgereift.

Leider sind die APIs von Pelias und Photon unterschiedlich, das Featureset aber ähnlich. Um Photon alternativ als Geocoder in digitransit benutzen zu können haben wir deswegen einen kleinen Adapter gebaut, der die aus digitransit kommenden Anfragen in einen Photon-Request und die Antwort aus Photon wieder zurück in das Pelias-Format übersetzt.

Es werden nicht alle Funktionen von Pelias unterstützt, sondern hauptsächlich die Funktionen, welche von digitransit benutzt werden. Der zusätzliche Verarbeitungsschritt kostet natürlich etwas Zeit, was auf Kosten des Nutzererlebnis geht. Deswegen sollte der Adapter als Provisorium gesehen werden, bis digitransit von Haus aus einen anderen Geocoder unterstützt. Das Projekt ist auf GitHub zu finden.

Smarte Schlösser tracken

von Maximilian Richt · 25. Februar 2020

Aktuell verbauen wir für den Test an unseren Rädern simple, durchaus schwere, Zahlenschlösser. Jedoch wären Schlösser, die sich von selbst öffnen können, ziemlich praktisch – und so haben wir doch wieder ein Auge auf die fertigen “smarten” Schlösser, die wir vor einiger Zeit schonmal zerlegt hatten geworfen.

Leider hatten wir bei dem Schloss wieder ein Befestigungsproblem, mit dem auch schon andere Bikesharer zu kämpfen hatten — es passte in unseren Versuchen einfach nicht an den Rahmen am Hinterrad, zudem war bei unseren Fahrradmodellen auch wieder die Hinterradbremse im Weg.

In Unterstützung durch den ADFC wurde dann ein Stück Gepäckträger gekürzt und das Rücklicht nach unten versetzt, sodass das Schloss jetzt einigermaßen stabil hinten am Fahrrad hängt.

An der Integration in den modularen OpenBike-Software-Stack sind wir gerade dran. So bauen wir gerade einen Adapter für cykel, um die Kommunikation mit dem Schloss unabhängig von der eigentlichen Sharingsoftware betreiben zu können. Das Repository und erste Tests für die Protokollimplementation gibt es unter cykel-lock-b10.


Wer jedoch nur mit dem Schloss reden möchte, ohne gleich ein ganzes cykel + adaptern aufsetzen zu müssen, oder einfach flott experimentieren möchte, kann auf Traccar zurückgreifen. Das ist ein Open Source System zur Kommunikation mit einer ganzen Reihe von unterschiedlichen GPS-Trackern, meist eher mit (Auto)fahrzeug-Fokus.

Traccar hat uns auch geholfen, um das Protokoll des Schlosses grundlegend zu verstehen. In den Logs taucht dort die komplette Kommunikation als Hexdumps auf, was auch super für test-driven Development ist, um herauszufinden, ob unser Parser schritt-für-schritt die Pakete richtig geparst bekommt.

Um selbst mit Traccar und einem Schloss loslegen zu können, reicht die Installation von Traccar nach Anleitung auf einer Maschine mit öffentlicher IPv4-Adresse.
Zudem braucht das Schloss eine SIM-Karte, die in den Netzen am Verwendungsort funktioniert und Konfiguration für die Adresse und der Port des eigenen Traccar-Servers. Das wechseln der Simkarte hat der Hersteller gut bebildert dokumentiert.

Die Konfiguration erfolgt entweder per SMS (haben wir bislang nicht getestet) oder mit dem mitgeliefertem USB-Serial-Kabel: dazu den blauen Draht an den schwarzen halten, um das Schloss neuzustarten und die serielle Schnittstelle zu aktivieren. Mit 115200,8N1 verbinden, danach mittels AT^GT_CM=SERVER,0,<IP>,5023,0 (Format: Server, IP(0) oder DNS(1), IP/DNS-Name, Port, TCP(0) oder UDP(1)) den eigenen Traccar-Server hinterlegen. Traccar verwendet für das BL10 den Port 5023 um das kompatible gt06-Protokoll zu sprechen.

Das Schloss kann dann als neues Gerät in Traccar angelegt werden, die Gerätekennung ist die IMEI.

Über die Upload-Symbol-Schaltfläche über der Geräteliste lassen sich Befehle an das Schloss senden. Im auftauchenden Dialog kommt man über Neu > Benutzerdefinierer Befehl dann zum Eingabefeld für das eigentliche Kommando: UNLOCK#


Lust darauf, selbst mehr vom Schlossprotokoll zu verstehen? In cykel-lock-b10 gibt es den Protokollaufbau und Tests dafür. Mehr Infos zu den Innereien und der verbauten Firmware haben wir schon mal aufgeschrieben. Wir sind auch weiterhin noch auf der Suche nach möglichst allen AT-Kommandos, die das Schloss versteht - falls ihr noch mehr findet, freuen wir uns gern über eine Nachricht.

Wie wird so ein Fahrrad eigentlich zum Sharingrad?

von Stefan Kaufmann · 13. Februar 2020

Wenn man ein Bikesharingsystem bauen will, braucht es natürlich auch Räder. Bei kommerziellen Bikesharingsystemen gibt es da eine große Vielfalt an Fahrrädern. Von robusten Fahrrädern mit Zahlenschloss über die – vorsichtig gesagt – auf Kosteneffizienz optimierten OBikes bis hin zu den spannend durchdacht konstruierten Jump-Bikes, die sehr auf Details wie innenliegende Züge etc. achten.

Für uns lag nun die Herausforderung darin, passende Räder für unseren Praxistest zu finden und sharingfähig zu machen. Sie sollten im MVP mit GPS-Tracker und Zahlenschloss funktionieren, perspektivisch aber auch mit den von uns zerforschten Sharing-Schlössern getestet werden können. Hier wollen wir einmal zeigen, wie wir das gemacht haben.

Wir haben uns nach einer Ausschreibung für recht robuste Alltags-Stadträder mit 7-Gang-Schaltnabe, Nabendynamo und eingehauster Kette entschieden. Und von da zum Sharingrad war es gar nicht mal mehr so weit. Wie ein echtes Startupbusiness haben wir erstmal Design Thinking gemacht (so heißt das ja, wenn man mal schnell was mit Pappdeckel und Kabelbinder baut) und ausprobiert, wie die Beschilderung aussehen könnte.

Alles was dann noch fehlte, war ein Stapel Acrylplattenzuschnitte, die dann im Lasercutter des Verschwörhaus mit passenden Nuten versehen wurden. Consti, Kathi und Max konnten an diesen dann ihre Rakelkünste üben und einen Stapel Aufkleber mit den Sharing-Nummern und QR-Codes aufbringen. Die kamen aus einer Seriendruck-PDF-Vorlage, die wir von einem Dienstleister als Aufkleber ausdrucken ließen.

Und das war es dann eigentlich schon fast. Dazu kamen noch die bereits beschriebenen Feuchtraum-Abzweigdosen, die mit Sanitärschellen am Steuerrohr verschraubt wurden, und die Zahlenschlösser – fertig ist das Sharingrad.

Mittlerweile haben wir auch schon einige Tests mit den chinesischen Sharingschlössern angestellt. Leider passen die nicht so recht in das Dreieck zwischen Sattelrohr und Sattelstrebe. Wir haben aber mit Hilfe des ADFC eine Anbringung getestet, die für das erste Testen einmal reicht. Dazu aber später hier mehr :)