owntracks mit neuer Anwendung für GEO-Tracking veröffentlicht

owntracks Recorder mit Raspberry Pi
owntracks Recorder mit Raspberry Pi

Das Thema Geotracking ist ja eines meiner Steckenpferde. Nun wurde ein neues Programm veröffentlicht was ich hier kurz vorstellen möchte. Endlich läuft es auf dem Raspberry Pi.

Die Quellen zu meiner Implementierung werden vom owntracks Team nicht mehr gepflegt unter https://github.com/owntracks/backend/tree/master/m2s , dh. es muss eine neue Lösung her. Das neue Programm heißt „ot-recorder“ was soviel heißt wie „owntracks Recorder“. Ein ganz großer Vorteil ist an dem neuen Programm, dass es eine Websocket Implementierung gibt und die Daten, um diese zu speichern, keine MySQL Datenbank mehr benötigten. Das ganze ist wie immer auf dem „Raspberry Pi“ sehr einfach zu installieren, implementieren und konfigurieren.

Voraussetzung ist RASPI – Debian Jessie

Die Schritte im einzelnen:

sudo wget http://repo.owntracks.org/repo.owntracks.org.gpg.key
sudo apt-key add repo.owntracks.org.gpg.key
sudo echo "deb  http://repo.owntracks.org/debian jessie main" > /etc/apt/sources.list.d/owntracks.list
sudo apt-get update
sudo apt-get install libmosquitto1 liblua5.2-0 libconfig9 libsodium13
sudo apt-get install ot-recorder

Automatischer Start von owntracks Recorder beim Einschalten des Raspberry Pi

Ensure you have a configuration file with the settings you require
# install -m444 /usr/share/doc/ot-recorder/ot-recorder.service /etc/systemd/system/ot-recorder.service

Enable the service to run at startup: 
# systemctl enable ot-recorder

Launch the service 
# systemctl start ot-recorder

Dann müssen wir noch die Datei „/etc/default/ot-recorder“ anpassen.

#(@)ot-recorder.default
#
# Specify global configuration options for the OwnTracks Recorder
# and its associated utilities to override compiled-in defaults.
# *** In libconfig versions < 1.4 a trailing semicolon is mandatory

# -----------------------------------------------------
# Storage directory
#

# OTR_STORAGEDIR = "/var/spool/owntracks/recorder/store"

# -----------------------------------------------------
# Address or hostname of the MQTT broker
#
# Hier kann auch ein eigener privater MQQT-Broker benutzt werden.
OTR_HOST="mqtt.unixweb.de"

# -----------------------------------------------------
# Port number of the MQTT broker. Defaults to 1883.
# MQTT can be disabled by setting this to 0.
#

OTR_PORT=1883

# -----------------------------------------------------
# Username for the MQTT connection
#

# OTR_USER=""

# -----------------------------------------------------
# Password for the MQTT connection
#

# OTR_PASS=""

# -----------------------------------------------------
# QoS for MQTT connection
#

# OTR_QOS=2

# -----------------------------------------------------
# MQTT clientid (default is constant+hostname+pid)
#

# OTR_CLIENTID=""

# -----------------------------------------------------
# Path to PEM-encoded CA certificate file for MQTT (no default)

# OTR_CAFILE=""

# -----------------------------------------------------
# Address for the HTTP module to bind to (default: localhost)
#
# Hier die IP-Adresse Deines Raspberry Pi eintragen
OTR_HTTPHOST="192.168.1.1"

# -----------------------------------------------------
# Port number for the HTTP module to bind to (default: 8083)
#

OTR_HTTPPORT=8083

# -----------------------------------------------------
# optional path to HTTP directory in which to store
# access log. Default is to not log access

# OTR_HTTPLOGDIR=""

# -----------------------------------------------------
# API key for reverse-geo lookups
#
# Hier Deinen eigenen API-Key eintragen 
# https://developers.google.com/maps/documentation/geocoding/intro?hl=de
OTR_GEOKEY="hdf98797f7d897g89d7g897ds8g9878fdg7"

# -----------------------------------------------------
# Reverse geo precision
#

# OTR_PRECISION=7

# -----------------------------------------------------
# List of topics for MQTT to subscribe to, blank separated in a string
#

OTR_TOPICS="owntracks/+/+"

Nach der Änderung der Konfiguration starten wir „ot-recorder“ nochmal neu:

sudo systemctl restart ot-recorder

Aufgerufen wird die Anwendung mit einem Browser unter „http://<IP-Adresse-des-Raspberry-Pi>:8083“

