Konzept
Kurz Erklärt
Es gibt eine Vielzahl von Erweiterungskomponenten und Sensoren für Raspberry PI - wie z.B. Temperatursensoren, Relaiskarten, Bewegungssensoren. Damit lassen sich kostengünstig verschiedenste Homeautomation Anwendungen bauen. Wenn du schon einmal versucht hast solch ein Projekt umzusetzen, stösst jeder früher oder später auf die gleichen Probleme:
-
Welche Hardware brauche ich (PI-Version, SD-Karten-Größe)
-
Wie muss ich die Erweiterungskarte an den PI anschliessen?
-
Welche Software brauche ich um die Karte anzuprogrammieren?
-
Wie geht nochmal Python?
-
Wie kann ich die Ergebnisse anzeigen (WebUI, App…)
-
Wie startet mein Script automatisch?
-
usw…
Das Ziel von jum: ist es, die Benutzung von Raspberry PI Erweiterungskomponenten einfach zu gestalten und es zu Ermöglichen in einigen wenigen einfachen Schritten, angefangen von der Hardware-Zusammenstellung zu einem fertigen einsatzbereiten Sensor zu kommen.
jum:templates stellt hierbei die Software und eine einfache Beschreibung für viele gängigen Komponenten zur Verfügung.
Wenn du es dann geschafft hats, dein Raspberry PI Projekt umzusetzen, stellst du dir sicher schnell die Frage, wie die Sensor-Daten nun mit bestehenden Homeautomation-Lösungen (Philips Hue, Google Home, Homematic, Staubsaugerroboter usw.) kombiniert werden können. Zum einen möchstest du möglicherweise alle eingesetzen Lösungen in einer App sehen und steuern können. Zum anderen möchtest du vielleicht Regeln definieren können die deine Raspberry PI Sensoren und Aktoren mit anderen Systemen kombinieren.
jum:projects liefert dir Beispiele für komplette Homeautomation Projekte unter Verwendung von jum:templates basierten Sensoren und anderen gängigen Homeautomation Systemen. Alle beschriebenen Projekte basieren auf der freien Homeautomation-Platform OpenHAB.
jum:templates
jum:templates beschreibt dir in 4 einfachen Schritten, wie du einen speziellen Sensor (oder Erweiterungskomponente) wie einen Temperatursensor an deinen Raspberry PI anschliessen musst. Zusätzlich erhältst du die notwendige Software um sehr einfach den Sensor mit deinem Raspberry PI zu betreiben und an einen MQTT Broker anzubinden; aber dazu später mehr.
In vier Schritten zum Ziel
Zuerst schau dir die 4 Schritte an, mit denen du jeden Sensor in kürzester Zeit produktiv nutzen kannst.
1. Schritt: Hardware anschliessen
Der erste Schritt dreht sich komplett um die benötigte Hardware und deren Benutzung.
Du bekommst eine vollständige Liste der benötigten Hardware und dir wird genau beschrieben, wie du die Hardware an den Raspberry PI anschliessen musst.
Die Hardwareliste enthält immer auch einen Raspberry PI mit dem notwendigen Zubehör wie SD-Karte, Netzteil usw. Es ist aber natürlich auch problemlos möglich mehrere Sensoren an einen bestehenden Raspberry PI anzuschliessen. Genaue Hinweise hierzu findest du auch in den jum:templates Beschreibungen.
2. Schritt: Raspberry PI vorbereiten
Im zweiten Schritt wird dir erklärt wie du deinen Raspberry PI für die Verwendung von jum:templates vorbereitest.
Du lernst wie du:
-
auf deine SD-Karte das Betriebssystem aufspielst,
-
deine WLAN-Verbindung konfigurierst, und
-
die jum:templates auf deinen Raspberry PI aufspielst.
Dieser Schritt ist für alle Sensoren und Erweiterungskomponenten gleich. Wenn du deinen Sensor an einen bestehenden Raspberry PI anschliessen willst, entfällt dieser Schritt.
3. Schritt: Docker-Container konfigurieren und starten
Aus technischer Sicht sind jum:templates Docker-Container. Für jeden unterstützten Sensor-Type besteht ein Docker-Image. Um den Sensor zu benutzen musst du den entsprechenden Docker-Container starten und verschiedene Parameter angeben (z.B. die Nummer des PINs an dem der Sensor angeschlossen ist).
Alle Docker-Images sind so gebaut, dass sie mit einem MQTT-Broker kommunizieren. MQTT ist ein gängiges IoT-Protokoll (siehe: https://www.mqtt.org). Die Kommunkation mit dem MQTT-Broker (eine Art Server) erfolgt hierbei immer über sgn. "Topics". Das bedeutet, dass z.B. ein Temeperatur-Sensor in einem festgeslegten Intervall die Temeperatur an ein MQTT-Topic meldet. Das Intervall und der Topic-Name kann z.B. als Parameter beim Starten des Docker-Containers mit angegeben werden.
Um die Sensor-Daten wiederum abzufragen bzw. Kommandos an Erweiterungskarten zu schicken, kannst du theoretisch jeden beliebigen MQTT-Client verwenden (z.B. https://mqttfx.jensd.de). Weiteres im nächsten Schritt… :-)
4. Schritt: OpenHAB Item und Sitemap anlegen
Wie im vorigen Schritt schon erwähnt, ist es über jeden beliebigen MQTT-Client möglich die Sensor-Daten abzufragen. Um jedoch die Daten richtig konsumierbar zu machen, möchtest du bestimmt eine Samrtphone-App haben mit der du die Sensor-Werte leicht anzeigen lassen kannst.
Wie in jum:projects wird auch in jum:templates die freie Homeautomation Platform OpenHAB verwendet um deine Sensoren einzubinden und in einer UI anzuzeigen. Der Vorteil ist, dass OpenHAB zum einen ein MQTT-Binding anbietet, mit dem du deine Sensoren einfach über den MQTT Broker in das OpenHAB System einbinden kannst. Zum anderen kannst du in OpenHAB über eine Sitemap-Definition leicht eine eigene Oberfläche definieren, die du dann in der OpenHAB Samrtphone-App oder über eine URL anzeigen kannst.
jum:projects
Mit Hilfe von jum:templates und OpenHAB kannst du deine eigenen Raspberry PI Things bauen und über eine OpenHAB Sitemap bedienen. OpenHAB bietet dir aber auch noch die Möglichkeit über sgn. "Bindings" andere schon bestehenden Homeautomation-Anwendungen zu integrieren.
An dieser Stelle setzt jum:projects an und liefert dir Beschreibungen für komplette Homeautomation Projekte die sowohl eigene Raspberry PI basierte Things als auch etablierte Homeautomation-Systeme kombinieren. Du kannst mithilfe der Beschreibungen die Projekte einfach 1:1 nachbauen, oder aber als Ausgangspunkt für deine eigenen individuellen Projekte verwenden.