Tutorial: Querx und dweet.io

Messwerte an dweet.io senden und mit freeboard visualisieren.

Seit der Firmware 3.4 unterstützt die Querx Familie den Cloud-Dienst dweet.io, um gemessene Daten direkt vom Gerät an die Cloud zu senden. Dort stehen sie dann als dweets zur Verfügung, die sich als JSON Objekte einfach abrufen lassen und so zum Beispiel in anderen Anwendungen verwendet oder angezeigt werden können.

Querx Gerätevarianten

Die veröffentlichten Daten unterscheiden sich je nach Gerät, da die Querx Modelle verschiedene Sensortypen unterstützen. Dieses Tutorial verwendet einen Querx THP, der Temperatur, Luftfeuchtigkeit und Luftdruck messen kann, zur beispielhaften Einrichtung. Das Tutorial ist allerdings für alle Gerätevarianten gültig.

Vorbereitung

Bevor es losgehen kann, muss die Querx Firmware-Version auf 3.4 oder höher aktualisiert werden. Wie Sie die Firmware Ihres Messgerätes aktualisieren, wird in diesem Tutorial erklärt.

Außerdem benötigen Sie die IP-Adresse des Querx, der Daten an die Cloud senden soll.
Die IP-Adresse Ihres Querx können Sie beispielsweise über unser Tool Device Discoverer herausfinden. Das Tool können Sie hier downloaden.

Alternativ nehmen Sie den über mDNS vergebenen Namen. Haben Sie keinen anderen Namen festgelegt, lautet der voreingestellte Name querx000000.local, wobei Sie 000000 durch die letzten 6 Zeichen der auf dem Gehäuse gedruckten MAC-Adresse ersetzen müssen.

Ziel

Nach Abschluss dieses Tutorials können Sie sich Ihre gemessenen Daten direkt auf freeboard.io in einem angepassten Dashboard anzeigen lassen, oder sie mit einer anderen Anwendung im üblichen JSON Format abrufen. Eine direkte Interaktion mit Querx ist dafür nicht mehr erforderlich.

Dweet-1
dweet.io im Querx Webinterface konfigurieren

Um das Webinterface aufzurufen, geben Sie die IP-Adresse Ihres Querx oder den über mDNS vergebenen Namen in die URL-Zeile Ihres Browsers ein. (Mehr dazu im Abschnitt Vorbereitung.)

Dweet-2

Falls Sie eine Passwortsicherung eingerichtet haben, klicken Sie im Webinterface oben rechts auf Login und melden sich mit Ihren Benutzerdaten an. Ansonsten können Sie diesen Schritt überspringen.

Dweet-3

Klicken Sie nun auf Konfiguration (1) und anschließend links im Menü Schnittstellen auf Cloud (2), um die Konfigurationsseite für die Cloud-Dienste aufzurufen.

Dweet-4

Auf der aufgerufenen Seite sind mehrere Cloud-Anbieter aufgeführt, in diesem Tutorial beschäftigen wir uns allerdings nur mit dweet.io.

Dweet-5

Setzen Sie zunächst ein Häkchen bei Aktivieren (1), um die dweet.io Funktion zu aktivieren und die Eingabe in die weiteren Felder zu ermöglichen.

Geräte bei dweet.io verwenden lediglich einen eindeutigen Namen, um dweets zu veröffentlichen. Im Eingabefeld Name (2) geben Sie deshalb möglichst einen Namen ein, den niemand anderes verwenden würde (beispielsweise “zaphod-beeblebrox”, “kuehltruhe42c” oder “8tg6w-2b7q8”).

Das Feld Aktualisierungsrate (3) bestimmt, wie häufig Querx den aktuellen Messwert an dweet.io sendet. Wählen Sie aus, in welchem Minutentakt der Wert aktualisiert werden soll.

Um die Konfiguration zu testen, klicken Sie auf den Button Test (4). Querx sendet dann die aktuellen Messwerte an dweet.io.

Diese Messwerte lassen sich unter https://dweet.io/follow/gerätename direkt im Browser abrufen, wobei Sie gerätename durch den von Ihnen gewählten Namen ersetzen.

Nach erfolgreichem Test klicken Sie abschließend im Querx Webinterface auf Speichern (5), um die Einstellungen zu sichern.

dweet.io

Dweet-6

Querx versendet nun in festgelegten Intervallen die aktuellen Messwerte der angeschlossenen Sensoren an dweet.io. Diese lassen sich unter https://dweet.io/follow/gerätename direkt im Browser abrufen. Wenn Sie bei der Konfiguration im Webinterface auf Test geklickt haben, sind auf dweet.io nun bereits Messwerte zu sehen, ansonsten sind diese ab der nächsten Aktualisierung sichtbar.

Dweet-7

Mit einem Klick auf Raw können Sie sich auch die rohen JSON Objekte anzeigen lassen, die die API zurückgibt.

Dweet-8

Im Querx Webinterface lassen sich über die Links Letzte 5 dweets und Letzter dweet auf der Konfigurationsseite die JSON Objekte der dweets von dweet.io in Textform direkt abrufen.

Sensornamen anpassen

