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:
Name | Parameter | Beschreibung | Datentyp | Erwarteter Wertebereich |
Outdoor Temp | Projekt-Omega/outdoor/dht/temp | Übermittelte die gemessene outdoor Temperaturwerte | Float | -30 bis 85 |
Outdoor Humid | Projekt-Omega/outdoor/dht/humid | Übermittelte die gemessene outdoor Luftfeuchtigkeitswerte | Float | 0 bis 100 |
Display Mode | Projekt-Omega/indoor/display/mode | Übermittelt den neuen Displaymode | Int | 0 bis 5 |
Display Active | Projekt-Omega/indoor/display/active | Übermittelt, ob die Displays an oder aus sein sollen | Bool | 1 oder 0 |
SpaceX API | Projekt-Omega/api/spaceX | Triggert Node-RED SpaceX API anzufragen und Daten zu übermitteltn | Bool | 1 |
SpaceX API Name | Projekt-Omega/api/spaceX/name | Übermittelt SpaceX Mission Name | String | – |
SpaceX API launchDate | Projekt-Omega/api/spaceX/launchDate | Übermittelt SpaceX launchDate | String | – |
Noch keine Kommentare.