Praktische Apps und Hardware für Touren mit dem Fahrrad

Dieses mal geht es um praktische Hardware und Software (Apps) für das rumfahren mit dem Fahrrad. Hintergrund: Ich lebe seit 10 Jahren in einer Stadt, habe seit 7 Jahren kein KFZ mehr und seit 2 Jahren kein Abo für den ÖPNV. Ich pendle mit dem Rad zur Arbeit, mache Tagestouren bis ~ 100km und nutze das Rad auch um ein wenig in Form zu bleiben. Im Durchschnitt fahre ich ~ 10.000 Kilometer / Jahr auf dem Rad. Ich habe also einen konkreten Bedarf für Navigationsmittel und möchte ein wenig meine Fitness und den Fortschritt erfassen.

Hardware

Sensoren

Die meisten Sensoren für das Rad laufen auf ANT+, einem proprietären Funkstandard. Die Bandbreite ist gering, dafür ist die Stromaufnahme gering. Jedes halbwegs moderne Android Gerät mit Bluethooth Chip kann sich auf die Sensoren verbinden.

Ich verwende einen Geschwindigkeitssensor der nur Strecke und Geschwindigkeit misst. Damit habe ich einen groben Überblick wie viele Kilometer das Rad schon gelaufen ist. Die Synchronisierung mit der Garmin App läuft automatisch. Zusätzlich habe ich einen Trittfrequenzsensor um meine Ausdauer zu verbessern.

Ich habe die Sensoren mangels wissen von Garmin gekauft. Chinesische Kopien sollen genauso gut funktionieren.

Smartphone Halterung

Tot durch billige Halterung und holprige Strecke

Ich besitze keinen Fahrradcomputer weil ich schon ausreichend Hardware in meinem Alltag habe die geladen und gepflegt werden will. Nach sehr negativen Erfahrungen mit einer günstigen Lenkradhalterung hab ich mich für ein System namens Quad Lock entschieden. Das ist eine solide Halterung und eine Hülle die genau auf Smartphone und das System eingepasst ist. Leider gibt es nicht für jedes Smarthpone eine passende Hülle aber die üblichen Verdächtigen wie IPhone, Samsung, Pixel Phone bekommt man die Hüllen.

Smartwatch

Ich trage eine Garmin Vivo Active Smartwatch um Touren zu erfassen. Durch die Uhr fallen zusätzlich GPS- und Herzfrequenzdaten an. Die Uhr kann auch als Ant+ Sender genutzt werden um Daten zur Herzfrequenz an andere Geräte zu übertragen.

Links

Software

Garmin Connect

Die Daten der Sensoren landen via Bluetooth in Garmin Connect. Ich nutze auch noch eine Fitness Uhr von Garmin aber um die soll es an dieser Stelle nicht gehen. Neben dem Sammeln von Daten wird alles auf den Servern des Herstellers abgespeichert. Wer Wert auf Datenschutz legt sollte hier vorsichtig sein. Ein Vorteil ist die Anbindung an weitere Cloud Dienste und ein einfacher Zugriff über mehrere Geräte inklusive Webinterface. Die Daten können mit weiteren Diensten wie z.B. Komoot oder Strava geteilt werden.

Anfallende Daten auf dem Weg zum Kloster Schäftlarn in der Garmin Android App
Anfallende Daten auf dem Weg zum Kloster Schäftlarn

Kilometerzähler für mein Fahrrad
Kilometerzähler für mein Fahrrad

Navigation

Für die Navigation und Streckenplanung benutze ich Komoot. Das Kartenmaterial stammt von OpenStreetMap. Die App bietet nette Social Media Komponenten um Menschen zu folgen, Bilder hochladen usw. Wirklich interessant ist das Suchen nach interessanten Touren. Man bekommt alle relevanten Informationen wie Distanz, Höhenmeter, Dauer und eventuell ein paar Bilder und kann sich die Routen zum Nachfahren abspeichern und auch modifizeren. Neben der App gibt es ein Webinterface mit dem man bequem am PC Routen erstellen kann. Die Navigation ist ziemlich gut gemacht. Alles ist jederzeit klar ablesbar und gut verständlich.

Die Grundfunktion der App ist kostenlos; allerdings ist man auf eine Region beschränkt Wenn man außerhalb dieser Region unterwegs ist muß man entweder diese Region kaufen oder das „Weltpaket“ für ~ 30€ um überall auf dem Planeten navigieren zu können. Meiner Meinung nach lohnt sich die Investition und es ist ein kleines Dankeschön an die Entwickler die hier wirklich gute arbeit leisten. Es gibt ein optionales Abo mit dem ich keine Erfahrung habe. Die App gibt es für IOS und Android.

Fitness

myWorkouts

