Hackday: Sensoren für den Durchblick

Max Gfeller
Autor:

Max Gfeller

Kategorie:

in

Über cyon

Veröffentlicht am 7. Dez. 2018

Aktualisiert am 6. Mai 2022

Etwa zwei Mal pro Jahr veranstaltet unser Software-Engineering-Team einen internen Hackday und nimmt sich einen Tag Zeit, um sich gemeinsam neue Technologien anzusehen, an einem tollen Projekt zusammenzuarbeiten oder eben einfach einen Tag lang zu hacken. 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.

Hackday: Sensoren für den Durchblick

Vergangene Woche fand ein solcher Hackday zum Thema IoT (Internet of Things) statt. Neben einer Menge Elektronik und Sensoren hatten die Organisatoren auch bereits eine lange Liste von Ideen mitgebracht, was am Hackday umgesetzt werden könnte. Die Grundidee: Im Büro vorhandene Geräte mit Sensoren «aufzubessern». Dazu teilten sich die «Hacker» in drei Teams auf.

Team 1: Kaffeekonsum

Eines der Teams widmete sich dem Lieblingsthema vieler, dem Kaffee. Mithilfe eines MyStrom-Adapters hat sich Team 1 einen Kaffeezähler gebaut. Dazu haben die Team-Mitglieder unsere Offline-Kaffemühle an den Adapter angeschlossen und eine Applikation entwickelt, welche über die HTTP-Schnittstelle des Adapters periodisch die elektrischen Lastspitzen ausliest. Wertet man die Dauer der Last und die konsumierte Leistung aus, kann festgestellt werden, ob sich der Kaffeeliebhaber gerade einen einfachen oder doppelten Kaffee zubereitet.

Über eine dazugehörige Web-Applikation kann die Statistik der konsumierten Menge Kaffee dann dargestellt und auch angezeigt werden, wann der letzte Kaffee getrunken wurde. Entwickelt wurde die Applikation (mit Ausnahme des Frontends, das mit Vue.js entwickelt wurde) mit der uns bisher unbekannten Programmiersprache Crystal. Ein Hackday bietet nämlich auch DIE Gelegenheit, sich auf spielerische Art neuen Sprachen zu nähern.

Das Video zeigt die Applikation während die Kaffeemühle betätigt wird.

Die Gruppe hat bereits weitere Anwendungsfälle im Hinterkopf, zum Beispiel im Zusammenspiel mit der Geschirrspülmaschine, bei der von aussen der Status nicht erkennbar ist. Mittels einer Hue-Lampe könnte der aktuelle Modus der Maschine angezeigt werden, etwa «rot» wenn die Maschine gerade läuft (und sich der Gang zur Maschine somit nicht lohnt), «gelb» wenn die Maschine ausgeräumt werden muss und «grün» wenn der Geschirrspüler darauf wartet, mit dreckigem Geschirr gefüllt zu werden.

Team 2: Slack-Integration für unsere Türklingel

Eine andere Gruppe hat sich unserer Türklingel gewidmet. Was, wenn es an der Tür klingelt? Aufmachen, logisch. Bloss: Was, wenn niemand das Klingeln hört? Mithilfe eines Sensors, den das Team an die LED der Klingel angelötet hat, kann nun erkannt werden, wenn die Türklingel betätigt wird. Über eine Slack-Integration meldet sich die Türklingel nun in ihrem eigenen Channel automatisch, wenn sich jemand an der Tür bemerkbar macht.

Die Türklingel meldet einen klingelnden Besucher.

Die Türklingel meldet einen klingelnden Besucher.

Team 3: Türsensor für den Getränkekühlschrank

Nebst Kaffee und Wasser stehen den cyon-Mitarbeitenden auch kostenlose Süssgetränke zur Verfügung. Das dritte Team, passenderweise inklusive unserem internen Getränkeverantwortlichen, wollte wissen, wann unser Getränkekühlschrank überhaupt benutzt wird, oder besser: Wann Getränke aus dem Kühlschrank konsumiert werden. Im Team kam zudem schnell die Idee auf, diesen Ansatz zu verfeinern und zusätzlich herauszufinden, welches Getränk aus dem Kühlschrank genommen wurde.

Mit einem Sensor, welcher registriert, wann die Kühlschranktür geöffnet (und wieder geschlossen) wird, war der erste Teil der Aufgabe ziemlich schnell gelöst. Um aber automatisiert zu registrieren, welche Flaschen entfernt wurden, war mehr Aufwand notwendig.

Die Kamera registriert das herausgenommene Getränk

Die Kamera registriert das herausgenommene Getränk.

Mithilfe einer auf einem Stativ stehenden Kamera wurden Bilder vor und nach der Entnahme gemacht und zu erkennen versucht, welche Flasche entfernt wurde. Mit Google AutoML hat Team 3 anschliessend einen Algorithmus trainiert, der die Flaschenerkennung automatisierte. Dafür mussten eine ganze Menge an Fotos der Flaschen gemacht und manuell klassifiziert werden.

Der Algorithmus wird mit einer Menge Fotos trainiert

Der Algorithmus wird mit einer Menge Fotos trainiert.

Auch dieses Vorhaben konnten unsere Hackday-Teilnehmer mit Erfolg abschliessen. Einzig das etwas aufwendige Kamerasetup müsste für einen dauerhaften Einsatz noch angepasst werden.

Die Animation zeigt, wie die «Flaschenerkennung» funktioniert.

Die Animation zeigt, wie die «Flaschenerkennung» funktioniert.

Beteilige dich an der Diskussion

2 Kommentare

Dani Wenger
Dani Wenger 7. Dez. 2018 14:18

Verratet ihr uns, welchen Sensor & welche Übertragungstechnologie ihr für die Klingel verwendet habt?

Lg
Dani

Philipp Zeder
Philipp Zeder cyon
7. Dez. 2018 17:40

Hi Dani, aber sicher :) Bei der Klingel handelt es sich um eine handelsübliche Funkklingel, die auf 433Mhz funkt. Wir wollten zuerst das Funksignal entschlüsseln haben es aber nun so gelöst, dass wir die elektrische Spannung der eingebauten LED mithilfe einer Node MCU v3 (ESP8266 Chip) messen und darüber die Nachricht in Slack triggern. Zusätzlich bauen wir nun an einem Sensor, der erkennt, ob nach dem Klingeln die Tür geöffnet wurde.

Den Code zur Slack-Integration findest Du hier: https://gist.github.com/cyonhosting/006fe0bedd4920e58f14df9a9beec7e6