MENÜ
Hintergrundbild
dataformers Patch Days

Wir verpassen uns ein Update: dataformers E-Patch Days

So erweitern wir gemeinsam unseren technologischen Horizont.

Wir bei dataformers haben den Anspruch, mit fortschrittlichen Technologien und Methoden State-of-the-Art Software für unsere Kunden zu entwickeln. Um das langfristig sicherzustellen, geben wir uns im Team einen Rahmen in dem wir uns regelmäßig über neue Technologien informieren und austauschen. Ein Teil davon sind die dataformers Patch Days.

Was sind die dataformers E-Patch Days?

Die E-Patch Days finden jedes halbe Jahr an 2 aufeinanderfolgenden Tagen statt. Sie sollen dazu dienen, den technologischen Horizont eines jeden dataformers Mitarbeiter zu erweitern. Das E in E-Patch Days steht für Employee (Mitarbeiter). Mit diesen internen Innovationstagen soll das Interesse an neuen oder bisher unbekannten Technologien geweckt und erste praktische Erfahrungen damit gesammelt werden.

Idealerweise schließen sich dabei mehrere Personen zu einem Team zusammen und arbeiten gemeinsam an einem Thema. So können die einzelnen Teammitglieder voneinander lernen und am Ende den anderen Kollegen einen Prototyp präsentieren. Das ist jedoch nicht das vorrangige Ziel. Das Ziel ist der persönliche Lernfortschritt und Spaß mit den Kollegen.

Die „Regeln“:

  • Auswahl eines beliebigen Themas (hierbei gibt es keine Einschränkung)
  • Arbeit allein oder im Team
  • Nötige Hard- oder Software wird von dataformers gestellt
  • Keine Termine an diesen Tagen
  • Die Verpflegung übernimmt dataformers

Das waren die Patch Days im Sommer 2018:

Rasch nach Bekanntgabe der internen Innovationstage bildeten sich Teams mit interessanten Projektideen. Um am Tag X alle nötigen Hardware-Komponenten parat zu haben, war im Vorfeld zumindest eine grobe Konzeption der Projekte erforderlich. Die Vorfreude bei allen Kollegen war groß.

Nun stellen wir euch einige Projekte vor, die während der Patch Days entstanden sind. Diese sind aus der Sicht der jeweiligen Projektteilnehmer verfasst.

Lama „Steve“

Im Wiener Büro von dataformers gab es schon länger eine Diskussion ein Haustier zu bekommen. Trotz der ganzen Vorteile eines Haustieres hat es den großen Nachteil, dass sich immer jemand darum kümmern muss - gerade an Wochenenden ist das ein Problem. Aus diesem Grund entschieden wir uns die Patch Days dazu zu nutzen eines zu bauen. Wir haben uns für ein Lama entschieden, genau genommen der Gattung Einhorn-Lama.

Planung

Da fast das ganze Wiener Büro an dem Projekt mitarbeiten wollte, mussten wir schon vor den Patch Days Vorkehrungen treffen. Diese Planung war notwendig um das Projekt in kleinere folgende Unter-Projekte zu gliedern:

  • Design
  • Arduino
  • Android
  • Steuerung

Umsetzung

Für das Design hatten wir das Glück unseren Designer im Team zu haben. Mittels Karton, Heißklebepistole konnte er uns mit einem niedlichen Lama unterstützen.

Um mit der Umwelt zu interagieren setzen wir auf einen Arduino, mit dem wir 4 Motoren ansteuern.

Ein ausgemustertes Android Gerät verwendeten wir sozusagen für das Gehirn des Lamas. Für die Programmierung verwendeten wir Xamarin.Android. Für die Augen des Lamas nutzen wir die Kamera des Android Geräts. Die Daten der Kamera werden der Steuerung zur Verfügung gestellt, damit wir sehen wohin wir fahren. Auf diesen Bildern werden mittels Azure-Gesichtserkennungs-API unsere Mitarbeiter erkannt.

Für die Steuerung ist die Fernsteuerung zuständig. Diese wurde mittels Blazor entwickelt, ein .NET Web-Framework welches via WebAssembly im Browser läuft.

Die Steuerung kommuniziert mit dem Android-Gerät via WLAN und schickt Befehle wie vorwärtsfahren. Die Befehle werden vom Android-Gerät via Bluetooth an den Arduino weitergeleitet. Dort werden diese interpretiert und ausgeführt.