Bei der App myWorkouts handelt es sich um einen erweiterten Fahrradcomputer der Daten aus Sensoren und Smartwatches auslesen und aufbereiten kann. In meinem Setup sehe ich Geschwindigkeit, Tritt- und Herzfrequenz, Histogramme zu den Daten und Durchschnittswerte. Ich nutze die Anwendung um sicherzustellen, daß ich nicht mit dem Rad flaniere sondern meinen Körper stresse. Fahrten werden auf Wunsch lokal abgespeichert.

Screenshot der App myWorkouts: gespeicherte Fahrt
Screenshot myWorkouts: gespeicherte Fahrt

LTE als DSL Ersatz

Alle paar Jahre verlangt das Netzwerkequipment zu Hause nach ein wenig Aufmerksamkeit. Ich lebe recht zentral in München und mehr als DSL 16.000 bekommt man hier. Das Mietshaus hat keinen Glasfaseranschluss. Leider wurde und wird die Performance von meinem Anschluss mit der Zeit immer bescheidener. Im Jahr 2011 hatte ich DSL 50k gebucht und auch meist gehabt. Später hat der Provider mich freillig in einen günstigeren Tarif geschoben weil solche Performance hier nur im Reich der Phantasie stattfindet.

Nachmittags ist der Download einigermaßen akzeptabel. Container pushen + pullen, Dependencies installieren macht wenig Spaß. Wenn in der Nachbarschaft Abends gestreamt wird kommt man sich vor wie in den späten 1990er Jahren. Ich könnte jetzt auf irgendwelche Provider schimpfen aber mehr kommt aus alten Kupferdrähten in der TAE und dem Gemurkse im DSLAM nicht raus.

LTE als Alternative

Über Golem bin ich auf Freenet Funk Unlimited gestoßen. Dabei handelt es sich um einen LTE Traif ohne Volumenbegrenzung für 99 Cent pro Tag. Zahlbar nur via Paypal und täglich kündbar.
Im Monat kostet der Spaß ~ 30,11€ also 5€ teuer als mein Vodafone DSL Anschluss.

Setup

Alle Clients hängen an einem Router mit DD-WRT Firmware. Das Gateway des Routers ist ein „Reiserouter“ von GL.INet in dem das LTE Modem steckt.
Das hat einen ganzen Haufen Vorteile:

  • DD-WRT ist einigermaßen OpenSource
  • Jeder Router mit DD-WRT hat das gleiche Webinterface und man kann auch per Telnet drauf rumfummeln wenn man das möchte.
  • Falls das Gateway ausfällt / Provider gewechselt wird / neue Hardware vom Provider kommt muß nur das Modem getauscht werden und keine Clients konfiguriert werden (Darum gehts hier).

Inbetriebnahme

Die SIM Karte hatte ich nach einem Tag. Aktiviert wurde mit einer Android App. Keinerlei Probleme.
In den LTE Stick muß eine Mini-SIM eingelegt werden – an Adapter denken!
Beim ersten Einschalten muß die PIN eingetragen werden. Das kann man bestimmt mit irgendeiner Windows Anwendung machen oder mit dem Webinterface auf 192.168.8.1.

Performance + Stabilität

Mit Freenet Funk surft man im Netz der armen Leute – nämlich bei O2. In der Stadt ist das kein Problem aber auf dünner besiedelten Landstrichen kann es langsam werden.
Wichtig ist die Position und Ausrichtung des Sticks. Eine höhere Position bringt ~40% mehr Speed in beide Richtungen und halbiert den Ping. Sehr schön.

Die Verbindung ist bis jetzt stabil – ich hatte keine Offlinezeiten oder größere Latenzen. Keine Lags oder broken Pipes bei SSH. Leider ist der Standort des Modems im Moment suboptimal – neben der Wohnungstür und weit weg von Fenstern. Versuche mit CRC-9 Antennen und anderen Orten werde ich noch durchführen. Leider bietet der Stick keine granulareren Informationen zur Verbindungsqualität als 3 von 5 Balken 4g. Dieses Pythonscript zieht mehr Infos aus dem Webinterface des Sticks aber die genauere Daten zur Signalstärke habe ich noch nicht gefunden.

Erster Benchmark, Antenne liegt im gewohnten Kabelgewirr

Stick steht frei in erhöhter Position

Fazit

Surfen über LTE macht Laune. Standort und Ausrichtung des Sticks entscheiden über die Qualtät der Verbindung .
Wahrscheinlich kann ich noch ein bisschen Performance mit Antenne und Standortwechsel rauskitzeln. Ein guter Ersatz für meine DSL Leitung ist es auf jeden Fall.
Bei eklatanten Verbesserungen oder Verschlechterungen werde ich diesen Artikel aktualisieren

