Inhaltsverzeichnis:
- Schritt 1: Erste Schritte mit Node-red
- Schritt 2: Aufteilen von Daten in Knoten-Rot
- Schritt 3: Datenbank mit Wampserver
- Schritt 4: Datenbank
- Schritt 5: Knotenrot zu Wampserver
- Schritt 6: Verwenden von Daten vom Wampserver zu Node-red
- Schritt 7: Finalisieren
Video: UCL-IIOT - Alarmsystem mit Datenbank und Node-red - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:18
Der Zweck dieses Builds besteht darin, das Verbinden von Arduino mit Node-red und einer Datenbank zu unterrichten, damit Sie Daten protokollieren und auch für die spätere Verwendung sammeln können.
Für diesen Build verwende ich ein einfaches Arduino-Alarmsystem, das 5 Datennummern ausgibt, die jeweils durch ein Komma getrennt sind.
Es ist nicht notwendig, genau diese Datenmenge zu haben und das Programm könnte alles sein.
Der wichtige Teil ist, dass die Daten durch Kommas getrennt werden, wie auf diesem Screenshot zu sehen.
Die Ausgabe könnte beispielsweise so aussehen: "324, 0, 0, 1, 1"
(Die fertige Programmierung und Anweisungen zur Erstellung des Arduino sind am Ende dieses Tutorials verlinkt)
Schritt 1: Erste Schritte mit Node-red
Für dieses Tutorial gehen wir davon aus, dass Sie Node-red bereits installiert haben, aber es gibt einige zusätzliche Paletten, die für dieses Projekt verwendet werden, die wir benötigen, damit es funktioniert
Suchen Sie die Schaltfläche "Palette verwalten" und installieren Sie die folgenden Paletten.
- Knoten-Rot-Dashboard
- node-red-node-mysql
- Knoten-Rot-Knoten-Arduino
- Knoten-roter-Knoten-Seriellport
Es sollte einige neue Paletten an der Seite des Knotenmenüs mit der roten Schaltfläche anzeigen.
Schritt 2: Aufteilen von Daten in Knoten-Rot
Da Node-red nun einsatzbereit ist, müssen wir zunächst unsere Daten in einzelne Teile aufteilen.
Aus diesem Grund haben wir sie im Arduino-Code durch Kommas getrennt.
Beginnen wir zunächst mit dem Ablegen des Arduino Input-Knotens, der sich auf der linken Seite befindet.
Sie müssen sicherstellen, dass es den richtigen seriellen (Meiner verwendet COM4) Port und die richtige Baudrate hat (in meinem Programm verwende ich 9600 Baudrate)
Wenn es richtig eingerichtet ist, sollte es sagen, dass es verbunden ist.
Als nächstes erstellen wir einen Javascript-Funktionsblock und verbinden ihn nach dem Arduino-Eingangsknoten. Dieser Block ermöglicht es uns, in Javascript zu programmieren, und hier schreiben wir einen Code, der unsere Daten für jedes Komma aufteilen kann.
In diesem Funktionsblock habe ich meine 5 Daten mit folgendem Code aufgeteilt:
var m1 = {Thema: "light1", Nutzlast: msg.payload.split(", ")[0]}; var m2 = {Thema: "light2", Nutzlast: msg.payload.split(", ")[1]}; var m3 = {Thema: "light3", Nutzlast: msg.payload.split(", ")[2]}; var m4 = {Thema: "Millis", Nutzlast: msg.payload.split(", ")[3]}; var m5 = {Thema: "onoff", Nutzlast: msg.payload.split(", ")[4]}; zurück [m1, m2, m3, m4, m5];
(ändern Sie den Code nach Bedarf)
Stellen Sie sicher, dass der Knoten auf 5 Ausgänge (oder Ihr Äquivalent) eingestellt ist.
Wie im Screenshot zu sehen, haben wir jetzt 5 Ausgaben, die wir jeweils mit einem Debug-Knoten und einem Text-Dashboard-Knoten verknüpfen. Dies ist nützlich, wenn wir es auf der Benutzeroberfläche sehen müssen.
Schritt 3: Datenbank mit Wampserver
Damit unsere Datenbank funktioniert, müssen Sie den Wampserver installiert haben. Nachdem er installiert ist und als grünes Symbol angezeigt wird (nachdem Sie alle Dienste gestartet haben), sollten Sie den "phpMyAdmin" öffnen, der Sie zu einem Anmeldebildschirm bringt zuvor geändert haben, geben Sie einfach "root" in den Benutzernamen ein und melden Sie sich an.
Drücken Sie die phpmyadmin-Schaltfläche unter Tools unten in der linken Leiste und es sollte das Datenbankmenü öffnen, das in etwa wie im Bild oben gezeigt aussieht.
Erstellen Sie eine neue Datenbank und benennen Sie sie mit einem Bezug zu Ihrem Projekt, meine heißt "Alarmsystem" (bei diesen Namen muss die Groß-/Kleinschreibung beachtet werden)
Erstellen Sie unter dieser Datenbank eine neue Tabelle und benennen Sie sie, meine heißt "alarmdata"
Es wird gefragt, ob Sie "latin1_swedish_ci" verwenden möchten und wir behalten es so bei.
Jetzt erstellen Sie 6 Tabellen (1 mehr als die Daten, die wir haben)
Die erste Tabelle muss den Datentyp "longtext" verwenden
und der Rest des Datensatzes verwendet "mediumtext"
Achten Sie darauf, sie zu benennen. (der erste Datensatz sollte "time" heißen
Schritt 4: Datenbank
Der Wampserver-Datensatz sollte ungefähr so aussehen.
(aber ohne die eigentlichen Daten, da wir noch nicht dazu gekommen sind)
Schritt 5: Knotenrot zu Wampserver
Jetzt möchten wir, dass die Daten, die wir von unserem Arduino ausgeben, auf unseren Wampserver gehen.
Beginnen Sie mit der Erstellung eines weiteren Javascript-Funktionsblocks und verbinden Sie ihn mit unserem Arduino-Eingangsknoten.
In diesem Skriptblock teilen wir unsere Daten noch einmal auf, fügen sie aber auch in unsere Datenbank ein.
var data = msg.payload.split(", ");var Green1 = data[0]; var Green2 = Daten[1]; var Alarm = Daten[2]; var Millis = Daten[3]; var IsActive = Daten[4]; var out = "INSERT INTO alarmsystem.alarmdata (Time, Green1, Green2, Alarm, Millis, IsActive) VALUES('"+new Date().toISOString().slice(0, 19).replace('T', ' ')+"', '"+Grün1+"', '"+Grün2+"', '"+Alarm+"', '"+Millis+"', '"+Ist aktiv+"')"; msg.topic = aus; Nachricht zurück;
Beachten Sie, dass ich "INSERT INTO alarmsystem.alarmdata" eingebe, dies ist der Name, den wir unserer Datenbank und Tabelle gegeben haben. Stellen Sie sicher, dass Sie den genauen Namen eingeben, den Sie Ihrer Datenbank gegeben haben.
Verbinden Sie nun den Javascript-Block mit einem Debug-Knoten und auch einem "mysql"-Knoten, der sich unter der Speicherpalette auf der linken Seite befindet.
unter dem mysql-Block benennen Sie es genauso wie Ihre Datenbank "alarmsystem"
Ändern Sie den Benutzer in "root" (der Name, mit dem wir uns bei unserem Server angemeldet haben)
Host, Port und Datenbank sollten bereits ausgefüllt sein mit:
Host: 127.0.0.1
Hafen: 3306
Datenbank: Alarmsystem
Wenn alles richtig gemacht wurde, sollte die Verbindung hergestellt werden, nachdem Sie Ihre Änderungen bereitgestellt haben.
Sie sollten auch sehen können, dass die Datenbank Ihre Daten jetzt direkt vom Arduino protokolliert.
Schritt 6: Verwenden von Daten vom Wampserver zu Node-red
Für den letzten Abschnitt wollen wir sehen, ob wir die Daten, die wir gespeichert haben, wieder in unser Node-red legen und hoffentlich anzeigen können.
Beginnen Sie mit dem Platzieren eines "inject"-Knotens
Unter Thema in diesem Knoten setzen wir den Code: SELECT*FROM alarmsystem.alarmdata
Dies kann unsere Datenbank finden, wenn wir darauf klicken.
Verbinden Sie den Inject-Knoten mit einem neuen "mysql" -Knoten, der genau wie im vorherigen Schritt eingerichtet wurde.
Verbinden Sie den MySQL-Knoten mit einem Debug-Knoten und einem Vorlagenknoten unter Dashboard.
Der Vorlagenknoten ist unsere Tabelle, die wir aktualisieren können, um Daten aus der Datenbank anzuzeigen, während sie erstellt werden.
Geben Sie den im obigen Screenshot gezeigten Code ein (ändern Sie ihn nach Bedarf) und er sollte jetzt eine Datentabelle in unserer knotenroten Benutzeroberfläche anzeigen.
Wir können auch eine Dashboard-Schaltfläche hinzufügen, um die Tabelle über die Benutzeroberfläche selbst zu aktualisieren.
Beginnen Sie mit dem Erstellen eines Schaltflächenknotens.
Verbinden Sie den Button-Knoten mit einem Javascript-Funktionsblock.
in den Funktionsblock fügen wir den folgenden Code ein.
msg.topic = "SELECT * FROM alarmdata ORDER BY Green1 DESC LIMIT 20";return msg;
(Green1 ist die erste Datenvariable in der Tabelle)
Dieser Funktionsblock muss dann mit dem Eingang unseres MySQL-Knotens verbunden werden, den wir zuvor in diesem Schritt erstellt haben.
Schritt 7: Finalisieren
Jetzt sollte unsere Benutzeroberfläche ein Live-Update unserer Daten und eine Tabelle mit Daten von unserem Server selbst enthalten.
Das bedeutet, dass wir eine Verbindung zwischen Arduino, einem UI-basierten Programm und einer Datenbank geschaffen haben.
Wenn Sie daran interessiert sind, wie mein Arduino-Alarmsystem funktioniert, habe ich ein Dokument hinzugefügt, das erklärt, wie es programmiert und eingerichtet wird.
Sowie einen vollständigen Export der knotenroten Programmierung.
Empfohlen:
Raspberry Pi mit Node.js mit der Cloud verbinden – wikiHow
So verbinden Sie Raspberry Pi mit Node.js mit der Cloud: Dieses Tutorial ist nützlich für alle, die einen Raspberry Pi mit Node.js mit der Cloud, insbesondere mit der AskSensors IoT-Plattform, verbinden möchten. Sie haben keinen Raspberry Pi? Wenn Sie derzeit keinen Raspberry Pi besitzen, empfehle ich Ihnen, sich einen Raspberry Pi zuzulegen
Steuern von Haushaltsgeräten mit Node-MCU und Google Assistant - IOT - Blynk - IFTTT: 8 Schritte
Steuern von Haushaltsgeräten mit Node-MCU und Google Assistant | IOT | Blynk | IFTTT: Ein einfaches Projekt zur Steuerung von Geräten mit Google Assistant: Warnung: Der Umgang mit Netzstrom kann gefährlich sein. Mit äußerster Sorgfalt behandeln. Stellen Sie einen professionellen Elektriker ein, während Sie mit offenen Stromkreisen arbeiten. Ich übernehme keine Verantwortung für die da
So rufen Sie Daten aus einer Firebase-Datenbank auf NodeMCU ab – wikiHow
So rufen Sie Daten aus einer Firebase-Datenbank auf NodeMCU ab: Für dieses anweisbare holen wir Daten aus einer Datenbank in Google Firebase und holen sie mit einer NodeMCU zur weiteren Analyse ab. PROJEKTANFORDERUNGEN: 1) NodeMCU oder ESP8266 Controller2) G-Mail Konto zum Erstellen einer Firebase-Datenbank.3) Laden Sie die
So erstellen Sie eine Website auf einem Raspberry Pi mit Node.js, Express und MongoDB Teil 1: 6 Schritte
So erstellen Sie eine Website auf einem Raspberry Pi mit Node.js, Express und MongoDB…Teil 1: Willkommen zu TEIL 1 meines node.js-Web-App-Tutorials. In Teil 1 wird die erforderliche Software für die Entwicklung von node.js-Apps erläutert, wie Sie die Portweiterleitung verwenden, eine App mit Express erstellen und Ihre App ausführen. Der zweite Teil dieser
Raspberry Pi IOT-Datenbank mit MS Excel verbinden – Einrichten: 3 Schritte
Raspberry Pi IOT-Datenbank mit MS Excel verbinden - Einrichten: In der Welt der IOT-Datenerfassung erstellt man viele Daten, die ausnahmslos in einem Datenbanksystem wie Mysql oder Oracle gespeichert werden. Um auf diese Daten zuzugreifen und diese zu manipulieren, ist eine der effizientesten Methoden die Verwendung von Microsoft Office-Produkten