Des Weiteren hat unser Lama einen eigenen Twitter-Account, um über das Leben eines Lamas bei dataformers zu berichten:
https://twitter.com/Llama88080761

Nun der Entstehungsprozess noch bildlich dargestellt…

Abbildung der Architektur:



Erster Entwurf:


Entwurf:


Grundgerüst in Rohform:


Fertiges Lama:


DataMaischers

Die DataMaischer haben es sich zur Aufgabe gemacht die zur Verfügung gestellte Zeit zu nützen, um sich nicht nur mit neuen Technologien auseinanderzusetzen, sondern auch den immer widriger werdenden Lebensumständen bei steigenden Bierpreisen entgegenzuwirken.

Ziel war es, den Maisch-Vorgang des Bierbrauens vollständig digital und automatisiert, per progressiver Web-App, überwachen zu können. So können Maisch-Vorgänge für verschiedene Bierarten eingeleitet werden – nachdem ein Braumeister zugestimmt hat. Der brauende User wird dann per Push-Notification darüber informiert.

Diese Lösung sollte auf Hardware lauffähig sein, die auch für den kleinen Haushalt erschwinglich ist, aber mit modernster Software-Technologie und Services im Hintergrund.

Schematischer Aufbau der Datamaischer-Landschaft:

Die Technologielandschaft:

  • Raspberry Pi 3 Model B
  • Wasserdichter Temperatursensor
  • Linker Platine
  • Azure IoT Hub
  • Azure Functions
  • Azure Cosmos Db
  • Azure Durable Functions
  • Azure Function Proxys
  • Auth0 (Social Login)
  • NET Core 2.1
  • Azure SignalR Service
  • Progressive Web App mit Angular 6 (Offline-fähig)
  • Notifications über Web Push

Umsetzung

Der Raspberry Pi wurde mit der Linker-Platine und dem Temperatursensor ausgestattet.

Raspberry Pi mit Linker-Platine:


Die Daten des Temperatursensors wurden mit Hilfe des Raspberry Pis ausgelesen und an den Azure IOT-Hub gesendet (Realisierung mittels Python).

Temperatursensor im Testlabor:


Der IoT Hub nimmt die gemessenen Sensordaten entgegen und triggert eine Azure Function, welche die Daten zum einen in einer Cosmos DB persistiert und zum anderen an einen Azure SignalR Hub weiterleitet. Dieser pusht die Daten weiter an die App, welche alle Sensorwerte in einem Diagramm darstellt und dort live aktualisiert.

Ausgabe der Sensor-Messdaten:


Die App wurde in Form einer Progressive Web App mit Angular 6 entwickelt. Diese ersparte uns den Umweg über die App Stores und bietet dennoch Features, die man von Apps kennt und schätzt:

  • Offlinefähigkeit
  • Push Notifications
  • Performance
  • Splash Screen / Icon am Homescreen

Das Hosting dieser Progressive Web App wurde über Azure Storage und Azure Function Proxys abgebildet. Daraus ergeben sich schlanke 0 Euro monatliche Grund-Hosting-Kosten für das App Frontend.

Um dem Benutzer eine einfache Anmeldung über Facebook oder ähnliche bereits vorhandene Identitäten zu ermöglichen, wurde Auth0 als Identity Management Dienst eingebaut.

Des Weiteren wurde zum Schutz der Rohstoffe vor Verschwendung eine Sicherung eingebaut, in der nur ein Maisch-Vorgang gestartet werden kann, nachdem ein Braumeister diesem zugestimmt hat.

Hierzu wurde ein Human Interaction Workflow auf Basis von Azure Durable Functions implementiert, der den Braumeister per Email-Versand über einen durstigen User und dessen gewünschte Biersorte informiert.

Erteilt er dem Maisch-Vorgang seinen Sanctus, erhält der anfordernde User über Web Push sofort eine Benachrichtigung auf seinem Mobiltelefon und es kann los gehen.

Durch die jahrelange Erfahrung der beteiligten konnte der Scope in einem Bereich angesetzt werden, indem die Umsetzung genau in den 2 zur Verfügung gestellten Tagen möglich war und somit am Ende ein Produkt mit einsatzfähigen Features zur Verfügung stand.

Game Engine Unity

