WeMOS IoT-Device

Auf der Seite ESP8266 SoC habe ich beschrieben, dass es hier einen sehr günstigen und interessanten Chip für den Einsatz in Bastelprojekten gibt. Mit NodeMCU gibt es sogar eine alternative Firmware, um die Programmierung in LUA durchzuführen. Mittlerweile gibt es aber sogar Module, um mit der Arduino-IDE Code von der Arduino-Plattform teilweise unverändert einfach auf dem ESP8266 betreiben zu können. Die Firma WeMos in China bietet sehr günstig mit dem "D1 Mini" ein kleines Board und einzelne Shields an. Mit dem "D1 R2" gibt es ein größeres Boards, welches das Arduino-Layout hat und damit Shields für diese Plattform direkt nutzen kann.

D1 Mini Board

Ich finde das "D1 Mini"-Board erst mal am interessantesten, da es sehr klein ist und dennoch alles enthält, was für den Einsatz in einem kleinen IoT-Projekt benötigt wird. Es kommt vorbestückt und wer die mitgelieferten Stiftleisten auflötet, kann es direkt in einem Steckbrett verwenden:

Die Stromversorgung erfolgt über einen Micro-USB-Anschluss, der zugleich als serielle Schnittstelle im PC zur Programmierung genutzt werden kann. Ein interner Spannungsregler erzeugt aus den 5V die erforderlichen 3,3 Volt. Die Pins sind schön sauber beschriftet. Wie üblich haben einige Pins mehrere Funktionen.

Beschreibung Arduino Pin  Bild Pin  Arduino Beschreibung

Reset

RST

RST

Tx

Tx

Seriell Senden

Analog 0 (max. 3,2V!)

A0

A0

Rx

Rx

Seriell Empfangen

Digital 0

GPIO16

D0

D1

GPIO5

Digital 1, SCL

Digital 5, SCK

GPIO14

D5

D2

GPIO4

Digital 2, SDA

Digital 6, MISO

GPIO12

D6

D3

GPIO0

Digital 3, 10k Pull-up

Digital 7, MOSI

GPIO13

D7

D4

GPIO2

Digital 4, 10k Pull-up, BUILTIN_LED

Digital 8, 10k Pull-down, SS

GPIO15

D8

G

GND

Ground

Spannungsversorgung
Wird durch den Spannungsregler erzeugt

3V3

3V3

5V

5V

5V Spannung

Achtung: Alle Pins sind 3,3 Volt.

Für erste Tests und Spielereien können Sie einfach mal die Digitalpins auf Masse ziehen und so den Status eines Schalters auswerten.

Shields

Die Shields kommen als vorbestückte Platinen. Sie müssen nur noch die ebenfalls mitgelieferten Pfostenstecker und Buchsen anlöten. So haben Sie selbst die Wahl, ob sie sich für einen Prototyp einen "Stack" bauen, eine Variante für ein Breadboard oder platzsparend direkt die Kabel in den Ösen einlösen. Jedes Modul nutzt andere Ports, so dass ein "Stacking" unterschiedlicher Module problemlos möglich ist.

Modul Port Preis Strombedarf Beschreibung

Relais

D1

2 US$

70mA

Das Modul ist "sehr hoch", so dass es in der Regel das "oberste" Modul ist. Ich versuche immer den ESP8266 oben zu haben, um damit dann die LED als für Statusmeldungen zu verwenden.

DHT Pro Shield

D4

5 US$

10mA

Auf Basis des bekannten Sensors DHT22, den es vorinstalliert auf einem Shield gibt, können Sie einfach Temperatur und Luftfeuchtigkeit messen.

Es gibt noch eine billigere Version auf Basis des DHT11  (2 Grad Genauigkeit) für 2 US$ 

Taster

D3

1 US$

0mA 

Das ist ein sehr einfaches Shield, welches mit einem Taster einfach den Pin "D3" auf Masse zieht. Es ist für erste Experimente ausreichend.

Es gibt von Wemos auch noch Leerplatinen zum schnellen Aufbau von eigenen Schaltungen im gleichen Format und sogar ein OLED-Shield durch Anzeige von Informationen. Eine einfaches RGB-LED-Shield gibt es aber nicht, Hier sind Sie dann doch selbst gefordert, um eine RGB-LED mit drei Vorwiderständen aufzulöten und über 3 Digitalports anzusteuern. Helligkeiten gibt es dann natürlich nur über eine entsprechende Taktung der Ausgänge.

