Das Internet of Moustache — Eine esp8266 Übung.

Eigentlich war ich zeitlich ganz gut ausgelastet. Ich hatte mein erstes Semester an der Hochschule gelehrt, war vorübergehend in mein Heimatdorf zurück gezogen, arbeitete an meiner Master Thesis und war auf Jobsuche. Also der perfekte Moment ein neues Projekt zu starten.

Tl;dr: Das IoM

Was mich eigentlich dazu brachte mein schon angespanntes Zeitkontingent weiter zu strapazieren war dann doch ganz pragmatischer Natur. Es ging darum Oliver ein tolles Geschenk zu machen. 
Oliver und ich waren Mitbewohner, studierten zusammen Interaction Design und lieben es die Grenzen zwischen analoger und digitaler Interaktion verschwimmen zu lassen.

Oliver ist ein unglaublicher Designer und das Beste: Er ist auf Job suche

Da wir später beide in verschiedene Städte gezogen sind, sollte es ein Geschenk werden, welches uns erlaubt einfach in Verbindung zu bleiben. Am besten irgendwelche physischen Produkt in Kombination mit dem esp8266. Wieso den esp8266?

Als Designer sind wir beide begeistert von den Möglichkeiten die uns Arduino gibt physische Interaktionen zu prototypen. Der esp8266 ist im Prinzip Arduinos kleiner Chinesischer Stiefbruder und das schönste: Er bringt WiFi mit, ist super günstige (irgendetwas zwischen 6€-10€) und dank der tollen Community lässt er sich auch mit der Arduino IDE programmieren. ❤.

Der wundertolle esp8266 als NodeMCU

Die Idee — Die Moustache Brüder

Die Rahmenbedingungen war klar: In knapp zwei Wochen sollten zwei physische Produkte auf Basis des esp8266 entstehen, welche Oli und mich über das Internet verbinden.

Doch wie sieht so eine Verbindung aus? Welche Möglichkeiten hat man? Genau wie sein Stiefbruder ist der esp8266 auch ein Microcontroller. Das heißt man kann jegliche Art von Sensoren, Aktoren und Ausgabemedien anschließen und so eine Vielzahl von Interaktionen ermöglichen. Man könnte sogar so weit gehen und Tastaturen und Displays anbringen um so ein Art mini Chat Computer zu bauen. Vom Prinzip so etwas wie ein sehr sehr abgespecktes Smartphone mit WhatsApp. 
Doch manchmal geht es nicht darum viel Inhalte zu übermitteln sondern ein einfaches: Ich denke gerade an dich.

Das war die Grundlage für dieses Projekt und die Idee mit einer einfachen Interaktion bei dem Anderen eine einfache Reaktion auszulösen .

Scribbles

Daraus Entstanden sind die Moustache Brüder. Zwei sehr sensible Kerlchen die, wenn man sie am Kopf krault , anfangen mit ihren Bärten zu wackeln. Da es sich um Zwillinge handelt überträgt sich natürlich die Notwendigkeit mit dem Bart wackeln zu wollen.

Jeder der zwei Brüder besteht aus Papier, einem esp8266 (NodeMCU), einer Kupferplatte um die Interaktion aufzunehmen und einem Servo Motor um den Schnurbart wackeln zu lassen.

Living the Arduino Life

Arduino am Mac nutzen ist super einfach. Plug’n’Play.
Einen esp8266 am Mac zum laufen zu bringen kann ganz schön nervenaufreibend sein. Zumindest war das für mich so.

Aber fangen wir vorne an:
Zunächst hatte ich mich für esp8266 in einer NodeMCU Variante entscheiden. Dies hat den Vorteil, dass ein USB Mini Anschluss zur Stromversorgung und Datenübertragung integriert ist, sowie alle Pins zum Ansteuern der Sensoren und Aktoren direkt verfügbar sind. Das Problem bei mir war , dass es für meine Chinesische Version keinen geeigneten Treiber für OSX gab. Jedoch nach langem ausprobieren hatte mir der Fix von Bruno Horta geholfen. So ist knapp die erste Woche Prototypen alleine für die Initialisierung drauf gegangen.

In der nächsten halben Woche hatte ich dann das Bartwackeln und die Eingabeinteraktion umgesetzt. Ersteres basiert auf einem der standard Servo Beispiel aus der esp8266 Library für die Arduino IDE. Zweiteres wollte ich zunächst mit einem einfachen Druckknopf umsetzten. Der wunderbare Finn hatte mir dann aber geholfen diesen wundertollen DIY Touch Sensor zu bauen.

Internet of Moustache

Ich hatte schon den ein oder anderen Prototypen mit Hilfe eines Arduinos gebaut. Mehre Arduinos über das Internet kommunizieren lassen war jedoch für mich neu. Deswegen hatte ich eine kleine Research Runde gestartet. Am vielversprechendsten waren Dienste wie ifttt/maker, Protokolle wie mqtt oder WebSockets. Da aber der Geburtstag immer näher rückte, war kaum Zeit sich intensiv mit diesen Lösungen auseinanderzusetzen. Mein guter Freund Mario, ein unglaublicher Entwickler, legte mir dann nahe mit PHP zu arbeiten.

PHP hat in diesem Kontext auf jeden Fall seine Nachteile. Es ist nicht super sicher, es ist hackable und es ist ein Problem das die Monster ständig auf den Server schauen müssen ob sich etwas getan hat. Dennoch war es die schnellste Variante um die Monster zu prototypen (und außerdem wollte ich schon lange Hands on PHP gehen).

Mario half mir dann die ersten Schritte zu machen und meinen Code zu debugen. Hier eine kurze Zusammenfassung vom Ablauf:

  1. Berührt man den Kopf des einen Monsters, ruft dieser eine URL mit einem PHP Befehl auf und übergibt eine ID und eine ACTION
  2. Das PHP Script erstellt dann ein Textfile mit der ID als Namen und der ACTION als Inhalt
  3. Der zweite Bruder checkt regelmäßig ob sich der Inhalt des Textfiles mit der entsprechenden ID als Namen geändert hat
  4. Ändert sich der Inhalt, fängt er mit dem Bartwackeln an und löscht danach wieder diesen Inhalt

Jetzt bin ich gespannt. Habt ihr Erfahrung mit dem esp8266 gesammelt?