Browsed by
Schlagwort: Node-Red

Node-RED

Node-RED

Die Kommunikation zwischen verschiedenen Smart Home Systemen wird mit Node-RED realisiert. Die grundlegende Einrichtung von Node-RED wird im folgenden Beitrag erklärt.

Node-RED ist ein Werkzeug für das Internet der Dinge. Node-RED wurde von IBM unter dem Aspekt der einfachen Erstellung von Prototypen entwickelt. Es verfügt über einen visuellen Editor zur Verbindung verschiedener Module (nodes). Im Grunde spricht man hierbei von einer datenflussorientierten visuellen Programmierung. Node-RED basiert auf NodeJS und übernimmt somit sämtliche zuvor genannten Vorteile, wie z.B. die nicht blockierende I/O Architektur. Der grafische Editor ist browserbasiert und kann somit mit jedem aktuellen Webbrowser verwendet werden. Die Grundinstallation von Node-RED beinhaltet bereits
einige nodes zur Eingabe, Verarbeitung und Ausgabe. Die Kommunikation zwischen den sogenannten nodes erfolgt via standardisierten JSON Nachrichten. Alle Nodes besitzen somit eindeutig definierte Schnittstellen zur Ein-/Ausgabe. Eine Verkettung mehrerer Nodes zu einer Funktion wird als Flow bezeichnet. Aufgrund der stetig wachsenden Community kann auf eine große Anzahl fertiger Nodes zugegriffen werden. Mittels Java-Script lassen sich unter Einhaltung der Schnittstellen eigene Nodes erstellen.

Weiterlesen Weiterlesen

NodeJS

NodeJS

Als weiteres “Software” Werkzeug in Verbindung mit einem Raspberry Pi wird NodeJS eingesetzt. Eine Grundinstallation sowie ein kurzer Test wird im folgenden Beitrag beschrieben.

NodeJS ist ein Open-Source Framework zur serverseitigen Ausführung von Java-Script. NodeJS basiert auf der in C/C++ von Google entwickelten Java-Script Implementierung V8. V8 wurde ursprünglich zur Verwendung in Googles eigenem Browser Chrome entwickelt. Durch die Konvertierung von Java-Script in nativen Maschinencode ist eine schnelle Ausführung
von Java-Script möglich. NodeJS ist modular aufgebaut und kann beliebig um eine ständig wachsende Anzahl an verfügbaren Modulen erweitert werden. Zur Erweiterung und Verwaltung etwaiger Abhängigkeiten wird der Paketmanager npm verwendet. Im Gegensatz zu den meisten anderen anfragen-basierenden Websprachen, wie z.B. PHP, ist NodeJS im Grunde ereignisgesteuert. Durch die asynchrone, nicht blockierende I/O Architektur zur parallelen Verarbeitung von Dateisystem- oder Datenbankzugriffen ist NodeJS besonders geeignet für datenintensive Echtzeit- oder Multi-User Anwendungen.

Weiterlesen Weiterlesen