Hackday: Displays für Meetingräume

← zurück zum Blog

In losen Abständen veranstaltet unser Software-Engineering-Team interne «Hackdays», während denen sich das gesamte Entwicklungs-Team intensiv mit einem bestimmten Thema auseinandersetzt. Unser Software-Entwickler Max brachte es im Bericht zum Hackday «Sensoren für den Durchblick» auf den Punkt:

Dabei stehen Teamgeist, die Begeisterung für neue Technologien und Spass im Vordergrund, es kann allerdings durchaus vorkommen, dass an solchen Events tolle Projekte entstehen, die später tatsächlich «im realen cyon-Leben» genutzt werden.

Wir dachten uns nun: Was im Software-Engineering-Team für Spass und Zusammenhalt sorgt, muss doch auch in grösserer Dimension anwendbar sein. Gesagt, getan. So wurde der Hackday zum cyon-weiten Anlass. Damit trafen sich beim letzten Event Mitarbeitende aus allen Bereichen in unserer Cafeteria, um an Displays für Meetingräume zu hacken.

Hackday: Displays für Meetingräume.

Die Vorbereitung

Bevor das Thema für den Hackday überhaupt feststand, wurden im ganzen Team Ideen gesammelt, mit welchen Themen wir uns beschäftigen könnten. Anschliessend haben wir darüber abgestimmt, welche Idee das Rennen machen soll. Praktischerweise haben wir damit auch bereits Ideen für weitere Hackdays gesammelt.

Unser Organisator Michael machte sich nun daran, die Idee zu konkretisieren. 4 Handlungsfelder wurden es schliesslich:

  • LED-Strip
    Jedes Display soll mit einem LED-Strip versehen werden, das mittels Farbe den Status eines Raums bereits von weitem erkennen lässt.
  • E-Ink-Display
    Das E-Ink-Display benötigt nur bei einer Veränderung Strom und ist damit äusserst energiesparsam. Selbst bei einem Stromausfall ist sichergestellt, dass niemand die Sitzung verpasst ;)
  • Touchscreen-Display
    Das Display mit eingebauter Touch-Funktion ermöglicht Eingaben durch Benutzerinnen und Benutzer. So lässt sich ein Raum vor Ort auch kurzfristig buchen.
  • Schnittstelle Open-Xchange
    Wir nutzen Open-Xchange zur Verwaltung unserer Termine. Die passende Schnittstelle soll ermöglichen, dass die Displays immer mit den aktuellsten Informationen versorgt werden.

Einkaufsliste

Um die 4 Handlungsfelder abzudecken, war entsprechende Hardware nötig. Unsere Einkaufsliste für den Hackday:

Der Hackday

Pünktlich um 09:00 Uhr trafen sich die Hackday-Teilnehmenden. Nach einem kurzen Intro und der Aufteilung auf 4 Teams ging es auch schon los.

Team LED-Strip

Team LED-Strip kümmerte sich darum, zur richtigen Zeit die richtige Farbe leuchten zu lassen. Üblicherweise wird den LED-Strips eine Fernbedienung mitgeliefert, mit der sich das eigene Wohnzimmer per Knopfdruck in Licht mit der gewünschten Wellenlänge tauchen lässt. Bei uns kam anstatt einer Fernbedienung ein Raspberry Pi zum Einsatz.

Der LED-Strip in Aktion.

Der LED-Strip in Aktion

Glücklicherweise fand das Team nach kurzer Suche eine fixfertige Python-Library, das die Steuerung des LED-Strips massiv vereinfachte. Nun fehlte nur noch die korrekte Pin-Belegung für den Anschluss an den Raspberry Pi und das Team konnte so richtig loslegen. Und trotz sehr wenigen Vorkenntnissen konnte Team LED-Strip nach kurzer Zeit erste Erfolge feiern. Bis am Abend hatte das Team einen funktionstüchtigen Protoytpen gebaut, der den Belegungstatus eines Raumes korrekt anzeigt.

Team E-Ink-Display

E-Ink-Displays, bekannt aus Produkten wie E-Readern, eignen sich für die Anzeige von Informationen, die nicht ständig wechseln. Perfekt also für die Anzeige eines Belegungsstatus. Das von uns verwendete Display wurde mit passendem Raspberry-Pi-«Header» geliefert und konnte so direkt mit dem dafür vorbereiteten Raspberry Pi Zero verbunden werden.

E-Ink-Display zeigt ersten Layout-Entwurf an.

Das E-Ink-Display zeigt den ersten Layout-Entwurf an.

Im Gegensatz zu einem herkömmlichen LCD-Display, das per HDMI angesprochen werden kann, muss auf einem E-Ink-Display «selbst gezeichnet» werden. Team E-Ink-Display verfolgte zu Beginn deshalb 2 Ideen: Das Zeichnen der Informationen mittels entsprechender Software und die Anzeige der Informationen in ASCII-Art, bekannt aus der Kommandozeile. Da das Zeichnen der Informationen aber rasch gut funktionierte, wurde die zweite Idee nicht weiterverfolgt. Dass das Zeichnen gut funktionierte, war übrigens nicht der offiziellen Dokumentation des Displays geschuldet – im Gegenteil, die Doku war praktisch inexistent – sondern vielen guten Beispielen auf Github. Schlussendlich fehlte nur noch eine Anbindung an unsere Groupware-Software, um die sich Team Schnittstelle Open-Xchange vertieft kümmerte.

