Beiträge zu “owntracks”

Owntracks mit Bildern

Bei Owntracks werden standardmäßig die “Kürzel” für die Geräte auf der Karte angezeigt. Man kann da aber auch Bilder hin bekommen. Der Prozess ist etwas “fusselig” aber man kann es hin bekommen.

Erklärt ist das ganze hier

Hier der Weg wie ich einfach vorhandene Bilder verwenden konnte.

Download des Scripts von hier und lokal abspeichern

 cd Daten/tools/
 vi owntracks-image2cards.sh
 chmod +x owntracks-image2cards.sh 
 ./owntracks-image2cards.sh 2016-hb-avatar.jpg "device-hb" > hb.json

“device-hb” ist dabei der Name mit dem das Gerät registriert ist.

Dann das ganze auf dem MQTT Broker registrieren. Ich verwende Letsencrypt für TLS. Wenn Ihr eigenen Zertifikate verwendet werdet Ihr einen anderen capath angeben müssen

mosquitto_pub -h your.server.de -p 8883 --capath /etc/ssl/certs/ --username USER -P PASSWORD -t 'owntracks/hbauer/<gerätename>/info' -f hb.json -r

Dann seht Ihr und die anderen Personen auf dem MQTT Broker das Bild

30.1.18
Weitere Beiträge zu: owntracks   mqtt  

Owntracksdaten mit Bridge hinter die Firewall holen

Ich hatte schon vor einigen Jahren mal einen Owntracks Server aufgebaut aber das ist irgendwie wieder eingeschlafen. Jetzt mit größeren Kindern (die freiwillig mitmachen) und weiteren Szenarien der Hausautomation wollte ich das noch mal aufleben lassen.

Im Gegensatz zu dem ersten Versuch allerdings nicht mit selbst signierten Zertifikaten sondern mit Letsencrypt. Die Standardinstallation des MQTT Brokers mit der Version im aktuellen Debian Repository hat nicht geklappt aber mit der aktuellen Version von hier war es dann kein Problem. Die TLS relevanten Einträge sind dann hier erläutert.

 cafile /etc/ssl/certs/DST_Root_CA_X3.pem
 certfile /etc/letsencrypt/live/your.server.de/fullchain.pem
 keyfile /etc/letsencrypt/live/your.server.de/privkey.pem

Der Broker im Internet ist natürlich abgesichert mit Usernamen und TLS. Innerhalb meines Heimnetzes möchte ich das nicht jedem potentiellen Client beibringen und deshalb wollte ich dort einen offenen Broker mit anonymem Zugriff einrichten.

Damit alle Owntracks Informationen auch “intern” verfügbar sind braucht man eine “Bridge Verbindung”. Aufgrund meines Troubleshootings mit TLS und der alten Mosquitto Verion hatte ich eine etwas unordentliche TSL Einrichtung. Mit dem Owntracks Client ging es aber die Bridgeverbindung kam nicht zustande.

 OpenSSL Error: error:14094418:SSL routines:ssl3_read_bytes:tlsv1 alert unknown ca

Am ende war es recht einfach. Die Bridge ist jetzt so konfiguriert

 connection lcl2extern
 address your.server.de:8883
 tls_version tlsv1.2
 bridge_cafile /etc/ssl/certs/DST_Root_CA_X3.pem
 bridge_insecure false
 remote_username user
 remote_password password
 topic owntracks/# in 0

Und die Owntracks Meldungen erscheinen jetzt auch schön im Heimnetzwerk und warten darauf jetzt ausgewertet zu werden.

28.1.18
Weitere Beiträge zu: owntracks   mqtt  

Updates für das Fairphone

Die Software für das Fairphone wird weiterhin konstant weiterentwickelt. Im neuen Update sollen unter anderem Fehler im Bereich GPS gefixt worden sein

Das Update und lief ohne Probleme durch und auf den ersten Eindruck funzt das GPS deutlich besser.

Jetzt lohnt es sich vielleicht auch mal das owntrack noch mal anzuschauen. Das war für mich bisher wegen der schlechten GPS Funktion im Fairphone nicht brauchbar

alternat-txt

8.8.14
Weitere Beiträge zu: owntracks   Fairphone  

Installation von Owntracks auf einem Raspberry Pi

Owntracks scheint eine gute Alternative zu sein um einem berechtigten Kreis von Bekannten Informationen über seinen Standort mitzuteilen. Mal sehen wie stabil und “einfach” das läuft. Hier die Schritte die notwendig waren um das System auf einem Pi und einem Androidgerät zu installieren

