16
Martin Mohr Heimautomation mit dem WLAN-Chip Projektbuch Das ESP8266-

Das ESP8266- Projektbuch · seiner langjährigen Erfahrung im Bereich der Elektronik erklärt der Autor unter anderem, wie man eine eigene Wetterstation baut oder die lästige Bewässerung

  • Upload
    lamlien

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Das ESP8266- Projektbuch · seiner langjährigen Erfahrung im Bereich der Elektronik erklärt der Autor unter anderem, wie man eine eigene Wetterstation baut oder die lästige Bewässerung

Martin Mohr

Heimautomation mit dem WLAN-Chip

ProjektbuchDas ESP8266-

€ 24,90 (D) € 25,60 (A)

Das ESP8266-ProjektbuchHeimautomation mit dem WLAN-Chip

Infos und Updates finden Sie unter:www.entwickler-press.de/ESP8266

Mikrocontroller, Heimauto mation, Internet of Things

Martin Mohr

Mo

hr

Da

s ES

P82

66-P

roje

ktb

uc

h

168-4

Mit integrierter WLAN-Schnittstelle und zugleich günstig in der Anschaffung bietet der Mikro-controller ESP8266 eine Vielzahl von Anwendungsmöglichkeiten für das Internet der Dinge und die Heimautomation. Dieses Buch liefert einen praxisnahen Einstieg in die vielfältige Welt des ESP8266 und seine Entwicklungsumgebung, die auf der Arduino IDE basiert.

Den Kern des Werks bilden fünf Projekte mit unterschiedlichem Schwierigkeitsgrad, die zeigen, wie der ESP8266 für IoT- oder Smart-Home-Projekte eingesetzt werden kann. Basierend auf seiner langjährigen Erfahrung im Bereich der Elektronik erklärt der Autor unter anderem, wie man eine eigene Wetterstation baut oder die lästige Bewässerung des Gartens dem Controller überlässt. Will man sich selbst oder seinen Kindern dann auch noch eine Freude machen, wird der automatisierte Adventskalender für eine wundervolle Festtagsstimmung sorgen.

Das Buch ist dabei leicht verständlich geschrieben und möchte Sie dazu anregen, die Projekte nicht einfach nur nachzubauen, sondern sie Ihren Bedürfnissen entsprechend anzupassen und zu erweitern.

ZielgruppeDieses Buch richtet sich an Leser, die eine Faszination für Elektronik und IoT mitbringen und gerne anhand von Praxisbeispielen den Umgang mit dem ESP8266-Mikrocontroller erlernen wollen. Ein Grundverständnis der Elektronik sowie Kenntnisse in der Programmiersprache C sollten vorhanden sein, um ein erfolgreiches Umsetzen der Projekte garantieren zu können.

Der AutorMartin Mohr erblickte im Zeitalter der Magnetringkernspeicher und Hebdrehwähler das Licht der Welt und hat somit die komplette Entwicklung der modernen Computertechnik live miterleben dürfen. Die Vorliebe für alles, was blinkt, hat sich schon in seiner frühen Jugend entwickelt und wurde durch eine Ausbildung zum Elektroniker noch verstärkt. Nach dem Informatikstudium lag sein Beschäftigungsfeld überwiegend in der Entwicklung von Java-Applikationen. Mit den modernen Mikrocontrollern wie dem ESP8266 ist seine alte Liebe zur Elektronik wieder erwacht.

Page 2: Das ESP8266- Projektbuch · seiner langjährigen Erfahrung im Bereich der Elektronik erklärt der Autor unter anderem, wie man eine eigene Wetterstation baut oder die lästige Bewässerung
Page 3: Das ESP8266- Projektbuch · seiner langjährigen Erfahrung im Bereich der Elektronik erklärt der Autor unter anderem, wie man eine eigene Wetterstation baut oder die lästige Bewässerung

Martin Mohr

Das ESP8266-Projektbuch Heimautomation mit dem WLAN-Chip

Page 4: Das ESP8266- Projektbuch · seiner langjährigen Erfahrung im Bereich der Elektronik erklärt der Autor unter anderem, wie man eine eigene Wetterstation baut oder die lästige Bewässerung

Martin MohrDas ESP8266-Projektbuch. Heimautomation mit dem WLAN-Chip

