- Erforderliche Komponenten
- Schaltplan
- Thinger.io Setup für ESP8266 Temperaturlogger
- IFTTT-Setup für NodeMCU Data Logger
- Programmieren von NodeMCU für die Datenprotokollierung
- Protokollieren von Daten auf Thinger.io von NodeMCU
- Erstellen eines Endpunkts in Thinger.io zum Senden einer E-Mail-Benachrichtigung
Wir haben zuvor NodeMCU verwendet, um Temperaturdaten im Google-Blatt zu protokollieren. Jetzt senden wir hier Daten an die IoT-Cloud von Thinger.io und zeigen sie in einem attraktiven grafischen Format an. Ein BMP180-Sensor ist mit NodeMCU ESP8266 verbunden, um die Temperatur-, Feuchtigkeits- und Höhendaten zu erfassen, die an die Thinger.io-Plattform gesendet werden. In diesem Tutorial erfahren Sie, wie Sie verschiedene Funktionen der thinger.io-Plattform verwalten, z. B. Geräte, Endpunkte, Datenbuckets oder Zugriffstoken.
Erforderliche Komponenten
- NodeMCU ESP8266
- BMP180 Drucksensor
- Überbrückungsdrähte
- Steckbrett
Schaltplan
Der Schaltplan für diesen ESP8266-Datenlogger ist sehr einfach. Hier ist nur der BMP180-Sensor mit der NodeMCU verbunden.
Der BMP180-Sensor verwendet das I2C-Kommunikationsprotokoll. Sie müssen also die SCL- und SDA-Pins von BMP180 mit den SCL- und SDA-Pins (D1 und D2) von NodeMCU verbinden. Verbinden Sie außerdem den V IN- und GND-Pin von BMP180 mit 3,3 V und GND von NodeMCU. Schließen Sie den Sensor nicht direkt an 5 V an, da dies den Sensor dauerhaft beschädigen kann.
Um mehr über NodeMCU zu erfahren, überprüfen Sie verschiedene IoT-Projekte, die auf NodeMCU ESP8266 basieren.
Thinger.io Setup für ESP8266 Temperaturlogger
Thinger.io ist eine Open-Source-Plattform für das Internet der Dinge. Es bietet alle erforderlichen Tools zum Prototypen, Skalieren und Verwalten verbundener Produkte auf sehr einfache Weise. Thinger.io bietet drei wichtige Tools: Data Bucks, Dashboard und Endpoint für die Arbeit mit Gerätedaten. Mit diesen Tools können die Gerätedaten visualisiert und die Interoperabilität der Geräte erweitert werden.
Data Bucks: Mit dem Data Bucks-Tool können Gerätedaten skalierbar gespeichert, verschiedene Abtastintervalle programmiert oder von Geräten ausgelöste Ereignisse aufgezeichnet werden.
Dashboard: Das Dashboard-Tool verfügt über einige Panels mit anpassbaren Widgets, die innerhalb von Minuten mithilfe der Drag & Drop-Technologie erstellt werden können, um die Echtzeitdaten und gespeicherten Daten zu visualisieren.
Endpunkte: Endpunkte können verwendet werden, um die Plattform in andere Dienste wie IFTTT, benutzerdefinierte Webdienste, E-Mails oder den Anruf anderer Geräte zu integrieren.
In dieser ESP8266-Protokollierung werden wir diese Tools untersuchen.
Um Daten an Thinger.io zu senden, müssen Sie ein kostenloses Konto auf der Thinger.io-Plattform erstellen und die folgenden Schritte ausführen, um Ihr Gerät zu verbinden.
Schritt 1: Der erste Schritt besteht darin, ein neues Gerät zu erstellen. Um ein neues Gerät zu erstellen, klicken Sie auf der Menüregisterkarte auf Geräte und dann auf die Schaltfläche Gerät hinzufügen.
Dann füllen Sie das Formular mit den Geräte - ID, eine Beschreibung und Credentials oder erzeugen zufällige Anmeldeinformationen für Ihr Gerät und klicken Sie auf ‚ Gerät hinzufügen ‘.
Das ist alles; Ihr Gerät ist bereit zum Verbinden. Im nächsten Schritt programmieren wir die NodeMCU so, dass die Daten an die Thinger.io-Plattform gesendet werden.
IFTTT-Setup für NodeMCU Data Logger
Hier verwenden wir IFTTT, um E-Mail-Warnungen zu senden, wenn die Temperatur einen Grenzwert überschreitet. IFTTT (If This Then That) ist ein webbasierter Dienst, mit dem wir Ketten von bedingten Anweisungen erstellen können, die als Applets bezeichnet werden. Mit diesen Applets können wir E-Mails, Twitter und Facebook-Benachrichtigungen senden.
Um das IFTTT zu verwenden, melden Sie sich beim IFTTT-Konto an, falls Sie bereits eines haben, oder erstellen Sie ein Konto.
Suchen Sie nun nach " Webhooks " und klicken Sie auf den Abschnitt "Webhooks in Services".
Klicken Sie dann im Webhooks-Fenster oben rechts auf "Dokumentation" , um den privaten Schlüssel zu erhalten. Kopieren Sie diesen Schlüssel. Dieser Schlüssel wird beim Erstellen des Endpunkts in Thinger.io verwendet.
Erstellen Sie anschließend ein Applet mit Webhooks und E-Mail-Diensten . Um ein Applet zu erstellen, klicken Sie auf Ihr Profil und dann auf " Erstellen". '
Klicken Sie nun im nächsten Fenster auf das Symbol " Dies ". Suchen Sie nun im Suchbereich nach Webhooks und klicken Sie auf " Webhooks" .
Wählen Sie nun den Auslöser ' Webanforderung empfangen' und geben Sie den Ereignisnamen als temporär ein. Klicken Sie dann auf Auslöser erstellen.
Klicken Sie danach auf " Then That" und dann auf "Email".
Klicken Sie nun in der E-Mail auf "Senden Sie mir eine E-Mail", geben Sie den Betreff und den Text der E-Mail ein und klicken Sie dann auf "Aktion erstellen". Klicken Sie im letzten Schritt auf " Fertig stellen ", um die Applet-Einrichtung abzuschließen.
Programmieren von NodeMCU für die Datenprotokollierung
Der vollständige Code zum Senden von Daten an Thinger.io ist am Ende der Seite angegeben. Hier erklären wir einige wichtige Teile.
Starten Sie den Code, indem Sie alle erforderlichen Bibliotheken einschließen. Mit ThingerESP8266.h wird eine Verbindung zwischen der IoT-Plattform und der NodeMCU hergestellt, während mit Adafruit_BMP085.h die BMP-Sensordaten gelesen werden. Sie können die ThingerESP8266.h- Bibliothek über den Arduino IDEs-Bibliotheksmanager installieren.
#einschließen
Geben Sie als Nächstes Anmeldeinformationen in den Code ein, damit das Gerät erkannt und Ihrem Konto zugeordnet werden kann.
#define USERNAME "Ihr Konto Benutzername" #define DEVICE_ID "NodeMCU" // Ihr Gerätename #define DEVICE_CREDENTIAL "FcLySVkP8YFR"
Geben Sie dann Ihren Endpunktnamen ein. Der Endpunkt wird verwendet, um die Plattform in externe Dienste wie IFTTT, HTTTP-Anforderung usw. zu integrieren.
#define EMAIL_ENDPOINT "IFTTT"
Definieren Sie die Variablen zum Speichern der Druck-, Temperatur- und Höhendaten.
int Druck, Temperatur, Höhe;
Innerhalb der Leere Schleife (), lesen Sie die Sensordaten. Der pson- Datentyp kann verschiedene Datentypen enthalten. Der Pson-Datentyp wird also verwendet, um mehrere Werte gleichzeitig zu empfangen.
Ding >> (pson & out) {out = bmp.readPressure () / 100; out = bmp.readAltitude (); out = bmp.readTemperature (); };
Verwenden Sie die Bedingung if , um den Endpunkt aufzurufen, wenn der Temperaturwert 15 Grad überschreitet. Hier sind Daten der Endpunktname.
if (Temperatur> 15) {thing.call_endpoint (EMAIL_ENDPOINT, "data");} Serial.print ("Sending Data");
Protokollieren von Daten auf Thinger.io von NodeMCU
Schließen Sie nun den BMP-Sensor an NodeMCU an und laden Sie den Code hoch. Die NodeMCU verwendet Ihre Kontoanmeldeinformationen, um eine Verbindung mit dem zuvor erstellten Gerät herzustellen. Wenn die Verbindung erfolgreich hergestellt wurde, wird die Verbindung angezeigt (siehe Abbildung unten):
Sie können Ihre Gerätestatistiken wie übertragene Daten, empfangene Daten, IP-Adresse, Verbindungszeit usw. überprüfen , indem Sie einfach im Menü Geräte auf den Gerätenamen klicken.
Da wir jetzt die Daten empfangen, erstellen wir ein Dashboard, um die Daten mithilfe der Widgets zu visualisieren.
Um ein Dashboard zu erstellen, klicken Sie auf der Menüregisterkarte auf Dashboards und dann auf " Dashboard hinzufügen" .
Geben Sie nun im nächsten Fenster die Dashboard-Details wie Dashboard-Name, ID und Beschreibung ein und klicken Sie dann auf Dashboard.
Greifen Sie danach auf das neue Dashboard zu, indem Sie auf den Namen des Dashboards klicken. Standardmäßig wird das Dashboard leer angezeigt. Um die Widgets hinzuzufügen, müssen Sie zuerst den Bearbeitungsmodus aktivieren, indem Sie auf den oberen rechten Schalter des Dashboards klicken. Klicken Sie dann auf die Schaltfläche " Widget hinzufügen" .
Wenn Sie auf die Schaltfläche " Widget hinzufügen" klicken, wird ein Popup angezeigt, in dem Sie den Widget-Typ, die Hintergrundfarbe usw. auswählen können. In meinem Fall habe ich das Messgerät-Widget ausgewählt.
Wenn Sie auf Speichern klicken, gelangen Sie zum nächsten Bildschirm, in dem Sie den Modus Quellwert, Gerät, Ressource, Wert und Aktualisieren auswählen müssen. Wählen Sie alle Werte aus und klicken Sie auf die Schaltfläche Speichern.
Wiederholen Sie nun das gleiche Verfahren für die restlichen Variablen. Mein Dashboard sah folgendermaßen aus:
Erstellen eines Endpunkts in Thinger.io zum Senden einer E-Mail-Benachrichtigung
Jetzt erstellen wir einen Endpunkt, um Thinger.io in IFTTT zu integrieren. Ein Endpunkt kann vom Gerät aufgerufen werden, um eine Aktion auszuführen, z. B. eine E-Mail senden, eine SMS senden, eine REST-API aufrufen, mit IFTTT interagieren, ein Gerät von einem anderen Konto aus aufrufen oder einen anderen HTTP-Endpunkt aufrufen.
Um einen Endpunkt zu erstellen, klicken Sie auf der Menüregisterkarte auf die Option "Endpunkt" und dann auf "Endpunkt hinzufügen".
Geben Sie nun im nächsten Fenster die erforderlichen Details ein. Die Details sind:
Endpunkt-ID: Eindeutige Kennung für Ihren Endpunkt.
Endpunktbeschreibung: Schreiben Sie eine Beschreibung oder detaillierte Informationen zu Ihrem Endpunkt.
Endpunkttyp: Wählen Sie den Endpunkttyp aus den angegebenen Optionen aus.
Name des Maker-Ereignisses: Geben Sie den Namen Ihres IFTTT-Applets ein.
Maker Channel Key: Ihr geheimer Webhooks-Schlüssel.
Klicken Sie anschließend auf Endpunkt testen, um zu überprüfen, ob alles funktioniert. Sie sollten eine E-Mail mit einer Warnung zu den Temperaturdaten erhalten.
Anstatt den IFTTT-Webhook-Trigger zu verwenden, können Sie eine E-Mail- oder Telegrammnachricht oder eine HTTP-Anforderung mithilfe der Endpunktfunktionen senden.
Auf diese Weise kann eine NodeMCU ESP8266 verwendet werden, um Temperatur-, Druck- und Höhendaten vom BMP180-Sensor im Internet zu protokollieren.
Ein funktionierendes Video und ein vollständiger Code finden Sie am Ende der Seite.