Kategorien
PC

ownTracks & Mosquitto – Google Latitude-Clon im Eigenbau

Ich konnte früher eigentlich nie etwas mit Google Latitude, welches mittlerweile eingestellt ist anfangen. Tja, bis ich zur Fotografie gekommen bin. Es ist schon durchaus hilfreich, wenn man auf einer Fototour ist und im Nachhinein nachvollziehen kann, welche Wege man genau gegangen ist. Man kann das Ganze natürlich auch noch weiter spinnen und die gemachten Fotos anschließend mit den Geotags versehen. Viele Kameras bringen dazu bereits ein eingebautes GPS-Modul mit, für alle anderen gibt es optionale Module, die auf den Blitzschuh gesteckt werden können. Aber warum die Kohle zum Fenster rauswerfen, wenn doch mittlerweile jeder einen GPS-Tracker in Form des Smartphones mit sich rumträgt?

Im folgenden möchte ich euch ausführlich zeigen, wie ihr euren eigenen Google Latitude-Clone auf eurem eigenen Server einrichtet. Alle Anleitungen bzw. weiterführenden Hinweise, die zum Erstellen dieses Beitrages geführt haben, habe ich am Ende auch noch einmal aufgeführt.

Was wollen wir am Ende dieses Beitrages erreicht haben?

Mittels App wird unser Standort an unseren Server gesendet. Der dort installierte MQTT-Broker verarbeitet die Standortdaten und speichert sie in einer MySQL-Datenbank ab. Mittels Script und Cronjob soll am Ende eine einfache Karte im Browser dargestellt werden, die sämtliche Standpunkte vom Vortag anzeigt.
Natürlich lässt sich das Ganze noch für viele weitere Zwecke benutzen. Ich halte zur Zeit noch Ausschau nach einer geeigneten Lösung um Fotos nach einer Fototour anschließend automatisch per Geo-Tag zu versehen.

Was benötigen wir?

Eigentlich nicht viel. Als Basis natürlich ein Smartphone mit Android oder iOS auf dem die kostenlose App OwnTracks installiert ist.

Die App selbst wird später die Positionen an den Server schicken, nutzen auch noch weitere Freunde von euch, eure Installation könnt ihr auch diese später dort sehen.
Neben der App selbst benötigen wir einen im Netz öffentlich erreichbaren Server, auch ein Raspberry Pi, auf dem ich die Ganze Geschichte vorab ausprobiert habe kann problemlos verwendet werden. Als Distribution verwende ich Debian 7 (Wheezy), des Weiteren sollte bereits PHP und MySQL installiert sein.

Los geht es – Einrichtung des Servers

Legen wir los mit der Installation auf der Servierseite. Als MQTT-Broker setzen wir auf den bekannten Mosquitto, welcher für eine Vielzahl an Linux-Distributionen, aber auch Windows und OS X erhältlich ist. Für Debian gibt es freundlicherweise ein Repository, um die Pakete immer auf dem neusten Stand zu halten. Installiert wird dieses mittels folgender Eingaben:

wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key
apt-key add mosquitto-repo.gpg.key
cd /etc/apt/sources.list.d/
wget http://repo.mosquitto.org/debian/mosquitto-stable.list
apt-get update && apt-get install mosquitto mosquitto-clients python-mosquitto

Für die verschlüsselte Verbindung greife ich auf ein vorhandenes Zertifikat von StartSSL zurück. Wie ihr dieses generiert habe ich schon einmal hier erläutert, daher erspare ich die einzelnen Schritte an dieser Stelle, um diesen Beitrag nicht unnötig in die Länge zu ziehen.
Wichtig ist, dass eure .key und .crt-Datei im Ordner /etc/mosquitto/certs/ liegen, die .ca.pem sowie sub.class1.server.ca.pem, die ihr ebenfalls von StartSSL erhaltet,  gehören in den Ordner /etc/mosquitto/ca_certificates/. Anschließend geht es die Konfiguration von Mosquitto. Öffnet dazu die Datei /etc/mosquitto/mosquitto.conf. Ergänzt in dieser folgenden Inhalt:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
autosave_interval 1800
connection_messages true
log_dest stderr
log_dest topic
log_type error
log_type warning
log_type notice
log_type information
log_type all
log_type debug
log_timestamp true
listener 1883 localhost
listener 8883
capath /etc/mosquitto/ca_certificates
certfile /etc/mosquitto/certs/Euer.crt
keyfile /etc/mosquitto/certs/Euer.key
tls_version tlsv1
require_certificate false
allow_anonymous false
password_file /etc/mosquitto/passwd