Wer träumte nicht schonmal davon sein eigenes Videospiel zu entwickeln, das nächste World of Warcraft, Call of Duty, Super Mario oder einfach einen coolen Tetris Clone zu erstellen? Viele der heute berufstätigen Software-Entwickler gehören der Generation Gaming an und haben auch über Videospiele ihre Liebe zu Technik gefunden. Was läge also näher als sich bei den Employee Patch Days diesem Thema zu widmen?

Was kann Unity?

Gerade wenn man aus dem .NET-Umfeld stammt und sich mit C# wohl fühlt, stößt man schnell auf die Game Engine Unity. Unity ist eine Laufzeit- und Entwicklungsumgebung für alles was 2D und 3D-Anwendungen betrifft. Grafiken, 3D-Modelle, und Sounds werden in die frei zugängliche Entwicklungsumgebung Unity-Editor geladen. Der Editor bietet eine Vielzahl von Unterstützungen für häufige Problemstellungen out-of-the-box. Kollisionsabfragen, eine integrierte Physik-Engine, dynamische Beleuchtungen, Hitboxes – das alles lässt sich mit dem Unity-Editor ganz einfach konfigurieren und zu einer oder mehreren Szenen zusammenführen, die das letztendliche Spiel ausmachen.

Dort wo die Konfigurationsmöglichkeiten ihre Grenzen haben kommt Sourcecode ins Spiel. Zu jedem Objekt im Spiel können C#-Skripte hinzugefügt werden. Diese werden in der bekannten Visual Studio Umgebung bearbeitet und mit ihnen ist es möglich ein eigenes Verhalten zu definieren. Trifft der Spieler zum Beispiel auf eine Münze wird diese aufgesammelt und dem eigenen Inventar hinzugefügt.

Einstieg in die Entwicklung mit Unity

Der Einstieg in Unity erfolgt sehr einfach: Online ist eine Vielzahl von Tutorials und frei nutzbaren Bibliotheken erhältlich die einem von Beginn an Grafiken und Modelle zur Verfügung stellen. So kann man sich ganz auf das Zusammenfügen der einzelnen Bestandteile und die Logik des Spiels konzentrieren.

Einsatz in der Individualsoftware-Entwicklung

Wo liegen nun die Vorteile in der Verwendung von Unity für eine Softwareentwicklungs-Schmiede wie dataformers? Unity fängt dort an wo traditionelle Userinterfaces aufhören. Es ist möglich damit ansprechende und flüssig laufende 2D-Anwendungen, aber auch faszinierende 3D-Anwendungen und Simulationen zu erstellen. In Zeiten von AR und VR ist Unity ein Werkzeug um die Grenzen zwischen physischer und virtueller Welt zu verschieben und den Benutzern ein immersives Erlebnis zu bieten. Die Anwendungen laufen auf einer Vielzahl von Plattformen, angefangen von PC und Smartphones bis hin zur Integration in Webseiten.

Hier einige Screenshots von erstellten Test-Spielen:

Space Shooter:


Roll a Ball:


Ufo Game:




Interesse? Wir unterhalten uns gerne mit Ihnen!
Neueste Beiträge
Wir verpassen uns ein Update: dataformers E-Patch Days
So erweitern wir gemeinsam unseren technologischen Horizont.
Wir bei dataformers haben den Anspruch, mit fortschrittlichen Technologien und Methoden State-of-the-Art Software für unsere Kunden zu entwickeln. Um das langfristig sicherzustellen, geben wir uns im... mehr dazu
dataformers <3 KEBA
KEBA wird 50! Ein Nachbar gratuliert.
Seit mittlerweile 50 Jahren steht das Linzer Elektronikunternehmen KEBA für Erfolg durch Innovation, und das weltweit:Mit heute mehr als 1.100 Mitarbeitern – davon fast 800 im Linzer Gewerbepark Urfahr... mehr dazu
Gesichtserkennung mit Microsoft Face API
Ganz nach dem Motto: Zeig mir dein Gesicht – und die Maschine sagt dir wer du bist.
Es hat einen Hauch von Science-Fiction-Technologie, wenn ein Computer ein Gesicht erkennt und alle möglichen Merkmale wie Alter, Geschlecht, Emotionen, aber auch den Namen der Person ausgibt. Solche Möglichkeiten,... mehr dazu