ISBN: 978-3-86802-355-8

© 2016 entwickler.pressEin Imprint der Software & Support Media GmbH

Bibliografische Information Der Deutschen BibliothekDie Deutsche Bibliothek verzeichnet diese Publikation in der DeutschenNationalbibliografie; detaillierte bibliografische Daten sind im Internetüber http://dnb.ddb.de abrufbar.

Ihr Kontakt zum Verlag und Lektorat:Software & Support Media GmbHentwickler.pressSchwedlerstraße 860314 Frankfurt am MainTel.: +49 (0)69 630089-0Fax: +49 (0)69 [email protected]://www.entwickler-press.de

Lektorat/Korrektorat: Björn Bohn, Martina RaschkeCopy-Editor: Nicole BechtelSatz: Dominique KalbassiUmschlaggestaltung: Maria RudiTitelbild: © ryan burke | istockphoto.comBelichtung, Druck und Bindung: Media-Print Informationstechnologie GmbH, Paderborn

Alle Rechte, auch für Übersetzungen, sind vorbehalten. Reproduktion jegli-cher Art (Fotokopie, Nachdruck, Mikrofilm, Erfassung auf elektronischenDatenträgern oder anderen Verfahren) nur mit schriftlicher Genehmigungdes Verlags. Jegliche Haftung für die Richtigkeit des gesamten Werks kann,trotz sorgfältiger Prüfung durch Autor und Verlag, nicht übernommen wer-den. Die im Buch genannten Produkte, Warenzeichen und Firmennamensind in der Regel durch deren Inhaber geschützt.

Page 5: Das ESP8266- Projektbuch · seiner langjährigen Erfahrung im Bereich der Elektronik erklärt der Autor unter anderem, wie man eine eigene Wetterstation baut oder die lästige Bewässerung

5Das ESP8266-Projektbuch

Inhaltsverzeichnis

Vorwort 9

1 Einleitung 11

1.1 Hinweise 11

1.2 Steckbrief des ESP8266 12

1.3 Testgelände 13

1.4 Hardware 13

1.5 Installation der Arduino IDE 19

1.6 Upload und Start 23

2 Projekte 27

2.1 Briefkastensensor 27

2.1.1 Einleitung 27

2.1.2 Funktionsbeschreibung 28

2.1.3 Schaltpläne 28

2.1.4 Programme 33

2.1.5 Resümee 36

2.1.6 Weiterführende Informationen 37

2.2 Wetterstation 37

2.2.1 Einleitung 38

2.2.2 Funktionsbeschreibung 38

2.2.3 Schaltplan 40

2.2.4 Datenbank 40

2.2.5 Web Service 42

2.2.6 Programm 47

2.2.7 Auswertung der Daten 52

2.2.8 Visualisieren mit LibreOffice 53

Page 6: Das ESP8266- Projektbuch · seiner langjährigen Erfahrung im Bereich der Elektronik erklärt der Autor unter anderem, wie man eine eigene Wetterstation baut oder die lästige Bewässerung

Inhaltsverzeichnis

6

2.2.9 Resümee 58

2.2.10 Weiterführende Informationen 58

2.3 Gartenbewässerung 59

2.3.1 Einleitung 59

2.3.2 Funktionsbeschreibung 60

2.3.3 Schaltplan 61

2.3.4 Feuchtesensor 64

2.3.5 Programm 64

2.3.6 Resümee 73

2.3.7 Weiterführende Informationen 74

2.4 Philips Hue 74

2.4.1 Einleitung 74

2.4.2 Philips Hue 75

2.4.3 Die Smartbridge 75

2.4.4 ESP-Schaltplan 79

2.4.5 Programm 81

2.4.6 Resümee 85

2.4.7 Weiterführendes 85

2.5 Adventskalender 86

2.5.1 Einleitung 86

2.5.2 Funktionsbeschreibung 87

2.5.3 Schaltpläne 90

2.5.4 Programme 95

2.5.5 Resümee 99

2.5.6 Weiterführende Informationen 100

3 Basiswissen 101

3.1 Die ESP-Familie 101

3.1.1 Technische Daten des ESP8266 102

3.1.2 ESP8266 vs. Atmel 103

3.1.3 ESP8266-WLAN 104

