Live Tracking mit MQTT und owntracks auf dem Raspberry PI – Teil 2

Heute befassen wir uns mit der Einrichtung von „owntracks“ auf dem Android Smartphone.

Links für Smartphone:
https://itunes.apple.com  <– für iOS hier klicken https://play.google.com/store/apps/  <– für Android hier klicken

Nach der Installation von „owntracks“, gehen wir an die Konfiguration des Trackers.

owntracks-Step1
owntracks Einrichtung Schritt 1 – Host -> Username -> Passwort

 

Als Host könnte auch <MeinHostname>dydns.com stehen. Wichtig ist hier dass eine Portfreigabe an dem Router gemacht wird, welches ich im Anschluss noch zeigen werde, am Beispiel meiner Fritzbox. Als Device ID könnt ihr auch einen anderen Namen nutzen. Er stellt sich dann für das Auslegen des Message Broker Mosquitto als notwendig an.
Der lautet bei mir dann „owntracks/jhummel/android“.

owntracks-Step2

 

 

 

 

 

 

 

 

 

 

 

 

 

Die Connection Security lassen wir erst mal auf „NONE“ um die kümmern wir uns wenn die Sache läuft, denn ich möchte die Fehlerquellen hiermit reduzieren.

owntracks-Step3

 

 

 

 

 

 

 

 

 

 

 

 

 

Wichtig ist hier, dass bei Connection „Connected“ steht. Wenn nicht dann mal den Mosquitto Server neu starten und prüfen ob die Datei /etc/mosquitto/passwd existiert und in der „mosquitto.conf“ eingetragen wurde. Hilfreich ist auch im Logfile nachzusehen unter :

tail -f /var/log/mosquitto/mosquitto.log
Restart Mosquitto Server:
/etc/init.d/mosquitto restart

Prüfen ob Mosquitto auf dem Port 8883 läuft:
netstat -an |grep 8883
tcp        0      0 0.0.0.0:8883            0.0.0.0:*               LISTEN

 

Als nächstes bauen wir uns ein kleines Shell-Script, mit dem wir die Nachrichten die das Smartphone sendet monitoren können. Ich erstelle hier immer gerne Scripts, da diese Funktion immer wieder gebraucht wird und ich mir nicht immer den Syntax merken muss 🙂

mkdir /root/bin
cd /root/bin
vi monitor-owntracks.sh

mosquitto_sub -h localhost -p 1883 -v -t 'owntracks/#'

Datei speichern

chmod 755 monitor-owntracks.sh

Aufrufen mit ./monitor-owntracks.sh

owntracks-Step4

 

 

 

 

 

 

 

 

 

 

 

 

 

Wir starten „owntracks“ auf dem Smartphone und drücken auf das Symbol „Pfeil nach oben“ rechts. Dann sollte im Monitorscript folgende Ausgabe zu sehen sein:

owntracks/jhummel/android {"_type": "location", "lat": "48.1383698", "lon": "11.4276883", "tst": "1421859523", "acc": "20.0", "batt": "40"}
owntracks/jhummel/android {"_type": "location", "lat": "48.1383554", "lon": "11.427676", "tst": "1421859575", "acc": "20.0", "batt": "39"}
owntracks/jhummel/android {"_type": "location", "lat": "48.1383554", "lon": "11.427676", "tst": "1421859575", "acc": "20.0", "batt": "39"}
owntracks/jhummel/android {"_type": "location", "lat": "48.1383554", "lon": "11.427676", "tst": "1421859575", "acc": "20.0", "batt": "39"}
owntracks/jhummel/android {"_type": "location", "lat": "48.1383554", "lon": "11.427676", "tst": "1421859575", "acc": "20.0", "batt": "39"}
owntracks/jhummel/android {"_type": "location", "lat": "48.1383554", "lon": "11.427676", "tst": "1421859575", "acc": "20.0", "batt": "39"}

Wenn alles soweit klappt dann „Hurra Du hast es geschafft“ und Glückwunsch von meiner Seite.

Jetzt wollen wir noch eine kleine Änderung machen damit Du unterwegs über das 3G-Netz mit dem Smartphone die Daten nach Hause auf Deinen Raspberry PI senden kannst. Hierzu öffnen wir die Webseite Deiner Fritz.box sofern vorhanden. Für andere Router bitte Handbuch lesen 🙂

Hier klicken für fritz.box öffnen – Geht schon keine Angst ich lese nichts aus 🙂 Fritzbox

FRITZ_Box Freigabe für MQTT
FRITZ_Box Freigabe für MQTT

Hier die Freigabe wie dargestellt einrichten. Die „an IP-Adresse“ muss deine IP-Adresse des Raspberry PI stehen. Er sollte auch eine Statische Adresse haben, die in der Fritz.Box eingerichtet werden kann.

Nun konfigurieren wir das „owntracks“ auf dem Smartphone um wie folgt:

owntracks-Step5

 

 

 

 

 

 

 

 

 

 

 

 

 

Am Host tragst Du Deinen „dyndns.com“ Namen ein, wie der bei Dir auf der Fritz.box oder anderen Routerhersteller eingetragen wurde.

Anleitung für DyDns gibt es hier für die Fritz.box :
http://praxistipps.chip.de/fritzbox-dyndns-einrichten_3363

Dann wieder die Daten übertragen indem Du wieder Tracking Daten überträgst und im Fenster nachsehen wo das Script „./monitor-owntracks.sh“ läuft Daten ankommen.

