Fhem: Witty-Board, einfache IoT-Funktionen schnell gebaut

fhemNeben dem NodeMCU gibt es ein relativ neues Board, das Witty Board.
Es ist ein um 50 % kleines dafür 50 % dickeres Board als das NodeMCU. Die beiden Boards sind durch Steckbrücken miteinander verbunden.
Das Board hat gegenüber dem NodeMCU einige Vor- oder Nachteile, je nachdem wie man es benutzt.
Hier nun erst mal die technischen Daten:
WLAN-fähig: mit einem ESP 8266-12F Chip (4 MB)
UART: CH340G mit Flash & Reset auf der unteren Huckepack – Platine
Micro-USB Anschluß (2 x). Unten zur Programmierung des Boards und oben später zum Anschluß der Spannungsversorgung
Auf dem oberen Board ist neben dem ESP12-F noch eine RGB-LED in 5050 SMD Bauweise, einen LDR (Foto-Widerstand) und unter der Platine ein LM1117 3,3 V Spannungsregler, welche die eingehende 5 V USB-Spannung runterregelt. Zu guter letzt ist auf der Platine noch ein Taster drauf.

witty board robins blog 2
Man sieht schon, dort ist auf der oberen Platine von Hause aus schon einiges beschaltet worden. Die Beschaltung der Bauelemente (RGB-LED, Taster, LDR) benötigen natürlich GPIOs, die später für andere externe Bauteile nicht mehr zur Verfügung stehen.
Nachfolgend die Beschaltung der auf der Platine angebrachten Bauelemente:

Taster: GPIO 4
Rote LED: GPIO 15
Grüne LED: GPIO 12
Blaue LED: GPIO 13
LDR: Analoger Eingang A0

Freie GPIOs:
GPIO 0
GPIO 2
GPIO 5
GPIO 14

Programmierung:
Das Witty-Board ist von Hause aus programmiert. Versorgt man es beim ersten mal mit 5 V USB-Spannung, leuchtet die RGB-LED in allen Farben nacheinander auf. Also schon mal ein gutes Zeichen, das das Board okay ist.

Ein ständiges Wechsellicht der RGB-LED ist zwar kurzzeitig interssant, aber wir wollen weitere lustige Sachen mit dem Witty-Board machen.
Zum Beispiel eine 16×2 LCD / 20×4 LCD Anzeige mit steuern, zu den Blog-Beiträgen Teil 1 und Teil 2

Wie wäre es wenn wir es via Fhem steuern können?

Hier könnten wir uns beispielsweise mit der Arduino-Software anfreunden und einen Sketch programmieren, diesen dann mit dem unteren Huckepack-Platine (dort wo der CH340 UART) drauf ist, die Daten rüberbeamen. Oder den ESP12-F mit LUA-Firmware betanken und mit der LUA-Software den Baustein flashen.
Aber die einfachste, nicht aber die flexibelste Möglichkeit ist die ESP Easy Software (-> siehe Blogbeitrag). Einmal aufgespielt, kann man via dem Administrations-Interface, die GPIOs, die ich oben benannt habe, direkt per Klick alles zuordnen. Das sieht dann so aus:

witty board 1 robins blog

witty board 3 robins blog

Jetzt kann man per MQTT den lichtabhängigen Widerstand abfragen und in Fhem verarbeiten. Ebenfalls kann man von Fhem aus die RGB-LEDs zum Leuchten bringen.

 

Anwendungs-Beispiel (Voraussetzung – MQTT-Broker):

# Device Lichtsensor und LED Schaltung Nachtlicht
define WittyBoard MQTT_DEVICE WittyBoard
attr WittyBoard IODev MyBroker
attr WittyBoard autoSubscribeReadings /Home/#
attr WittyBoard room MQTT
attr WittyBoard stateFormat Licht: Analog
attr WittyBoard subscribeReading_Analog /hooks/devices/1/SensorData/Analog
attr WittyBoard subscribeReading_Taster /hooks/devices/3/SensorData/Switch

WittyBoard:Analog.* {
if ( (ReadingsVal("WittyBoard", "Analog", "0")) > 1000.00 ){
system ("wget -q -O - 'http://192.168.178.45/control?cmd=GPIO,15,1'");
}
else
{
system ("wget -q -O - 'http://192.168.178.45/control?cmd=GPIO,15,0'");
}
if ( (ReadingsVal("WittyBoard", "Analog", "0")) < 1000.00 ){
system ("wget -q -O - 'http://192.168.178.45/control?cmd=GPIO,12,1'");
}
else
{
system ("wget -q -O - 'http://192.168.178.45/control?cmd=GPIO,12,0'");
}
}

Analog
338.00
2016-03-20 19:15:23
state
0
2016-03-19 23:56:36
transmission-state
incoming publish received
2016-03-20 19:15:23