3.1.4 Der ESP8266-Energiesparmodus 107

Page 7: Das ESP8266- Projektbuch · seiner langjährigen Erfahrung im Bereich der Elektronik erklärt der Autor unter anderem, wie man eine eigene Wetterstation baut oder die lästige Bewässerung

Inhaltsverzeichnis

7Das ESP8266-Projektbuch

3.2 I²C 109

3.3 SPI 110

3.4 Hilfsmittel zum Testen 112

3.4.1 DS138 Minioszilloskop 112

3.4.2 Raspberry Pi 113

3.5 MariaDB 114

3.6 HeidiSQL 115

4 Bauteile und Module 117

4.1 Steckplatine 117

4.2 ESP8266 Version 12 119

4.3 USB-nach-Seriell-Adapter 120

4.4 Spannungsregler MCP1700 121

4.5 Optokoppler PC817 122

4.6 Infrarotbewegungssensor HC-SR501 124

4.7 Transistor BC547B 125

4.8 Transistor BUZ11 126

4.9 Servomotor SG90 Mini 9g 127

4.10 Luftfeuchtigkeits- und Temperatursensor AM2321 130

4.11 Helligkeitssensor BH1750 132

4.12 Luftdrucksensor BMP180 134

4.13 I²C-Bodenfeuchtesensor 136

4.14 PWM-Modul PCA9685 138

4.15 Magnetventil 141

4.16 Philips Hue 142

4.17 PCF8574 143

4.18 CD4543 145

4.19 Buzzer 146

Stichwortverzeichnis 147

Page 8: Das ESP8266- Projektbuch · seiner langjährigen Erfahrung im Bereich der Elektronik erklärt der Autor unter anderem, wie man eine eigene Wetterstation baut oder die lästige Bewässerung
Page 9: Das ESP8266- Projektbuch · seiner langjährigen Erfahrung im Bereich der Elektronik erklärt der Autor unter anderem, wie man eine eigene Wetterstation baut oder die lästige Bewässerung

9Das ESP8266-Projektbuch

Vorwort

Schön, dass Sie sich für das ESP8266-Projektbuch entschieden haben. Wie der Name schon erahnen lässt, beschäftigt sich dieses Buch mit der Umsetzung von interessanten Projekten rund um den ESP8266-Mikro-controller. Das Buch ist so aufgebaut, dass Sie direkt in die Projekte ein-steigen können. Der Aufbau der einzelnen Kapitel ist immer gleich, um Ihnen so einen schnellen Überblick über den Inhalt zu verschaffen. Es gibt stets eine kurze Einleitung in das jeweilige Projekt, eine Übersicht der nötigen Grundlagen, geschätzter Zeitaufwand, die groben Kosten und der Schwierigkeitsgrad.

Das Buch ist wie folgt gegliedert:

Kapitel 1 beinhaltet eine kurze Einleitung und beschreibt, wie man sich eine funktionierende Entwicklungsumgebung für den ESP8266 aufbau-en kann.

In Kapitel  2 werden verschiedene Projekte vorgestellt. Unter anderem finden Sie eine Gartenbewässerung für Ihren persönlichen Dschungel, mit der Sie Zeit und Geld sparen können. Mit dem Projekt über die Phi-lips Hue schlagen wir die Brücke zur professionellen Hausautomation. Für die besinnliche Weihnachtszeit bauen wir einen schönen Adventska-lender für unsere Lieben.

Alle wichtigen Grundlagen zu unseren Projekten werden in Kapitel  3 behandelt. Nicht für jedes Projekt sind immer alle Grundlagen relevant. So kann der Leser selbst entscheiden, welchen Teilaspekt er vertiefen möchte und welchen nicht. Die Informationen in Kapitel  3 gehen weit über das hinaus, was für die Projekte in Kapitel  2 an Wissen nötig ist. Dieses Buch möchte nicht nur als Vorlage zum Nachbauen dienen, son-dern den Leser in die Lage versetzen, eigene interessante Projekte mit dem ESP8266 zu entwickeln.

Page 10: Das ESP8266- Projektbuch · seiner langjährigen Erfahrung im Bereich der Elektronik erklärt der Autor unter anderem, wie man eine eigene Wetterstation baut oder die lästige Bewässerung