Wichtig ist hier eigentlich nur, dass ihr den Pfad zu eurem Key und SSL-Zertifikat anpasst. Als nächstes legen wir einen Nutzer an, der später mit dem MQTT-Broker kommunizieren darf. Dafür benötigen wir das Kommando mosquitto_passwd. Mittels Befehl mosquitto_passwd -c /etc/mosquitto/paswd tim wird initial sofern nicht vorhanden die Passwortdatei angelegt und der Benutzer tim nach Eingabe des Passwortes hinzugefügt. Weitere Nutzer können anschließend mittels mosquitto_passwd -U /etc/mosquitto/passwd clientname1 hinzugefügt werden.
Die Konfiguration von mosquitto ist somit abgeschlossen. Führt ein abschließendes /etc/init.d/mosquitto restart durch, damit die neue Konfiguration wirksam wird.

Einrichtung des Clients & ein erster Test

Es wird Zeit, die Installation zu testen und den Client auf eurem Smartphone oder Tablet einzurichten. In diesem Beispiel sei hier kurz die Einrichtung unter iOS auf dem iPad gezeigt.

Passt in den Einstellungen der App den Host, ggf. den Port – sofern ihr diesen geändert habt – und die UserID sowie das Passwort an. Unter Reporting solltet ihr eine eindeutige DeviceID hinterlegen. In meinem Fall verwende ich einfach den Gerätetypen, in diesem Fall also ipad. Sofern die Konfiguration von mosquitto erfolgreich war, sollte nach tippen auf Check der Status auf connected springen.

Sofern die Verbindung erfolgreich hergestellt werden konnte, möchten wir die Daten natürlich auch verwenden. Dazu sollen diese ersteinmal in eine MySQL-Datenbank geschrieben werden. Bevor wir uns aber an die Anbindung an die Datenbank machen, checken wir erst einmal, ob die Standortdaten auch korrekt beim MQTT-Broker ankommen.

Mittels des Befehl mosquitto_sub -h localhost -p 1883 -u tim -P euerPasswort -v -t ‘owntracks/#’ solltet ihr nun eine ähnliche Ausgabe, wie ich auf dem Screenshot erhalten. Ist dies der Fall funktioniert die Verbindung zwischen eurem MQTT-Broker und OwnTrack problemlos.

Die Verbindung steht – Jetzt sollen die Daten gespeichert werden

Somit kann es weiter gehen an die Anbindung der Datenbank. Dazu greifen wir auf m2s zurück, einem Script der OwnTrack-Entwickler. Die Einrichtung verlief bei mir unter Debian etwas komplizierter, teilweise fehlten in meinem Falle diverse Pakete. Ich hoffe dennoch folgend nichts vergessen zu haben.

Installiert, sofern nicht auf eurem System vorhanden noch zwei Python-Komponenten mittels apt-get install python-mysqldb python-pip. Als nächstes richtet ihr eine Datenbank mitsamt Benutzter ein, die Zugriff auf diese hat.
Wechselt anschließend in das Wunschverzeichnis, in welches das Script installiert werden soll. Meine Installation habe ich unter /opt angelegt. Anschließend ziehen wir uns mittels git clone https://github.com/owntracks/backend eine Kopie der aktuellen Version.

Wechselt in den Unterordner /opt/owntrack/m2s/. Führt folgende Befehle durch:

1
2
rm peewee.py
pip install peewee MySQL-python

Öffnet nun mit eurem favorisierten Texteditor die Datei settings.py. Hinterlegt dort im Storage-Block die Zugangsdaten zu der vorherigen angelegten Datenbank. Bei mir war es des Weiteren noch erforderlich unter Broker, meinen mqttt_username und mqtt_password zu hinterlegen. Nachdem ihre Daten hinterlegt habt, solltet ihr mittels python dbschema.py das initiale Datenbankschema in der Datenbank einrichten. Ein abschließendes python m2s.py & startet schlußendlich das Script und lässt es im Hintergrund laufen. Für weitere Spielereien existiert dort auch ein Shell-Script. Ab sofort sollten eure Standortangaben auch in der Datenbank gesammelt werden.

Die Daten werden gesammmelt – Was nun?

Sofern alles klappt und eure Daten in der Datenbank gespeichert werden, können nun viele Spielereien damit angestellt werden. Das m2s-Script bringt beispielsweise ein weiteres Script zum exportieren für .gpx-Dateien mit. Diese können beispielsweise von Google Earth gelesen und dargestellt werden.
Wechselt, sofern ihr euch nicht im m2s-Ordner befindet in diesen. Dort findet ihr die für uns interessante Datei gpxexporter.py. Ein Beispielaufruf dieser könnte zum Beispiel so aussehen:

./gpxexporter.py -u client1 -d euerDeviceName -f "2015-01-04 00:00:01" -t "2015-01-04 23:59:59" -T ".gpx-Test" | cat > /pfad/zur/dailytracks.gpx

Am Ende spuckt das Script schlußendlich eine .gpx-Datei mit allen Daten des ausgewählten Zeitraumes aus. Der Kreativität sind hier keinerlei Grenzen gesetzt. Als Beispiel habe ich meine Datei mal bei gpsvisualizer.com hochgeladen.

Kategorien
Monitor PC

Tragbaren Monitor an PC anschließen: Einfache Anleitung