WIFI Witty / Gizwits ESP-12F Modul

Von einer anderen Chinesischen Quelle gibt es ein Boards, welches ähnlich ist. Es ist aber von Hause aus schon mit einem Helligkeitssensor und einer RGB-LED versehen. Der "Unterbau" ist der Programmieradapter in Form eines USB/RS232-Module, der aber später im Betrieb abgenommen werden kann. Ein zweiter USB-Anschluss auf dem oberen Board liefert dann nur noch die Stromversorgung.

Die folgenden Anschlüsse sind dabei in Benutzung: LDR = A0; ROT = 15; GRÜN= 12; BLAU = 13; TASTER= 4. Das Board ist für erste Schritte beim basteln interessant, da man schon ohne jegliche Löt-Arbeiten z.B. die Helligkeit messen und drei LEDs ansteuern kann und mit 3,20 US$ kann man nicht viel kaputt machen.

Tasmota und Co

Sie müssen nicht in C oder Python programmieren. Schauen Sie sich vorab einmal die ESP8266/ESP32 3rd Party Firmware an. Tasmota, ESPEasy, ESPurna und andere haben viele Probleme schon gelöst. Insbesondere Tasmota ist aus meiner Sicht sehr ausgereift und flexibel einzusetzen. Sie können Tasmota über Webinstaller (https://tasmota.github.io/install/) direkt aus dem Browser über USB auf das Gerät flashen und WLAN konfigurieren. Der Rest kann dann im Browser erfolgen. Wenn Sie die grundlegende Funktion einfach anhand der eingebauten LED an D4/GPIO2 testen wollen, dann stellen Sie in Tasmota unter "Configuration" das Modul auf "Generic (18)" und stellen D4 auf "Relay_i" und Nr "1" ein.

Danach sollte der Status den aktuellen Zustand der LED wiedergeben und ein Druck auf "Toggle" sollte nicht nur in der Webseite den Status ändern sondern auch die LED ein- und ausschalten.

Die gleiche Funktion erreichen Sie dann auch schon über das Netzwerk, z.B. per PowerShell. Durch Invoke-RestMethod wird nicht nur die Aktion ausgeführt, sondern auch die JSON-Antwort direkt verarbeitet

# Einsschalten aus der Ferne
(Invoke-Restmethod http://192.168.7.112/cm?cmnd=Power1%20On).power

# Ausschalten aus der Ferne
(Invoke-Restmethod http://192.168.7.112/cm?cmnd=Power1%20Off).power

# Status über REST-API abfragen
(Invoke-Restmethod http://192.168.7.112/cm?cmnd=Power1).power

Ideen

Ich habe auf anderen Seite schon die ein oder anderen Ideen beschrieben. Mit dem kompakten WeMos bzw. dem WifiWitty sind aber ein paar Projekte in die Nähe gerückt wie:

  • SmartMeter auslesen
    Wer einen Stromzähler mit "Blink-LED" oder sogar einem Smartmeter hat, kann allein durch eine Beschaltung mit einem Fototransistor die Daten auslesen und "in das Netz" pumpen. Das Projekt dazu ist auf Smartmeter D0/SML beschrieben.
  • Briefkastenmelder, Durchgangsmelder.
    Durch einen einfachen Schalter kann das Device eine Mail senden. Warum also zum leeren Briefkasten laufen.
  • Netatmo-Clone
    Kombiniert man einen WeMos mit dem passenden DHT22-Sensor, dann hat man für unter 10€ ein Internet-taugliches Thermometer und Hygrometer. Dann fehlt nur noch ein passendes Gehäuse. Allerdings muss man etwas aufpassen, damit die Abwärme des ESP8266 die Messung nicht verfälscht.
  • PRTG MiniProbe
    Ich könnte mir auch gut vorstellen, dass ein paar dieser Module auch problemlos als Client in einem WiFi eingebunden sein könnten, um diese einfach nur aus der Ferne "anzupingen" oder die Feldstärke zu messen. Quasi um eine Qualitätssicherung eines WiFi-Netzwerks zu erhalten. ESP hat wohl in ihrer IP-Firmware LwIP sogar einen NETIO-TCP-Server auf Port 18767 eingebaut. (http://www.esp8266.com/viewtopic.php?f=5&t=245).

Sicher haben Sie auch die ein oder andere Idee und bei der Menge an Optionen wünscht sich der ein oder andere Hausbesitzer doch mal eine Busleitung als Stromversorgung gelegt zu haben.

Weitere Links