Hinweis: Hier WLAN auf dem Smartphone ausschalten und Datenübertragung „Mobiles Netz“ aktivieren. Sonst kann es passieren dass durch einen Tippfehler die Daten nicht auf Deinem Raspberry PI ankommen und der Broker sich langweilt 🙂

Das soll es mal für heute gewesen sein mit dem Teil 2. Im Teil 3 werde ich dann die Export Funktion von „owntracks“ Python Scripts vorstellen und wenn der Artikel nicht zu lang wird, noch den GPX-Viewer für das Livetracking mit Google Maps oder Openstreetmaps.

Aussehen wird das ganze dann wie im Bild unten angezeigt:

GPX-Viewer-Beispiel mit MQTT auf dem Raspberry PI

 

 

 

 

 

 

 

Bis dahin viel Erfolg und Spaß beim Basteln und probieren wünscht , Joachim

 

Nachtrag am 4.09.2015 :

Die Anleitung basiert auf den Download Image von http://thethingbox.io/

Wenn der Fehler kommt „mosquitto_sub not found“ist das Paket „mosquitto-clients“ nicht installiert.

Es muss die Software manuell installiert werden mit „sudo apt-get install mosquitto mosquitto-clients python-mosquitto“

Siehe Anleitung hier : http://jpmens.net/2013/09/01/installing-mosquitto-on-a-raspberry-pi/

Hier geht es weiter zum Teil 3

18 Kommentare

  1. Hallo, ich habe heute versucht alles ans laufen zu bekommen.
    Soweit ist eigentlich alles gut, ich bekomme nur das hier nicht hin :

    mkdir /root/bin
    cd /root/bin
    vi monitor-owntracks.sh

    mosquitto_sub -h localhost -p 1883 -v -t ‚owntracks/#‘

    Datei speichern

    chmod 755 monitor-owntracks.sh

    Aufrufen mit ./monitor-owntracks.sh

    Sobald ich das ausführe : ./monitor-owntracks.sh
    bekomme ich folgende Meldung : ./monitor-owntracks.sh: line 1: mosquitto_sub: command not found

    was mache ich falsch, alles andere hat bis hierher funktoniert.

    Ich warte schon gespannt auf den 3 Teil deiner Doku. 😉

    Grüße Marcel

    1. Hi Marcel,

      hab die Lösung für das Problem soeben gefunden:
      Habe „apt-get install mosquitto mosquitto-clients“ nochmal ausgeführt.
      mosquitto war schon auf der neusten Version, jedoch hat er mosquitto-clients und 2 andere Packages installiert.
      Danach ging es 🙂

      Gruss, Pascal

  2. Hallo Marcel

    hast Du mosquitto installiert und wenn ja wie und wo auf Deinem Raspberry ?

    Beste Grüße , Joachim

  3. Hallo Joachim,
    ich habe genau das was du geschrieben hast, nach gemacht.

    MQTT läuft auch, ich habe es in meine Heimautomatisierung (fhem) eingebunden und ich bekomme die Meldungen, nur das monitor script von dir funktioniert halt nicht.

    /etc/mosquitto <— da liegt mosquitto

    1. Hallo Marcel

      kannst Du mal „type mosquitto_sub“ eingeben und hier posten was die Ausgabe ist?

      Beste Grüße , Joachim

        1. Hallo Joachim, ich habe jetzt für Node Red was interessantes gefunden :

          http://thethingbox.io/docs/MyPosition.html

          Hast du ein Backend wie PISTA oder ähnliches laufen und könntest ggfs. ein Howto erstellen, bekomme es nicht hin.

          Ich würde gerne alle Daten, die eingehen, speichern und dann grfisch darstellen können.

          Hast du ne Idee…?

          Grüße Marcel

          1. Das Backend ist der GPX-Viewer

            http://www.j-berkemeier.de/GPXViewer/

            Damit kann man die Tracking Daten visualisieren. Hierzu muss noch ein Export aus der Datenbank gemacht werden. Leider komm ich derzeit nicht dazu, hier die Beschreibung wie angekündigt fortzusetzen. Eventuell komm ich noch dazu, kann es aber nicht versprechen. Gib mir kurz Bescheid ob es noch gewünscht ist, den Teil 3 noch zu schreiben.

            Beste Grüße , Joachim

    1. Leider komm ich derzeit nicht dazu, hier die Beschreibung wie angekündigt fortzusetzen. Eventuell komm ich noch dazu, kann es aber nicht versprechen. Gib mir kurz Bescheid ob es noch gewünscht ist, den Teil 3 noch zu schreiben.

      Beste Grüße , Joachim

      1. Also Teil 3 wäre auf jeden Fall für mich sehr interessant…
        Ich werd gleich nochmal alles neu aufsetzen, vielleicht habe ich was vergessen…

        Grüße Marcel

      2. Bin auch immer noch gespannt auf Teil 3.

        Bekomme übrigens den gleichen Fehler:
        1: mosquitto_sub: command not found

        Alles 100% nach Anleitung gemacht.
        Werde es mal ein bisschen erforschen und nochmal probieren.

  4. Hallo Joachim,

    sehr schöne Anleitung.
    Ich bekomme allerdings beim Aufruf der monitor_owntracks.sh die Meldung:
    Connection Refused: not authorised.
    Auch als root keine Änderung.

Kommentar hinterlassen

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

*