Da die verschiedenen Querx Varianten über unterschiedliche Sensortypen verfügen, beinhalten auch die dweets je nach verwendetem Gerät andere Daten. Die Namen, unter denen die Sensorwerte angezeigt werden, entsprechen den Namen, die im Querx Webinterface bei den jeweiligen Sensortypen eingegeben wurden.

Dweet-9

Um eingerichtete Sensornamen in Erfahrung zu bringen oder sie zu ändern, öffnen Sie die Konfigurationsseite des Querx Webinterfaces und klicken links im Menü unter Sensoren auf den jeweiligen Sensortyp.

Dweet-10

Im Feld Sensorname können Sie nun einen eindeutigen Namen eingeben. Nach einem Klick auf Speichern wird dieser für Nachrichten an dweet.io verwendet.

Der gemessene Wert steht als Eigenschaft content.sensorName des JSON Objekts zur Verfügung, wobei sensorName durch den gewählten Namen zu ersetzen ist.

freeboard.io

Eigenes Dashboard mit freeboard erstellen

Neben der grundlegenden Anzeige der Messwerte auf dweet.io lässt sich mit freeboard ein Dashboard erstellen, das Messwerte auf die von Ihnen gewünschte Art präsentiert. freeboard greift dazu auf die gespeicherten Daten bei dweet.io zurück.

Dweet-11

Das setzt voraus, dass Sie bei freeboard.io angemeldet sind. Unter https://freeboard.io/signup können Sie sich registrieren. Die erstellten Dashboards werden dann automatisch Ihrem Konto zugewiesen.
(freeboard funktioniert zwar auch ohne Anmeldung, dann können die erzeugten Dashboards jedoch nicht angepasst werden.)

Dweet-12

Öffnen Sie im Browser erneut die Adresse https://dweet.io/follow/gerätename, wobei Sie gerätename durch den in den dweet.io Einstellungen gewählten Namen ersetzen.

Klicken Sie oben rechts auf Create a Custom Dashboard, um automatisch ein Dashboard aus Ihren Sensorwerten zu erstellen. Sie werden nach freeboard.io weitergeleitet.

Dweet-13

Das so erstellte Dashboard ist nun bereits voll funktionsfähig und aktualisiert sich mit den Werten, die Querx an dweet.io sendet.

Möchten Sie das Dashboard an Dritte weiterleiten, kopieren Sie die angezeigte URL aus Ihrem Browserfenster und geben Sie diese weiter.

Je nach geplanter Verwendung können Sie Ihr Dashboard jetzt noch weiter anpassen, um Ihre Messdaten in eine passendere Darstellung zu bringen oder Hinweise und Warnungen hinzuzufügen.

freeboard.io bietet als Hilfe eine interaktive Demonstration an. Diese können Sie unter https://freeboard.io/board/tutorial abrufen.

Datenabruf über die API

Nachdem Querx für dweet.io konfiguriert wurde, können die veröffentlichten Messwerte über die dweet.io API abgerufen werden.

dweet.io speichert in der kostenlosen Version jeweils die letzten 5 dweets für bis zu 24 Stunden. Zusätzliche Möglichkeiten bietet der kostenpflichtige Dienst dweetPro.

Möchte man nun die dweet.io Daten in einer Anwendung verwenden, benötigt man eine URL, die von der Anwendung genutzt werden kann. In JavaScript geht das zum Beispiel über eine fetch() Anweisung oder ein XMLHttpRequest.

Die notwendigen URLs sind folgendermaßen aufgebaut:
(Ersetzen Sie dabei gerätename durch den Namen, den Sie auf der Querx Konfigurationsseite vergeben haben.)

Abfrage des letzten dweets:

https://dweet.io/get/latest/dweet/for/gerätename

Diese API Anfrage liefert nur den aktuellsten dweet als JSON Objekt.

Beispielantwort für Querx THP:
{"this":"succeeded","by":"getting","the":"dweets","with":[{"thing":"kobold-werkstatt","created":"2017-05-18T15:28:00.719Z","content":{"Temperature":24,"Humidity":57,"Pressure":1002.6}}]}

Abfrage der letzten 5 dweets:

https://dweet.io/get/dweets/for/gerätename

Diese API Anfrage liefert ein JSON Objekt, das die letzten 5 dweets enthält. Falls Sie dweetPro verwenden, um mehr als nur 5 dweets zu speichern oder auszulesen, existieren weitere API Funktionen für die Abfrage von gespeicherten dweets.

Beispielantwort für Querx THP:
{"this":"succeeded","by":"getting","the":"dweets","with":[{"thing":"kobold-werkstatt","created":"2017-05-18T15:27:00.460Z","content":{"Temperature":24,"Humidity":57,"Pressure":1002.6}},{"thing":"kobold-werkstatt","created":"2017-05-18T15:26:01.203Z","content":{"Temperature":24,"Humidity":57,"Pressure":1002.6}},{"thing":"kobold-werkstatt","created":"2017-05-18T15:25:00.868Z","content":{"Temperature":24,"Humidity":57,"Pressure":1002.6}},{"thing":"kobold-werkstatt","created":"2017-05-18T15:24:00.572Z","content":{"Temperature":24,"Humidity":57,"Pressure":1002.6}},{"thing":"kobold-werkstatt","created":"2017-05-18T15:23:00.312Z","content":{"Temperature":24,"Humidity":57,"Pressure":1002.6}}]}