Hier geht via MQTT der gemessene Helligkeitswert in Fhem rein. Über ein Notify wird entschieden, was mit dem Wert gemacht werden soll. Als Beispiel wird jetzt hier eine der RGB-LEDs leuchten, wenn ein gewisser Wert vom LDR unter- oder überschritten wird. Genauso kann natürlich alles andere geschaltet werden, beispielsweise eine Außenbeleuchtung ein- oder ausgeschaltet werden. Mit diesem Baustein, welcher schließlich nur noch 5 V benötigt, kann praktisch überall angebracht werden. Voraussetzung ist natürlich eine stabile Verbindung zum WLAN.

Weitere Anwendungs-Beispiele:
Mit dem Abfall-Plugin (siehe Blog-Beitrag)  kann beispielsweise eine der RGB-LED leuchten, wann die Mülltonnen herausgestellt werden. Ich habe das bei meinem Bilderrahmen (-> siehe meinen Blog-Beitrag) so gelöst: gelbe LED – Müllabfuhr kommt morgen, rote LED Müllabfuhr kommt heute.

Mit dem Benzin-Plugin (-> eingebaut im Tablet-UI) kann man den günstigsten Tank-Zeitpunkt erkennen, gelb Preis ok, grün – jetzt Tanken gehen, Tagestiefstpreis.

Mit dem Taster kann man den Amazon-Dash-Button nachbauen: Taste gedrückt – Aktion wird Fhem gemeldet und führt dann weitere Aktionen aus. Vielleicht eine Türklingel? Nein, dafür finde ich den Chip zu schade.
Hier zum Spielen mal ein Snippet, Taste gedrückt, LED leuchtet blau:

define WittyBoard_taste notify WittyBoard:Taster.* {\
system ("wget -q -O - 'http://192.168.178.45/control?cmd=GPIO,13,0'");;\
if ( (ReadingsVal("WittyBoard", "Taster", "0")) == 1.00 ){\
system ("wget -q -O - 'http://192.168.178.45/control?cmd=GPIO,13,1'");;\
}\
else\
{\
system ("wget -q -O - 'http://192.168.178.45/control?cmd=GPIO,13,0'");;\
}\
}

Weitere Ideen? Ab in den Kommentaren damit!

Dieser Beitrag wurde unter Fhem-Hausautomation, Hardware abgelegt und mit verschlagwortet. Setze ein Lesezeichen auf den Permalink.

9 Antworten zu Fhem: Witty-Board, einfache IoT-Funktionen schnell gebaut

  1. Pingback: WLAN-Thermometer – …

  2. Robin sagt:

    Hallo Carsten,

    ich habe es mit dem Reader mal versucht: https://blog.moneybag.de/rfid-rfid-rc552-modul-am-arduino-uno-angeschlossen-fuer-mifare-rfid-karten/
    Klappt mit MQTT, jedoch habe ich dort nicht weiter gemacht, da kein Anwendungszweck.

    LG
    /robin

  3. Carsten sagt:

    Hallo Robin,
    Hast Du schon mal versucht einen RFID Reader über das Witty Board zu betreiben?
    Ich versuche gerade verzweifelt das hinzubekommen. Ich habe den PN532, den ESPEasy auch unterstützt. Leider habe ich im LOG dauerhaft nen Read-Error. Die Tags habe ich erfolgreich über nen Raspberry PI mit dem gleichen PN532 beschrieben. Tags und Reader funktionieren also. Jetzt würde ich natürlich gerne wifimäßig über das Wittyboard den Reader nutzen. Falls Du das schon mal gemacht hast, wäre es toll, wenn Du mir die Konfiguration vom Board und die Verkabelung zeigen könntest.
    Gruß Carsten

  4. Pingback: ESPEASY-Firmware Version R140 (RC3) als Image erschienen | Robins Blog – Technik und Multimedia

  5. Andre sagt:

    Hallo
    Bei kommen in fhem leider keine readings an
    Vielleicht Protokol falsch eingestellt ?
    Mqtt funktioniert andere Sachen laufen

  6. Robin sagt:

    wird bald bei ebay auch in Deutschland zu kaufen sein, wahrscheinlich gleicher Preis oder teurer. Das Ding beobachte ich seit November. Und wenn man das macht, wofür es gedacht ist, ist es ganz praktisch. Ansonsten den NodeMCU nehmen.

  7. Sascha sagt:

    *grins* so eilig isses nicht 😉 Mir gings drum dass das Ding spannend ist, aber scheinbar so neu dass man es nirgends finden kann?!

  8. Robin sagt:

    bei mir z.B. ich habe noch ein OVP rumliegen, kannst du für 11,50 inkl. Versand haben. Hast du dann morgen im Briefkasten und ich hab nix mehr zu basteln.

    Robin

  9. Sascha sagt:

    Und wo finde ich das Teil – ausserhalb von Aliexpress?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.