http://192.168.xxx.xxx:8083/last/index.html zeigt in Echtzeit an wo das letzte Tracking erfolgte.

owntracks-Recorder-Tracks
owntracks-Recorder-Tracks
owntrcks-recorder-3
owntracks-Recorder-Tracks

 

 

 

 

 

 

http://192.168.xxx.xxx:8083/map/index.html?user=jhummel&device=sgp621&format=linestring&from=2016-05-18T06:21 zeigt die Route für das Device SGP621 an für den 18.05.2016.

owntracks-recorder-tracks-2
Tracking per Device und Benutzer

Hier geht es zum Artikel für die Installation und Einrichtung von owntracks auf dem Smartphone:

Hinweis: Du kannst den Server mqtt.unixweb.de nutzen auf dem Port 1883. Dort werden die Daten von owntracks hin gesendet und mit dem Recorder dann aufgenommen und angezeigt. Damit Daten angezeigt werden können, müssen Daten erst mal gesendet werden von owntracks auf dem Smartphone. Der MQTT-Broker Dienst wird von mir persönlich kostenlos bereit gestellt.

 

https://blog.unixweb.de/einrichtung-owntracks-auf-dem-smartphone-mit-mqtt/

https://blog.unixweb.de/live-tracking-mit-mqtt-und-owntracks-auf-dem-raspberry-pi-teil-2/

Die erfassten Daten können ebenfalls nach OpenHAB / Node-Red für Smarthome übergeben werden, um bestimmte Geräte zu steuern.

So sieht das Endresultat aus:

owntracks animated GIF
owntracks animated GIF

Weiterführende Dokumentation gibt es hier:  https://github.com/owntracks/recorder

4 Kommentare

  1. Hallo !
    Ich versuche schon seit einiger Zeit ot-recorder auf meinem Raspi zum laufen zu bringen. Nachdem du deine Anleitung veröffentlicht hast, war ich guten Mutes es jetzt auch hinzubekommen. Leider scheitere ich immer noch an der Installation des Paketes. Auf das apt-get update bekomme ich Fehlermeldung:
    W: Failed to fetch http://repo.owntracks.org/debian/dists/jessie/InRelease Unable to find expected entry ‚main/binary-armhf/Packages‘ in Release file (Wrong sources.list entry or malformed file)
    E: Some index files failed to download. They have been ignored, or old ones used instead.

    Wenn ich in die owntracks.list „wheezy main“ eintrage bekomme ich die Fehlermeldung nicht.
    Ich teste das mal weiter.

    Gruß
    Björn

  2. Hallo Björn

    welches UNIX nutzt Du ?
    Du hast es gelesen : Voraussetzung ist RASPI – Debian Jessie !

    Grüße Joachim

    1. Hallo Joachim,
      ich nutze Raspian Debian Jessie. Der Build vom 10.05.2016. Ich habe es mittlerweile gelöst und ot-recorder läuft. Aber ich musste als Repository „wheezy main“ angeben, sonst habe ich immer die o.g. Fehlermeldung bekommen. Interessanterweise werden die Abhängigkeiten bei de Installation mit apt install ot-recorder durch „jessie main“ aufgelöst, das Paket ot-recorder selber aber aus „wheezy main“ runtergeladen. Es kommt mir insgesamt auch etwas komisch vor, funktioniert aber so wie beschrieben bei mir.
      Btw: Lässt du per Web auf ot-recorder direkt zugreifen, oder schützt du ot-recorder hinter nginx, wie in der Doku von ot-recorder beschrieben. Da ist übrigens ein Fehler drin. Beim der Bespielkonfiguration von Proxypass für nginx steht Port 8084 und nicht 8083. Beim apache steht es korrekt.

      Gruß
      Björn

      1. Hallo Björn

        ist ja wahrhaftig seltsam, Hauptsache es funktioniert jetzt. Hatte Jessie installiert weil bei mir „libmosquitto1“ benötigt wurde , also nicht „libmosquitto0“. Ich gehe aber auch nicht wirklich jeden Problem nach sondern suche eher Lösungen und da erschien mir Jessie die bessere Lösung, weil es auch das aktuelle OS ist.

        Im Augenblick hängt kein Nginx dran, weil ich es derzeit nur im Intranet benötige. Wenn OT-Recorder am Netz (Internet) hängt sollte man sich wie Du es schon schreibst, absichern mit Benutzer und Passwort.

        Beste Grüße , Joachim

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*