Die Installation eines Brokers ist an dieser stelle beschrieben. Um die Verbindung mit TLS abzusichern sind meine Schritte im wesentlichen an die Beschreibung von JPMens angelehnt. Nur das ich die Zertifikate bei Startssl erstellt habe und dann die server.crt, den key und das Bundles auf den Server hoch geladen habe. Dann noch die Anpassungen für den Broker

vi /etc/mosquitto/mosquitto.conf
    listener 1883 127.0.0.1
    listener 8883
    tls_version tlsv1
    cafile /etc/ssl/quo/ca-bundle.crt
    certfile /etc/ssl/quo/server.crt
    keyfile /etc/ssl/quo/server.key

Jetzt müssen wir noch das Zertifikat auf dem Android Gerät bekannt machen. Mir ist das mit der App Certificate Installer auf Android gelungen nachdem ich das Zertifikat auf das Gerät kopiert habe.

Jetzt haben wir die Verbindung zwischen Broker und dem Android gesichert. Jetzt die eigentliche Anwendung. Die Installation von Owntrack aus geht aus dem dem Appstore und in den Einstellungen müssen nur die Serverinformationen angepasst werden alternat-txt

Dann sollte man bereits seinen Standorte hoch laden können (Das mit dem Bild habe ich später noch geändert)

alternat-txt

Jetzt kommen zwar die Standortinformationen beim Server an. Nur brauchen wir jetzt noch ein Backend in das diese Daten regelmäßig und dauerhaft gespeichert werden. Ich habe den Weg über eine MySQL Datenbank gewählt.

Zuerst Datenbankserver installieren und Datenbank anlegen

apt-get install python-pip mysql-server
mysql -u root -p
create database owntrack;
CREATE USER 'owntrack_admin'@'localhost' IDENTIFIED BY 'geheim';
grant all on owntrack.* to 'owntrack_admin'@'localhost';

Dann weitere Voraussetzungen installieren und die “Backendschnittstelle” installieren:

pip install peewee
mkdir /opt/caserio
cd /opt/caserio/
git clone https://github.com/owntracks/backend.git owntrack
cd owntrack/m2s/
cp settings.py.sample settings.py
vi settings.py   # Datenbanknamen, user, Kennwort anpassen 

Der erste Versuch die Datenbankschemata zu installieren scheiterte:

python dbschema.py Traceback (most recent call last):
  File "dbschema.py", line 59, in <module>   mysql_db.connect()
  File "/opt/caserio/owntrack/m2s/peewee.py", line 1827, in connect **self.connect_kwargs)
  File "/opt/caserio/owntrack/m2s/peewee.py", line 2096, in _connect raise ImproperlyConfigured('MySQLdb must be installed.')
peewee.ImproperlyConfigured: MySQLdb must be installed

Nach einem:

apt-get install python-mysqldb

ging es dann und man konnte die “Datenbankimportroutine” starten. Im Logfile kann man auch sehen das “etwas” passiert

./m2s.py &
 tail -f logfile 
2014-05-13 16:36:28,795 ---- in storage: owntracks/hbauer/5bca35ae41cdcdc3
2014-05-13 16:36:28,813 ('INSERT INTO `location` (`batt`, `tst`, `waypoint`, `lat`, `username`, `

Um ganz sicher zu gehen kann man auch noch in der Mysql Datenbank noch mal nachsehen

mysql -u owntracks -p
use owntrack;
Reading table information for completion of table and column names
Database changed
select * from location;

So jetzt könnte man eigentlich loslegen (hoffe ich zu mindestens) Allerdings kann zu diesem Zeitpunkt jeder der den Server kennt mit einem mqtt Client mit hören was alles so passiert. Absichern kann man diesen Dienst dann so:

Zuerst legen wir eine neue Kennwortdatei an

mosquitto_passwd -c /etc/mosquitto/users hbauer
Password: 
Reenter password: 

und tragen diese dann in die Konfiguration ein und starten den Broker neu

vi /etc/mosquitto/mosquitto.conf
   allow_anonymous false
   password_file /etc/mosquitto/users
/etc/init.d/mosquitto restart

So damit ist erst mal die Basis gelegt. Mal sehen wie sich das ganze im “Livebetrieb” verhält und was man damit noch alles anstellen kann

13.5.14
Weitere Beiträge zu: raspberrypi   owntracks   mqtt  

Dies ist ein privater Blog von Hagen Bauer- berufstätiger Vater, Ehemann, Naturliebhaber, Läufer, Zelter, technikverliebt.


Creative Commons License
This blog is licensed under a Creative Commons License