wall < "Owntracks auf dem iPhone"

Broadcast message from spillerm@unixe.de (pts/1) (Fr Feb 06 14:20:40 2015):
4
Diesen Beitrag schrieb ich vor 4 Jahren. Behalte das beim Lesen bitte im Hinterkopf.

Aus dem AppStore habe ich mir dann die App Owntracks aufs iPhone geladen; im ersten Moment ist man von der Konfiguration wie erschlagen, bei genauerem Hinsehen wird aber deutlich, dass nur die mit * markierten Angaben wirklich erforderlich sind:

  • Host: Der Hostname (auf den auch Zertifikat ausgestellt sein muss!)
  • Port: 8883 (ist aber, glaube ich, ohnehin der Default)
  • TLS: ja (klar!)
  • UserID: mane
  • Password: $MEIN_USER_PASSWORT
  • DeviceID: iphone

Die github-Seite ist sehr nützlich und informativ. Mit einem »Publish Now« sollte man beobachten können, wie sich etwas tut — zum einen im Logfile des mosquitto-Prozesses, zum anderen im Logfile der Datenbank-Anbindung:

# tail -f /var/log/mosquitto/mosquitto.log
1422995311: New connection from a.b.c.d on port 8883.
1422995311: New connection from ::1 on port 1883.
1422995311: Sending CONNACK to ::1 (5)
1422995311: New client connected from 93.222.194.248 as mane/iphone (c0, k60, umane).
1422995311: Sending CONNACK to mane/iphone (0)
1422995311: Received SUBSCRIBE from mane/iphone
1422995311: 	owntracks/+/+ (QoS 1)
1422995311: mane/iphone 1 owntracks/+/+
1422995311: Sending SUBACK to mane/iphone
1422995311: Sending PUBLISH to mane/iphone (d0, q1, r1, m411, 'owntracks/mane/iphone', ... (149 bytes))
# tail -f /opt/owntracks/m2s/logfile
2015-02-02 13:20:18,779 {'username': 'mane', '_type': u'location', 'rad': None, 'topic': 'owntracks/mane/iphone', 'device': 'iphone', 'batt': u'58', 'lat': u'49.xxxxxx', 'alt': 286, 'event': None, 'desc': None, 'acc': u'65', 'lon': u'7.xxxxxx', 't': u'u', 'vel': -1, 'waypoint': None, 'cog': -1, 'tst': u'1422879618', 'date_string': '2015-02-02 12:20:18'}
2015-02-02 13:20:20,928 ---- in storage: owntracks/mane/iphone
2015-02-02 13:20:20,944 ('INSERT INTO `location` (`batt`, `tst`, `device`, `lat`, `username`, `json`, `acc`, `topic`, `revgeo`, `lon`, `weather`, `waypoint`, `event`) VALUES
[...]

Owntracks Habt ihr allerdings wie ich ein self-signed Zertifikat für euren mosquitto, dann tut sich erstmal nichts beziehungsweise scheitert der Versuch eines Verbindungsaufbaus mit wenig aussagekräftigen Fehlermeldungen à la connection reset by peer. Unsere CA muss auf dem iPhone erst bekannt gemacht werden! Dazu habe ich mir meine cacert.pem per Mail als Anhang geschickt und auf dem iPhone angetippt; rechts oben konnte ich dann Installieren auswählen. Dem Dialog folgen, und war das Zertifikat erst installiert, klappte auch die Verbindung tadellos.

Generell ist es sinnvoll, die Einstellungen des iPhone bei »Significant Changes« zu belassen — das schont den Akku ideal. Tatsächlich hat sich für mich die Akkulaufzeit des iPhones nicht signifikant verschlechtert.

Weiter zu Teil 4…

Links

  1. Pingback: Anwesenheitserkennung reloaded

  2. Hi Marianne,
    prima, Anleitung. Danke dafür. Bei mir scheitert allerdings der TLS connect mit dem Hinweis „Operation timed out“. Ich habe die Zertifikate mit dem Skript von https://github.com/binarybucks/mqttitude/tree/master/tools/TLS genierert und dann sowohl ca.crt als auch servername.crt aufs iPhone kopiert.
    Die Firewall hat nen portforwarding, das funkionert laut deren log.
    Hast du ne Idee, was ich falsch gemacht haben könnte?
    DAnke und Grüsse
    Mitch

    • Hi Mitch ,
      was sagt denn das mosquitto-Log dazu?
      Ist die CA nur aufs iPhone kopiert, oder ist sie dort auch installiert?
      Viele Grüsse,
      Marianne

Keine weitere Reaktionen mehr möglich.