Vorwort

10

Zu guter Letzt werden in Kapitel  4 alle Bauteile, die in den Projekten ver-wendet wurden, noch einmal einzeln und detailliert beschrieben. Diese Informationen sind wichtig, wenn man eigene Projekte realisieren möch-te. In Kapitel 4 finden sich noch einige zusätzliche Bauelemente, die zwar nicht in den Projekten eingesetzt wurden, aber für eigene Entwicklungen sehr interessant sein können.

Der Quellcode aller Beispielprogramme sowie die Schaltpläne können unter www.entwickler-press.de/ESP8266 heruntergeladen werden.

An dieser Stelle möchte ich allen denjenigen meinen Dank aussprechen, die mich beim Schreiben dieses Buches unterstützt haben. Tobias Gall und Gernod Lenz danke ich für die wertvollen Hinweise. Nicht zu ver-gessen Martina Raschke vom Lektorat des Verlags. Die Initialzündung für dieses Buch ist in einem der vielen interessanten Gespräche mit Tom Wießeckel entstanden.

Ein besonderer Dank geht an meine Frau, die mich in dieser sehr stressi-gen Zeit unterstützt hat.

Page 11: Das ESP8266- Projektbuch · seiner langjährigen Erfahrung im Bereich der Elektronik erklärt der Autor unter anderem, wie man eine eigene Wetterstation baut oder die lästige Bewässerung

11Das ESP8266-Projektbuch

1 Einleitung

1.1 HinweiseAn dieser Stelle einige Hinweise, die ich vorab ansprechen möchte. Das Wichtigste sind die Grundbedürfnisse unseres Körpers, denn schließlich ist unser Überleben im Bastelkeller zu sichern.

1. Es ist immer dafür zu sorgen, dass genügend koffeinhaltige Getränke vorhanden sind.

2. Die Notrufnummer des Pizzaboten muss gut sichtbar neben dem Te-lefon hängen.

So, nun Spaß bei Seite: Der wichtigste Punkt ist die Sicherheit, um Ihr Heim, Ihre Gesundheit und die Ihrer Lieben zu schützen. Da in der heu-tigen Zeit die Elektrizität allgegenwärtig ist, sollte man zumindest die wichtigsten Grundregeln im Umgang mit ihr kennen und beherzigen. Finger weg von der Netzspannung! Es soll Leute geben, die nur ein leichtes Kribbeln spüren, wenn sie an die Netzspannung greifen. Das ist aber eher die Ausnahme. Üblicherweise liegt es daran, dass diese Perso-nen eine sehr dicke Hornhaut an den Fingern haben. Wenn Sie nicht zu dieser reptilienähnlichen Gattung Mensch gehören, sollten Sie es sich immer gut überlegen, bevor Sie etwas anfassen. Um die Sicherheit bei der Durchführung der Projekte zu gewährleisten, sind alle so aufgebaut, dass man sie mit Netzteilen betreiben kann. Bei der Wahl des Netzteils ist natürlich darauf zu achten, dass keine Teile zugänglich sind, die Netz-spannung führen. Solange Sie wie hier beschrieben arbeiten, kann nichts schief gehen.

Die zweite große Gefahrenquelle ist der Lötkolben. Seine Spitze wird verdammt heiß. Genauer gesagt: Bis zu 450° C. Daher rate ich Ihnen, darauf zu achten, sie nicht zu berühren. Passiert es einem dennoch, wird man diese Erfahrung kein zweites Mal machen wollen. Alle Arbeiten rund ums Löten sollten auf einer nicht brennbaren Arbeitsfläche (z. B.

Page 12: Das ESP8266- Projektbuch · seiner langjährigen Erfahrung im Bereich der Elektronik erklärt der Autor unter anderem, wie man eine eigene Wetterstation baut oder die lästige Bewässerung

12

1 – Einleitung

Glas) erfolgen. Was schon weniger Menschen wissen: Lötzinn ist ziem-lich schädlich für den menschlichen Körper. Es beinhaltet normalerwei-se recht viel Blei, ein Schwermetall, das Vergiftungen hervorruft. Das ist leider noch nicht alles. Sehen wir uns das Flussmittel innerhalb des Lötzinns an. Es ist beim Verschlucken hochgiftig. Nun fragt man sich: Wer würde freiwillig Flussmittel schlucken? Das Flussmittel hat die un-angenehme Eigenschaft zu spritzen. Nach einer Lötsession können Sie davon ausgehen, Blei und Flussmittelreste an den Fingern zu haben. Von dort kommen die Schadstoffe dann leicht auf das kalte Stück Pizza von gestern. Den Rest können Sie sich sicher selbst ausmalen. Ich vertrete die Meinung, dass Lebensmittel generell nichts in der Nähe des Lötkolbens verloren haben. Sie sollten immer ein Stückchen vom Ort des Gesche-hens entfernt stehen, wenn Sie Ihr Essen unbedenklich genießen wollen. Es ist vermutlich auch höchst unangenehm, ein abgeknipstes Transis-torbeinchen quer im Hals stecken zu haben. So, das soll es jetzt aber ge-wesen sein, mit dem erhobenen Zeigefinger. Wir wollen ja interessante Projekte verwirklichen und keine Arbeitssicherheitsschulung machen.

