Arduino: Sensordaten Twittern


Der Kurznachrichtendienst Twitter erlaubt mithilfe einer API das automatische erstellen von Nachrichten.(Seit dem 20.09.2016 sind mehr als 140 Zeichen erlaubt)
In diesem Tutorial möchte ich erläutern wie ein NodeMCU Arduino Clone mit einem Twitteraccount verbunden wird und automatisch Sensorwerte pusht. Dazu werde ich die Sensordaten per WLAN an einen Server im Internet mit HTTP GET senden und diese mithilfe von PHP als Twitternachricht über den Account DraegerITSensor erstellen.

Ziel

Das Ziel dieses Projektes soll es sein, dass Sensordaten (Temperatur, Lichtstärke, Luftfeuchtigkeit usw.) als Twitternachricht bereitgestellt werden.

Vorbedingungen

Als Vorbedingung wird gegeben dass ein Twitteraccount und ein Server mit PHP (min. Version 5.4) existiert und der Zugriff eingerichtet ist.
Des Weiteren wird ein NodeMCU Arduino Clone und Sensoren benötigt.

NodeMCU Microcontroller
NodeMCU Microcontroller

Den Microcontroller NodeMCU habe ich im Tutorial NodeMCU – „Einer für (fast) Alles!“ ausgiebig erklärt.

UserStories

Das Projekt wird in 5 Meilensteine untergliedert wobei jeder Meilenstein aus einer oder mehreren UserStories besteht. Beim erreichen eines Meilensteins ist jeweils ein lauffähiges Produktincrement vorhanden welches einen Mehrwert zum vorherigen bietet.

Meilenstein 1 – Sensordaten auf einer Webseite darstellen (intern)

US 1.1 – Sensordaten aufnehmen und ablegen

Aufgabe: Es sollen Sensordaten aufgenommen und intern abgespeichert werden.

Als Ausgangsbasis nutze ich das Sketch aus dem Tutorial Arduino Lektion 29: DHT22 Sensor jedoch wird nur der Teil mit dem DHT11 Sensor benötigt.

Speichern der Daten in einer Struktur

Folgende Lösung habe ich vom Arbeitskollegen Udo K. erhalten und finde diese deutlich besser als mit einem mehrdimensionalen Array.

Es gibt nun eine Struktur / Objekt welches folgende Eigenschaften hat:

  • id,
  • temperatur,
  • luftfeuchtigkeit,
  • timestamp

Als Datentyp habe ich hier „unsigned“ gewählt da der DHT11 Sensor nur positive Werte ausgibt und die Zeit auch nicht negativ sein kann. Dieses hat den positiven Nebeneffekt das Speicher auf dem Gerät gespart wird.

US 1.2 – Interne Webseite erstellen

Aufgabe: Es soll eine Webseite erzeugt werden welche von jedem beliebigen Computer im selben Netzwerk aufgerufen werden kann.

Dazu verwende ich als Grundlage das Beispiel welches zur ESP8266 Bibliothek mitgeliefert wird.

US 1.3 – Daten auf der Internen Webseite anzeigen

Aufgabe: Es sollen die aus der UserStorie 1.1 gespeicherten Daten in der Webseite tabellarisch angezeigt werden.

Schreibe einen Kommentar

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