Hogarama (Home and Garden Automation)

Ausgangssituation

Freitag ist Learning Friday bei gepardec. Den gibt es seit Anfang an und in den Frühzeiten hat sich jeder ein Thema ausgesucht, dieses ausgearbeitet und präsentiert. Dann ist es oft wieder in Vergessenheit geraten. Darüber hinaus bieten kleine “Hello World” Beispiele nicht die Komplexität, um Technologien für echte Projekte zu testen. Daher haben wir uns entschlossen gemeinsam eine Anwendung zu entwickeln, bei der wir alle Technologien einsetzen können, die wir ausprobieren wollen. Das Ergebnis ist Hogarama.

//

Zielsetzung

Ziele für Hogarama gibt es auf zwei Ebenen.

Da sind zum einem die Ziele des eigentlichen Projekts. Hogarama steht für “Home and Garden Automation”. Das Ziel ist unserer Pflanzen im Büro automatisch so zu bewässern, dass sie nicht ständig eingehen. Sei es wegen Wassermangel oder Überbewässerung. Und sobald das funktioniert soll sich Hogarama in der Welt verbreiten und dort Blumen und Gärten zum Blühen bringen. Technologisch soll es auf der OpenShift Cloud Plattform aufgebaut sein.

Darüber hinaus gibt es Lernziele. Hogarama ist für Gepardec eine Plattform auf der wir strategisch interessante Technologien ausprobieren können und Erfahrungen in einem produktionsnahen Projekt sammeln. Das betrifft nicht nur technische Aspekte, sondern alle Aspekte eines Entwicklungsprojekte wie z.B. Pair-Programming, Scum oder Zusammenarbeit in verteilten Entwicklungsteams.

//

Lösung

Hogarama ist ständig im Umbruch. Der aktuelle Stand ist unter https://github.com/Gepardec/Hogarama/wiki zu finden.
Im wesentlichen besteht es aus zwei Teilen

  • Raspberry Pi Client
  • OpenShift Server Teil

Der Client schickt Sensordaten, z.B. von einem Feuchtigkeitsdaten mittels MQTT Messaging Protokoll zu einem AMQ Broker auf OpenShift. Die Daten werden in eine Mongo-DB gespeichert und mittels einer Anwendung auf JBoss EAP ausgewertet.

Soll eine Pflanze bewässert werden, so wird eine entsprechende Message an den Raspberry geschickt, der eine Pumpe aktiviert.

// Unsere Kompetenzen

Software Engineering

Software Engineering

// Technologien

JBoss EAP

Java / JEE

Atlassian

ELK Stack