Das Internet ist eine sich schnell verändernde Angelegenheit. Dieses sollten Sie immer im Hinterkopf haben, wenn Sie einem der in diesem Buch abgedruckten Links folgen. Die Links haben bei Drucklegung alle einwandfrei funktioniert. Es ist nun einmal ein bekanntes Problem, dass sie sich ohne Vorwarnung ändern können. Sollten Sie auf einen toten Link in diesen Buch stoßen, ergoogeln Sie sich bitte die Quelle neu.

1.2 Steckbrief des ESP8266Der ESP8266 ist ein Mikrocontroller, der seinen Konkurrenten gegenüber einen entscheidenden Vorteil hat: Bei ihm ist eine WLAN-Schnittstelle schon ab Werk mit verbaut. Das bekommt man so bei keinem anderen Mi-krocontroller in dieser Preisklasse geboten. Der Fairness halber muss man zugeben, dass der ESP8266 nicht wirklich viele GPIOs (general purpose input/output) hat, und auch der eine analoge Eingang ist eher dünn. Da-für hat er allerdings I²C- und SPI-Schnittstellen an Bord, um seinen Funk-tionsumfang, falls nötig, zu erweitern. Der Hersteller hat sich natürlich etwas dabei gedacht, als er diesen Mikrocontroller so entworfen hat. Pri-mär ist er dazu konzipiert, beliebige elektronische Komponenten an das

Page 13: Das ESP8266- Projektbuch · seiner langjährigen Erfahrung im Bereich der Elektronik erklärt der Autor unter anderem, wie man eine eigene Wetterstation baut oder die lästige Bewässerung

Testgelände

13Das ESP8266-Projektbuch

WLAN anzubinden. Durch seinen Aufbau und auch seine geringe Größe ist er für viele verschiedene Anwendungsfälle geeignet. Das Internet of Things ist derzeit in aller Munde, hier kann der ESP8266 sowohl als Cli-ent wie auch als Server alle Trümpfe ausspielen. Zusätzlich hat er ausge-klügelte Energiesparfunktionen, die sogar einen Batteriebetrieb ermögli-chen. Seine vorhandenen GPIOs reichen für die meisten Anwendungen, die man sich im Bereich IoT und auch Hausautomation vorstellen kann, vollkommen aus. Nicht zu vergessen ist seine beachtliche CPU-Leistung, mit der er auch komplexere Probleme lösen kann. Und natürlich ist sein bastlerfreundlicher Preis von unter 4 Euro ein dicker Pluspunkt.

1.3 TestgeländeUm die Projekte in diesem Buch realisieren zu können, benötigen wir eine Entwicklungsumgebung (IDE = Integrated Development Environ-ment). Was liegt näher, als sich für eine IDE zu entscheiden, die schon auf die Bedürfnisse des Mikrocontrollerprogrammierers zugeschnitten ist? Die Arduino IDE bietet uns genau das, was wir brauchen. Sie ist zur Entwicklung von Programmen für Mikrocontroller konzipiert worden, leicht zu bedienen und hat ein spezielles Plug-in für den ESP8266 an Bord. Man kann die Software kostenfrei für alle üblichen Betriebssyste-me von der Homepage des Arduino-Projekts herunterladen. Natürlich ist auch für das allseits beliebte und betriebssichere Linux eine 32/64-Bit-Version vorhanden.

