Drücke „Enter”, um zum Inhalt zu springen.

Projekt „Push the Button“

rc-admin

Eine Taste mit mehr als 1001 Möglichkeiten. Mit diesem Motto habe ich dieses Projekt gestartet. Die Amazon IoT Dash Buttons haben mich gleich nach der Markteinführung fasziniert. Um die Funktionsweise genau analysieren zu können, habe nach Alternativen gesucht. Außerdem wollte ich unabhängig von Amazon bleiben und die Taste selber programmieren können.

Ich habe eine günstige Alternative gefunden. Der Button basiert auf ein ESP8266 ESP-12F Ultra-Low-Power Wireless-Modul (Wifi-Modul) speziell konzipiert für IoT-Geräte. Das Wifi-Modul verfügt auch über On-Board Speicherfunktionen. Der Schalter ist wie folgt aufgebaut.

Die Funktionsweise

Sobald der Button gedrückt wird, verbindet sich das Wifi-Modul (ESP-12F) mit dem WLAN-Router und setzt einen HTTP Request an eine vordefinierte URL ab. Hinter dieser URL (z.B. REST API) kann sich ein Dienst, der eine bestimmte Funktion ausführt, befinden. Beispielsweise kann man einen IFTTT-Applet durch die Betätigung der Taste aufrufen. IFTTT kann dann unterschiedliche Aktionen ausführen. Die folgende Abbildung verdeutlicht die vereinfachte Funktionweise.

Über die WLAN-Verbindung kann der Button beispielsweise folgende Aktionen ausführen:

  • Schnell die Security-Abteilung per SMS kontaktieren und um Hilfe bitten.
  • Vordefinierte Personen in Notfällen informieren.
  • Ein Workflow im SharePoint starten.
  • Einen Ticket (Issue) im Ticketsystem anlegen.
  • Eine vordefinierte Benachrichtigung per E-Mail verschicken.

Hier ein Demo-Video:

Der Schalter bietet eine einfache Oberfläche für die Konfiguration der WLAN-Verbindung und für die URL-Adresse (custom url), die aufgerufen werden soll. Die URL kann wie z.B. wie folgt aussehen: http://maker.ifttt.com/trigger/push_the_button/with/key/DEIN-MAKER-CHANNEL-KEY

Nach Betätigung der Taste wird aktuell diese Anweisung ausgeführt:

conn:on("connection", function(conn, payload) 
    print("Key:" .. key)
    conn:send("GET /trigger/button/with/key/xyz" // replace xyz with your key
        .." HTTP/1.1\r\n" 
        .."Host: maker.ifttt.com\r\n"
        .."Accept: */*\r\n" 
        .."User-Agent: Mozilla/4.0 (compatible; esp8266 Lua; Windows NT 5.1)\r\n" 
        .."\r\n")
    print("IFTTT request sent. Goodbye") 
    blink(0, 255, 0)
end) 

Der Button kann für ca. $10 hier bestellt werden. Für die Neuprogrammierung der Taste kann ein Controller hier bestellt werden.

Eine englische Kurzbeschreibung und der Quellcode ist auf Github veröffentlicht und ist hier zu finden: https://github.com/rich-info/PushTheButton

Die Kommentare sind deaktiviert.