Alle modernen Laptops können an ein externes Display, wie z.B. einen LCD-Monitor, Projektor oder Fernseher, angeschlossen werden. Das externe Display kann Ihren Sichtbereich erweitern, so dass Sie mehr Platz für Anwendungen haben, oder den Bildschirm Ihres Laptops spiegeln (auf beiden Bildschirmen dasselbe anzeigen).

Wie schließe ich eine externe Anzeige unter Windows an?

Um das externe Display an einen Laptop anzuschließen, suchen Sie den richtigen Anschluss am Gehäuse Ihres Laptops. Die meisten Laptops verwenden einen oder mehrere der folgenden Anschlüsse: HDMI, DisplayPort, DVI oder USB-C (Thunderbolt 3). Einige ältere Laptops verwenden VGA.

Sobald Sie den Bildschirm an Ihren Laptop angeschlossen haben, müssen Sie möglicherweise eine oder mehrere Tasten auf der Tastatur des Laptops drücken, um den externen Bildschirm zu „aktivieren“. Diese Tastenkombination variiert je nach Laptop, ist aber oft eine der folgenden: Halten Sie die Fn-Taste gedrückt und drücken Sie dann F3, F4, F5, F7, F8, F9 oder F10.

Auf der Aktivierungsfunktionstaste befindet sich in der Regel ein Bild von einem Monitor oder darüber. Schlagen Sie im Handbuch Ihres Laptops nach, wenn Sie die Taste nicht finden können.

Wenn Sie immer noch Probleme haben oder eine Kopie des Handbuchs herunterladen müssen, besuchen Sie die Website des Laptop-Herstellers.

Wie man einen externen Bildschirm unter MacOS anschließt

Für Benutzer mit MacOS X 10.8 oder höher:

Rufen Sie das Menü Systemeinstellungen auf und wählen Sie die Option Anzeigen. Drücken und halten Sie die Optionstaste.

In der unteren rechten Ecke des Fensters Anzeigen sollte die Schaltfläche Anzeigen erkennen angezeigt werden.

Klicken Sie darauf, um das MacOS zu zwingen, nach externen Anzeigen zu suchen, die an den Computer angeschlossen sind.

An eine Docking-Station angeschlossener Laptop:

Wenn Ihr Laptop an eine Docking-Station angeschlossen ist, sollten auf der Rückseite mehrere Videoanschlüsse für einen Monitor vorhanden sein. Die Art der Anschlüsse variiert jedoch von Marke zu Marke. Je nach Docking-Station muss der Laptop für eine Doppelmonitoranzeige möglicherweise offen bleiben.

Wie kann ich den automatischen Schalter deaktivieren oder eine externe Anzeige festlegen?

Einige Laptops verfügen über eine „Auto-Switch“-Funktion für die externe Anzeige, die im BIOS konfiguriert werden kann. Informationen über die Durchführung von Änderungen im BIOS finden Sie unter BIOS-Setup eingeben.

Funktioniert ein Monitor mit meinem Laptop, wenn der Bildschirm meines Laptops defekt ist?

In vielen Fällen, ja. Wenn nur der Bildschirm des Laptops kaputt ist, funktioniert ein externer Monitor in der Regel immer noch mit Ihrem Laptop. Wenn jedoch andere Komponenten, wie z.B. Ihre Video-Hardware, nicht funktionieren, kann es sein, dass der externe Bildschirm nicht funktioniert.

Übrigens: Zur Reinigung eines Monitors sollte stets ein geeigneter Reiniger verwendet werden, da ansonsten sowohl Schlieren als auch Kratzer entstehen können. Dazu gibt es spezielles Reinigungszeug, dass sich für elektronische Geräte aller Art eignet und für hygienische Sauberkeit sorgt.

Blum Manufaktur Screen Cleaner 1000 ml - Bildschirmreiniger - PC-Reiniger - inkl. Mikrofasertuch 30 x 30 cm - Monitorreiniger - Made in Germany
  • 🖥 𝐄𝐑𝐒𝐓𝐊𝐋𝐀𝐒𝐒𝐈𝐆: Unser hochwertig verarbeiteter Displayreiniger wurde in Deutschland nach höchsten Qualitätsstandards hergestellt. Fingerabdrücke, Staub und Verschmutzungen stellen keine Probleme dar
  • 🖥 𝐄𝐂𝐇𝐓𝐄𝐑 𝐀𝐋𝐋𝐑𝐎𝐔𝐍𝐃𝐄𝐑: Dank der schonenden Formel reinigt der Screen-Cleaner TFT-Monitore, matte Bildschirme, Computer, E-Book-Reader, Laptops, Notebooks, Tablets, Smartphones und weitere Bildschirme
  • 🖥 𝐄𝐈𝐍𝐅𝐀𝐂𝐇𝐄 𝐀𝐍𝐖𝐄𝐍𝐃𝐔𝐍𝐆: Schalte das Gerät aus, lasse es abkühlen und entferne groben Schmutz. Sprühe dann das Spray auf das Mikrofasertuch und reinige Deinen Bildschirm vorsichtig ohne Druck