1.4 HardwareDamit wir überprüfen können, ob das Installieren und Einrichten der Software fehlerfrei verlaufen ist, bauen wir uns eine Testhardware zu-sammen. Es ist zwar nicht besonders anspruchsvoll, eine LED blinken zu lassen, aber es reicht, um die grundlegende Kommunikation zwischen PC und ESP8266 zu testen. Das Testprogramm zeigt uns auch gleich, wie man über die USB-Schnittstelle Debuginformationen vom ESP8266 an die Arduino IDE senden kann. Für den Testaufbau benötigen wir die in Tabelle 1.1 aufgeführten Bauteile.

Page 14: Das ESP8266- Projektbuch · seiner langjährigen Erfahrung im Bereich der Elektronik erklärt der Autor unter anderem, wie man eine eigene Wetterstation baut oder die lästige Bewässerung

14

1 – Einleitung

Hardware Weiterführende Informationen

1 Steckplatine1 ESP8266 Version 12E1 USB-nach-Seriell-Adapter1 Spannungsregler MCP17004 Widerstände 10 Kiloohm1 Widerstand 82 Ohm1 LED 5 mm2 Kondensatoren 0,1 µF1 Micro-DIP-Schalter („Mäuseklavier“)einige Zentimeter Draht aus einem alten Netzwerkkabel1 altes USB-Kabel als Zuleitung für die Betriebsspannung1 Taster

Kapitel 4.1Kapitel 4.2Kapitel 4.3Kapitel 4.4

Tabelle 1.1: Bauteilliste für die Testhardware

Auf dem Schaltplan (Abbildung 1.2) ist zu sehen, wie alle Komponenten miteinander verbunden werden müssen. Damit Sie eine Vorstellung be-kommen, wie ein solcher Aufbau aussehen kann, werfen Sie bitte einen Blick auf Abbildung 1.1. Es ist kein großer Aufwand, mit einer Steckpla-tine eine Testhardware für den ESP8266 aufbauen.

Abbildung 1.1: Die Testumgebung auf einer Steckplatine

Page 15: Das ESP8266- Projektbuch · seiner langjährigen Erfahrung im Bereich der Elektronik erklärt der Autor unter anderem, wie man eine eigene Wetterstation baut oder die lästige Bewässerung

Hardware

15Das ESP8266-Projektbuch

Abbildung 1.2: Der Schaltplan zur Testumgebung

Page 16: Das ESP8266- Projektbuch · seiner langjährigen Erfahrung im Bereich der Elektronik erklärt der Autor unter anderem, wie man eine eigene Wetterstation baut oder die lästige Bewässerung

16

1 – Einleitung

Der ESP8266 hat leider ein etwas kleineres Rastermaß als die Steckpla-tine. Es gibt zwei Möglichkeiten, dieses Problem zu lösen. Die erste ist, dass wir uns einfach im Internet einen schicken Adapter für unseren Mikrocontroller bestellen (Abbildung 1.3). Bei diesen Adaptern muss man allerdings etwas aufpassen, da sie schon mit einigen Widerständen bestückt sind. Man sollte auf jeden Fall überprüfen, ob die schon vorhan-dene Bestückung für das eigene Projekt sinnvoll ist.

Abbildung 1.3: Adapter, um den ESP8266 in die Steckplatine stecken zu können

Die zweite, etwas kostengünstigere Lösung ist, sich aus Leitungsresten selbst einen Adapter zu basteln. Das ist gar nicht so schwer, wie es sich zuerst anhört.

Schritt 1: Einige Zentimeter Leitung unter leichtem Zug glätten.

Schritt 2: Den Kupferkern von der Isolierung trennen.

Schritt 3: Ca. 3 cm lange Kupferstücke schneiden, die Isolierung in ca. 1 cm lange Stücke schneiden.

Schritt 4: Die Kupferstücke möglichst gerade an den ESP8266 löten. Es hilft, das andere Ende in eine alte Steckplatine (Achtung, es kann beim Löten Schaden nehmen, wenn es zu heiß wird!) zu stecken.

Schritt 5: Die Isolierung wieder über das Kupfer schieben.