Abb. 1: Systemarchitektur von Projekt-Omega

Die zentrale Einheit des gesamten Systems ist das Indoor Haus, mit welchem alle Daten angezeigt und vermittelt werden. Dieses ist mittels MQTT mit den anderen Einheiten des Systems verbunden. Diese Systeme sind einerseits das Outdoor Haus, welches z.B. im Garten Daten aufnimmt und diese Mittels MQTT an das Indoor Haus sendet.

Weiterhin dient ein Raspberry Pi 3 Model B als Server, auf dem eine Node-RED Instanz installiert wurde. Node-RED hat in diesem System die Aufgabe, Daten über REST-APIs anzufordern und diese dann via MQTT an das Indoor Haus zu senden.

Weiterhin gibt es noch die “Projekt-Omega-Controller”-App, welche es erlaubt anzeigen an dem Indoor Haus zu verändern, bzw. die Displays an oder auszuschalten. Um eine Steuerung auch über das lokale Netzwerk hinaus mittels der App zu steuern, wurde der Broker der Universität verwendet, da er über das Internet erreichbar ist. Für den Fall, dass der Broker der Uni nicht mehr erreichbar sein sollte, kann auch auf dem RPi ein Broker installiert werden und mittels einer Protfreigabe ist dann auch dieser Broker über das Internet für die App erreichbar.

Zur Inbetriebnahme des RPis sind die folgenden Links hervorragende Quellen und bieten umfangreiche Informationen:

Nach der Inbetriebnahme des Raspberry Pis wurden zusätzlich Node-RED (Installationsanleitung) und Mosquitto (Installationsanleitung), ein MQTT-Broker, installiert. Für Node-RED wurde so konfiguriert, dass es automatisch beim booten gestartet wird. Dies wird durch folgenden Befehl erreicht:

sudo systemctl enable nodered.service

Schnittstellen:

NameParameterBeschreibungDatentypErwarteter Wertebereich
Outdoor TempProjekt-Omega/outdoor/dht/tempÜbermittelte die gemessene outdoor TemperaturwerteFloat-30 bis 85
Outdoor HumidProjekt-Omega/outdoor/dht/humidÜbermittelte die gemessene outdoor LuftfeuchtigkeitswerteFloat0 bis 100
Display ModeProjekt-Omega/indoor/display/modeÜbermittelt den neuen DisplaymodeInt0 bis 5
Display ActiveProjekt-Omega/indoor/display/activeÜbermittelt, ob die Displays an oder aus sein sollenBool1 oder 0
SpaceX APIProjekt-Omega/api/spaceXTriggert Node-RED SpaceX API anzufragen und Daten zu übermitteltnBool1
SpaceX API NameProjekt-Omega/api/spaceX/nameÜbermittelt SpaceX Mission NameString
SpaceX API launchDateProjekt-Omega/api/spaceX/launchDateÜbermittelt SpaceX launchDateString
Tab. 1: Sämtliche Schnittstellen in Projekt-Omega

Noch keine Kommentare.

Schreibe einen Kommentar

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

*