Einstieg in das Internet der Dinge

Stephan Strittmatter
Smart Home - Do it Yourself
4 min readJul 14, 2018

Einfacher Einstieg und ein paar Projekte für das eigene Smart Home

In dieser Serie möchte ich meine ersten Erfahrungen teilen, wie ich ein paar Dinge im Haus „smarter“ gemacht habe und schlussendlich auch eine Steuerung für die Solarheizung eines Pools zusammengestellt habe.

Über Feedback und Verbesserungsvorschläge freue ich mich.

Schon lange hat es mich als Softwareentwickler gejuckt: endlich einmal etwas mit Hardwaresteuerung programmieren. Lange Zeit war dies sehr kostspielig und kompliziert. Doch Raspberry Pi und Arduino haben eine neue Ära eingeläutet. Bereits mit einer GPIO-Schnittstelle ausgestattet, können relativ einfach Sensoren, Aktoren und Motoren angesteuert werden.

Der Raspberry Pi ist dabei schon sehr leistungsstark und kann mit einem Linux-Betriebssystem (unter anderem) betrieben werden. Die Arduinos sind da rudimentärer.

Ich bin jedoch nicht durch die Arduinos an das Thema heran gekommen, sondern dank eines Kollegen durch den sehr preiswerten Microcontroller ESP8266, der ursprünglich als WLAN-Erweiterung für die Arduinos gedacht war. Dieser ist jedoch so leistungsstark, dass er auch autark genutzt werden kann – mit WLAN-Konnektivität onboard.

ESP-Microcontroller

Der ESP ist ein kleiner programmierbarer Microcomputer, welchen es auch auf einem bequemen Entwicklerboard gibt. Dieses Board kann man dann direkt in Steckboards verdrahten. Zudem haben diese Entwicklerboards mit einem mini USB-Anschluss direkte Verbindungsmöglichkeit, um Programme zu installieren. Dafür sind die Entwicklerboards im Gegensatz zum nackten Microcontroller allerdings etwas teurer und größer.

Breadboard mit ESP8266 und 433MHz-Funksender

Der ESP8266 und sein leistungsstärkerer Nachfolger ESP32 sind ideale Controller mit GPIO-Schnittstellen für IoT-Projekte. Das wird man im Verlauf der Projekte in dieser Serie auch sehen können.

Programmiert werden die handlichen Prozessoren überwiegend in C oder Lua. Viele der existierenden Bibliotheken sind in C geschrieben und können in vielen Fällen auch aus Arduino-Projekten genutzt werden. Mit der Arduino IDE ist auch der Einstieg in die Programmierung für jemand, der schon Programmieren kann, relativ einfach. Ich vermisse eigentlich nur die Autovervollständigen-Funktion anderer IDEs, die bekannte Methoden vorschlagen.

Der Programmcode, den man selbst erstellt, beschränkt sich meist auf wenige Zeilen und für die meisten Problemstellung findet man im Internet entsprechende Lösungsansätze.

MQTT für den Nachrichtenaustausch

Als Basis für den Nachrichtenaustausch zwischen den Modulen kommt im Bereich von “Internet der Dinge” (IoT) meist MQTT zum Einsatz. Auch in meinen Projekten ist es Basis für den asynchronen Austausch der Messdaten und Kommandos über das WLAN.

Als Broker, der die Nachrichten verwaltet und verteilt, kommt bei mir der leichtgewichtige Dienst Mosquitto zum Einsatz.

Eclipse Mosquitto is an open source (EPL/EDL licensed) message broker that implements the MQTT protocol versions 3.1 and 3.1.1. Mosquitto is lightweight and is suitable for use on all devices from low power single board computers to full servers.

– mosquito.org

Hardware-Grundausstattung

Um in das Thema IoT und die Programmierung der ESP-Module einsteigen zu können, ist ein gewisses Grundset an Elektronikbauteilen notwendig:

In Summe bekommt man das alles für rund 100 €.

Entwicklungsumgebung

Für die Hardware und der dazu passenden Software benötigt man eine entsprechende Umgebung.

Im folgenden ein mögliches Set. Ich gehe dabei auf mein konkretes Set ein, es gibt da sicher noch viele weitere gute Möglichkeiten. Aber ich denke für den Start ist eine konkrete und funktionierende Umgebung sinnvoller bevor man viele Alternativen betrachtet.

Hardware: Breadboard

Für das Erstellen von Prototypen und deren elektronischen Schaltungen bieten sich Steckboards an. Auf diesen können mit Steckdrähten sehr einfach Schaltungen zusammengesteckt werden. Die Entwicklungsboards der ESPs passen genau auf diese Steckboards.

ESP8622 oder ESP32?

Für den Einstieg in die Programmierung ist es prinzipiell erst einmal egal, welchen ESP man verwendet. Der ESP32 ist das neuere und leistungsfähigere Modell. Allerdings sind nicht alle Bibliotheken mit diesem kompatibel. Anfangs ist es sinnvoll, sich zunächst für einen Modelltyp zu entscheiden. Denn sie haben auch unterschiedliche Pin-Belegungen und das kann schnell verwirrend sein.

NodeMCU ESP8266 Entwickler-Board

Ich habe mit dem ESP8622 angefangen und erst bei Stromsparfunktionen (Deep Sleep) mit dem ESP32 begonnen zu arbeiten.

Im kommenden Artikel werden wir die Entwicklungsumgebung einrichten und mit einem ESP8266 ein IoT „Hello World“ entwickeln: das WLAN-Thermometer.

--

--