Team Touchscreen-Display

Das Team, das sich um den Touchscreen-Display kümmerte, hatte schon früh mit Stolpersteinen zu kämpfen. Die vorbereiteten Raspberry Pis waren alle mit Raspbian Buster Lite geflasht worden. Ohne den in dieser Version fehlenden X11-Server, war der Raspberry Pi im Zusammenspiel mit dem Display nicht zu gebrauchen. Team Touchscreen-Display machte sich also als erstes daran, ihren Raspberry Pi mit der Desktop-Version zu flashen. Doch der nächste Stolperstein liess nicht lange auf sich warten. Das Team wollte das Display in Hochkantformat nutzen. Die entsprechenden Änderungen in der Betriebssystem-Konfiguration trugen allerdings nicht die gewünschten Früchte. So zeigte das Display die Inhalte zwar im gewünschten Format an, die Touchscreen-Eingaben landeten jedoch nicht am richtigen Ort. Nach einigen Versuchen entschied man sich für die pragmatische Lösung, doch das Querformat zu nutzen.

Für die Aufbereitung der Groupware-Daten entschied sich das Team für eine kleine Web-Applikation auf Basis des PHP-Micro-Frameworks Slim. Nachdem das Routing mit Slim gebaut war, stellten sich dem Team zwei grundlegende Fragen:

  • Wie kommen wir zu den Daten?
  • In welchem Format müssen diese an das Frontend weitergegeben werden?

Diese beiden Fragen beschäftigten das Team für den Rest des Tages. Vor allem die erste Frage sorgte für rote Köpfe, übrigens auch in den anderen Teams. Gut, kümmerte sich ein dediziertes Team um diese Aufgabe.

Das Touchscreen-Display in der zwischenzeitlich verfeinerten Variante.

Das Touchscreen-Display in der zwischenzeitlich verfeinerten Variante.

Team Schnittstelle Open-Xchange

Das vierte Team in der Runde wandte sich der von uns genutzten Groupware-Software Open-Xchange und deren Schnittstelle zu. In weiser Voraussicht bestand das Team aus zwei Personen, die erfahren im Umgang mit der Open-Xchange-API sind. Zwar nutzen wir in bestehender Software bereits einen API-Client für den Zugriff auf die Groupware-Daten, der allerdings noch auf einer alten API-Version basiert. Die Spezifikation der neuen API stellte das Team vor einige Herausforderungen, was vor allem an Fehlern in der Spezifikation lag. Nachdem diese Probleme aus dem Weg geräumt waren, generierte das Team einen passenden PHP-Client. Doch es traten weitere Probleme im Login-Verfahren auf, die bis zum Ende des Tages nicht vollständig gelöst werden konnten.

Obwohl die anderen Teams damit auf den bereits vorhandenen Client ausweichen mussten, konnte Team Schnittstelle durch das Debugging wertvolles Wissen im Umgang mit Open-Xchange gewinnen.

Das Endprodukt

Gegen 16:15 Uhr legten die Teams einen Endspurt hin und versuchten, die Einzelteile gemeinsam zu einem grossen Ganzen zu verbinden. Das Resultat war eine Belegungsanzeige für unser Sitzungszimmer «Cherry», die seither zuverlässig ihren Dienst tut.

E-Ink-Display und LED-Strip in der Ausprägung «nutzbarer Prototyp».

E-Ink-Display und LED-Strip in der Ausprägung «nutzbarer Prototyp».

An den Ecken und Kanten können wir selbstverständlich noch schleifen und auch das Gewand des Geräts präsentiert sich noch im Stil Prototyp. Eines aber ist klar: Hackdays machen Spass und bringen Mitarbeitende aus verschiedenen Teams näher zusammen. Ausserdem ist es immer wieder verblüffend zu sehen, was an einem einzigen Tag alles erreicht werden kann. Fortsetzung folgt, bestimmt.

2 Kommentare

  1. Respekt!
    Echt cooles Projekt und das Ergebnis kann sich nach dieser kurzen Zeit sehen lassen!
    Sollte es mal die Möglichkeit geben den Code oder das fertige Produkt irgendwie zu bekommen, würde ich mich über eine Rückmeldung freuen.
    Nutzen selbst OpenXchange und so ein Display wäre eine echte Erleichterung.

    Grüße Sascha

    • Hey Sascha, vielen lieben Dank. Der Code ist noch nicht ganz veröffentlichungswürdig, wir haben aber einen entsprechenden Task im Backlog. Stay tuned 🙌

Kommentar hinzufügen

Ihre E-Mail-Adresse wird nicht veröffentlicht.
Auszufüllende Felder sind mit einem * gekennzeichnet.

*
*
*
Einfache HTML Anweisungen wie a, strong, blockquote etc. sind möglich.

Hinweis

Wir behalten uns vor, Spam-, beleidigende oder anderweitig unpassende Kommentare zu entfernen.

← zurück zum Blog