c't 1/2017
S. 132
Praxis
Sebstbau-Dash-Button
Aufmacherbild
Ein ESP-01, ein Taster, drei Widerstände und eine LED, frei verdrahtet auf der zweckentfremdeten Platine einer Batterielampe: Fertig ist der Selbstbau-Dash-Button.

Verlasst die Ama-Zone!

Batteriebetriebene IoT-WLAN-Buttons selbst bauen und programmieren

Amazon verlangt für seinen WLAN-fähigen Dash-Button 5 Euro. Mit dem ESP8266 bauen Sie einen eigenen Button für 3,77 Euro, der sich schneller verbindet und garantiert keine Amazon-Server kontaktiert. Und programmieren können Sie ihn auch.

Das IoT-Gerät des Jahres 2016 war Amazons Dash-Button. Alle Medien diskutierten die fünf Euro teuren Bestellknöpfe, entweder als Vorreiter eines ungezügelten Konsumwahns, als Einkaufsmethode der Zukunft oder als das endgültige Ende des Datenschutzes. Im Internet tauchten währenddessen zahlreiche Ideen auf, wofür man einen batteriebetriebenen Button abseits der von Amazon intendierten Bestellfunktion nutzen könnte. Der Nachteil dieser Hacks: Der Amazon Dash-Button spricht immer mit Amazon-Servern, wenn er sie erreichen kann. Wir haben eine Lösung vorgestellt, mit der Sie Ihre Buttons mit einem Raspi von Amazon abtrennen können [1]. Eleganter ist aber ein Knopf, bei dem Sie selbst entscheiden, mit welchem Server er spricht.

Schaltplan

Genau dafür eignet sich das in der Maker-Szene beliebte Modul ESP-01 mit dem Mikrocontroller ESP8266. Seine 80-MHz-CPU hat genug Dampf für verschlüsselte Kommunikation per TLS 1.1 und sein Schlafmodus verbraucht so wenig Energie, dass der Button mit zwei AAA-Batterien jahrelang läuft. Die Platine mit SoC, Antenne und Stiftleiste zum Anschließen ist nur so groß wie eine Fingerkuppe und passt problemlos in das Gehäuse von batteriebetriebenen LED-Schranklichtern (Stichwort: Stick & Push). Mit einem USB-Seriell-Konverter für nicht mal zwei Euro schließen Sie das ESP-Modul am Rechner an und programmieren es mit der Arduino-Entwicklungsumgebung (IDE). Die selbst geschriebene Firmware in C kommt dank guter Bibliotheken für den ESP8266 mit nur 150 Zeilen Quelltext aus.