Bemerkung: Ich bekomme keine Zuwendungen von Freenet. Wenn Ihr auf die Amazon Links klickt springen unter Umständen ein paar € für mich raus.

Jupyter Notbooks in Virtualenvs ausführen

1. Virtualenv anlegen

virtualenv   -p python3 venv    #if python2 is the default interpreter

2. Libraries installieren (ipykernel nicht vergessen)

pip3 install -r requirements.txt #dependencies

3. Kernel anlegen

python -m ipykernel install --user --name=venv

4. Virtual Env aktivieren

source venv/bin/activate

5. Im Playbook unter Kernel -> Change Kernel den Kernel venv wählen
6. Session beenden wenn Du fertig bist

deactivate

SSh Client updaten

Mein Linux Mint ist mittlerweile recht antiquiert und ebenso die Software die mitkommt. Auf ein Distupgrade habe ich keine Lust, da die / Partition voll ist und mein Rechner mit 4 Jahren bald ersetzt wird.
Mit Linux Mint 17 bekommt man openssh in der Version 6.6 aber ich brauche das super coole Feature Proxy Jump. Der Spaß ist recht schnell kompiliert:

wget http://mirror.exonetric.net/pub/OpenBSD/OpenSSH/portable/openssh-7.5p1.tar.gz
tar -zxvf openssh-7.5p1.tar.gz
 cd openssh-7.5p1/
./configure
make

Da ich nur den ssh client benötige mache ich statt

sudo make install

einfach

sudo cp ssh /usr/bin/

Fertig.

ms@w530~/Downloads/openssh-7.5p1$ ssh -V
OpenSSH_7.5p1, OpenSSL 1.0.2l  25 May 2017

Debian Datum einstellen

Wenn die Uhr nicht korrekt auf dem Rechner eingestellt ist geschehen die lustigsten Dinge.
Deshalb synchronisiert sich Debian Linux per NTP gegen einen Zeitserver. Manchmal muß man jedoch an sowas vorbei arbeiten.
Um ein Script in der Vergangenheit oder Zukunft auszuführen muß NTP deaktiviert werden.

Unter Debian / Ubuntu funktioniert das so:

root@server:~# timedatectl set-ntp 0
root@server:~# timedatectl set-time 2017-06-20
root@server:~# date
Tue Jun 20 00:00:01 CEST 2017

Im Anschluss auf keinen Fall vergessen NTP wieder zu aktivieren und die Uhr prüfen!

root@server:~# timedatectl set-ntp 1
root@server:~# date
Wed Jun 21 12:30:45 CEST 2017

Ansible Vaults bequem editieren

Ansible ist eine ganz nette Software um Serverlandschaften deklarativ zu administrieren /konfigurieren. Nicht so schön ist die Tatsache, daß alles per Yaml definiert wird – einer Auszeichnungssprache die mit Einrückungen arbeitet. Unangenehm wird es, wenn man Vault Files editieren möchte. Diese sind mit einem Passwort verschlüsselt und müssen mit dem Befehl

ansible-vault

entschlüsselt werden. Im Erfolgsfall öffnet sich nun der Default Editor (konfiguriert über update-alternatives –config editor unter Debian oder Ubuntu).

Das funktioniert prinzipiell, ist aber sehr fehleranfällig beim Anlegen von neuen Strukturen. Um z.B. Sublime Text für das Editieren zu nutzen muß nur die EDITOR Variable gesetzt werden :

EDITOR="subl -n -w"

Um den Editor dauerhaft auf Sublime umzustellen muß die Variable nur in die Shell Konfiguration ( ~/.bashrc) eingetragen werden:

export EDITOR="subl -n -w"

Kanboard – Größe der Installation reduzieren

Kanboard ist eine nette Software um kleine Projekte oder im Ernstfall sich selbst per Kanban (angeblich spricht der Japaner das als „Kamban“ aus) zu managen. Ich nutze das für kleinere Projekte in- und abseits der Arbeit mit mehr oder weniger Erfolg. Ich habe eine Instanz auf Uberspace installiert weil das Hosting da schmerzfrei über die Bühne geht und ich keinen Server betreuen muß. Einzig der Webspace ist mit 10GB schmal bemessen. Installiert ist Kanboard über git clone – wenn ich mal Lust auf Features habe pull ich einfach den Masterbranch. Bei dieser Taktik wird leider auch jeder einzelne Commit auf die Platte gezogen.

Abhilfe schafft das abschneiden der History:

git clone --depth=1 --branch master https://github.com/fguillot/kanboard

Bei composer das Flag –no-dev nicht vergessen

composer install --no-dev

und die Installation ist um ~ 70% geschrumpft

40M kanboard.de
141M kanboard.de.xxl