Der Mikrocontroller benötigt ein Programm
Damit die mit dem NodeMCU zusammengebauten Bauteile wie gewünscht funktionieren, muss dieser Mikrocontroller programmiert werden. Dazu nutzen wir in unseren Beispielen das Programm Arduino IDE, das auf dem PC bzw. Mac installiert werden muss. Im Folgenden wird erklärt, wie man dabei vorgeht.
Arduino IDE
IDE bedeutet hier: Integrated Development Environment. Damit ermöglicht es diese Software Programme zu editieren, zu speichern, zu compilieren (umwandeln in Maschinensprache) und auf unterschiedliche Boards (hier NodeMCU) zu laden. Daneben werden eine Vielzahl von fertigen Programmen für unterschiedliche Sensoren usw. in sogenannten Sketchbooks zur Verfügung gestellt.
Die neueste Version der Software kann man bei Arduino.cc herunterladen. Bei der Installation wird in der Regel ein Treiber mit installiert. Sollte der Port nicht angezeigt werden, muss ein Treiber entsprechend dem Betriebssystem des PCs heruntergeladen werden. Eine Möglichkeit zum Herunterladen haben wir bei Silicon Labs gefunden.
Boardverwalter
Man muss also in dieser Software das richtige Board unter Boardverwalter herunterladen und auswählen (hier ESP NodeMCU) und dazu die entsprechenden Bibliotheken (ESP8266) mit den fertigen Programmen, die man entsprechend seiner eigenen Daten (WiFiDaten z. B.) ändern kann.
Als Standard enthält Aduino IDE keine Schnittstelle für den NodeMCU. Daher muss ein spezieller Boardverwalter installiert werden. Dazu wird über das Menü von Arduino IDE >Datei >Voreinstellungen folgende URL für einen zusätzlichen Boardverwalter eingefügt:
http://arduino.esp8266.com/stable/package_esp8266com_index.json.
Dann wird über >Werkzeuge >Board >Boardverwalter den Boardverwalter esp8266 by ESP8266 Community installiert.
Jetzt kann über >Werkzeuge das genutzte Boad ausgewählt werden, d. h. für unsere Beispiele immer das NodeMCU 1.0 (ESP-12E Module). Das klappt allerdings nur, wenn das Board über USB an den PC/Mac angeschlossen ist.
Zur Sicherheit sollte jetzt auch noch geprüft werden, ob für den – über den USB-Anschluss mit dem PC/Mac verbundenen – NodeMCU ein Port vorhanden ist. Falls nicht, muss man den Treiber (s. o.) herunterladen.
Programme
Für jede Anwendung (z. B. für einen Sensor) wird ein Programm, Sketch genannt, benutzt. Darin sind die Einzelschritte der Anwendung beschrieben. Dieses Programm kann entweder hochgeladen oder selbst geschrieben (editiert) werden. Wir benutzen in unseren Beispielen fertige Programme, die nur wenig verändert werden müssen. Nach dem Editieren wird dieser Sketch dann kompiliert, d.h. in die Sprache des NodeMCU übersetzt, und schließlich durch das Programm Arduino IDE automatisch auf den NodeMCU hochgeladen. Dabei ist darauf zu achten, dass in Arduiono IDE das richtige Board und der richtige Port ausgewählt wurden.
Libraries
Für bestimmte Anwendungen und besonders für häufig genutzte Sensoren gibt es Bibliotheken mit fertigen Programmen (Libraries), die für den eigenen Gebrauch geringfügig abgeändert werden können. Sie vereinfachen den Aufwand für die Erstellung der Sketche stark. So fügt man z. B. für den von uns genutzten Temperatursensor DS18B20 eine Zeile mit #include <DallasTemperature.h> in den Sketch ein.
Diese Libraries muss man im Arduino IDE Programm über >Sketch >Bibliothek einbinden >Bibliothek verwalten installieren (der Name der Bibliothek – hier ist es Dallas Temperatur – kann dabei in das Suchfeld eingegeben werden).
Für unsere Beispiele benötigt man die folgenden Libraries:
- DallasTemperature
- DHT sensor library
- OneWire
- Blynk
- ThingSpeak
Serieller Monitor
Da die Mikrocontroller-Boards keinen Bildschirm (Monitor) besitzen, enthält Arduino IDE auch einen sogenannten Seriellen Monitor, auf dem mit Hilfe bestimmter Befehle im Programm z. B. der erfolgreiche Zugang zum WLAN und auch die von den Sensoren gesandten Daten angezeigt werden können.