Ergänzungs-Set WLAN
Diese Seite beschreibt ein Ergänzungs-Set des Universal Prototyping Kit mit Komponenten für Datenkommunikation per WLAN (oder WiFi), was auch als Internet-Of-Things (IOT) bezeichnet wird.
Ergänzungs-Set WLAN
Das Set basiert auf dem Baustein ESP8266, der (Stand 2015) noch nicht soo lange auf dem Markt verfügbar ist, aber innerhalb dieser kurzen Zeit eine enorme Verbreitung erfahren hat und sich einer ständig wachsenden fan-Gemeinde erfreut.
Der Grund dafür liegt einerseits in dem sehr niedrigen Preis, ein einfaches ESP8266-Breakout-Board ist bereits für unter 5,-EUR erhältlich, aber andererseits verfügt der Chip auch über beachtliche Leistungsreserven, zB. in punkto Flash-Speicher und Performance, was es erlaubt, in Anwendungen wo nicht viele Pins benötigt werden, auf einen weiteren Mikrocontroller wie Arduino zu verzichten, da dessen Aufgaben mit übernommen werden können. Gleichwohl ist er aber auch geeignet, um innerhalb einer Arduino-Anwendung eine Datenübertragung per WLAN gut und günstig zu ermöglichen.
Ausser dem ESP8266-Modul selbst enthält das Set noch ein paar Adapterplatinen, welche die Tool-Chain abrunden und ggflls. auch eine 3.3V-Stromversorgung bieten. Sie sind hilfreich zum Flashen der Firmware oder zum programmieren von LUA-Script-Anwendungen. Wobei letzteres schon darauf hinweist, das hier als Firmware "NodeMCU" favorisiert wird, eine Firmware, welche die Eingansg beschriebenen Features optimal ausnutzt, aber oftmals separat aufgespielt werden muss, da ESP8266-Module ab Hersteller meist mit einer anderen Firmware die auf den klassischen "AT-Befehlen" basiert, vorinstalliert sind.
Komponenten
ESP-01, ESP8266-Modul bzw. ESP8266-Breakout-Board
Es gibt eine Vielzahl von ESP8266-Modulen [1],
von denen wir das ESP-01-Modul bevorzugen, weil es mit Abstand das günstigste ist und andererseits für die meisten Anwendungsfälle ausreichend ist.
"Der ESP8266 ist ein Ultra-low-Power-32-Bit-Mikrocontroller der chinesischen Firma espressif. Der 32-Bit-Prozessorkern vom Typ Xtensa LX106 von Tensilica arbeitet mit einem Systemtakt von 80–160 MHz, hat 64 kB RAM als Befehlspeicher, in den mehrere MB Flash-Speicher eingeblendet werden können [1], sowie 96 kB RAM als Datenspeicher, eine SPI-Schnittstelle für Flash-Speichererweiterungen (bis zu 128 MBit) und integriertes WLAN IEEE 802.11 b/g/n. Der ESP8266 ermöglicht den Aufbau von stromsparenden WLAN-Sensoren für Anwendungen im Bereich Internet der Dinge.
Der Mikrocontroller ist auch zusammen mit einer Minimalbeschaltung aus Quarz und Flash-Speicher in Form verschiedener Module zum direkten Einsatz erhältlich. Je nach Modul sind bis zu 12 I/O-Ports, eine I²C-Schnittstelle, eine I²S-Schnittstelle, eine SPI-Schnittstelle, eine asynchrone serielle Schnittstelle und ein 10-bit Analog-Digital-Umsetzer herausgeführt. Alle I/Os werden mit 3,3 V betrieben und sind nicht 5 V-tolerant."
Firmware-Varianten:
1. Lua-basierte interaktive Programmierung (NodeMCU)
2. AT-Command für die Nutzung als Seriell-zu-WLAN-Schnittstelle (meist herstellerseitig vorinstalliert)
Adapterplatine für Bread-Boards
USB-Programmer und Flasher, FTDI-Adapter
Serial Adapter
Standalone-Sensor/Actor
Arduino-Mega Adapter
Arduino-Nano Adapter
Firmware NodeMCU flashen unter Windows
Für Alfred ;)
1. download von blank512k.bin von Github: https://raw.githubusercontent.com/iotcafe/nodemcu-firmware-lua5.3.0/master/pre_build/0.9.4/512k-flash/blank512k.bin
2. download der NodeMCU-Firmware von Github: https://github.com/nodemcu/nodemcu-firmware/releases/download/0.9.6-dev_20150704/nodemcu_float_0.9.6-dev_20150704.bin
3. download des flasher-Tools für Windows "NodeMCU-Flasher":
Für Windows32: https://github.com/nodemcu/nodemcu-flasher/raw/master/Win32/Release/ESP8266Flasher.exe
Für Windows64: https://github.com/nodemcu/nodemcu-flasher/raw/master/Win64/Release/ESP8266Flasher.exe
4. ESP-01 mit FTDI-Breakout-Board so verbinden, dass Pin GPIO0 mit GND verbunden ist, nach folgendem Schema:
http://randomnerdtutorials.com/flashing-nodemcu-firmware-on-the-esp8266-using-windows/
Die Verbindung mit GND versetzt das Board in den "Firmware-Aufspiel-Modus". (Das ist nicht zu verwechseln mit dem normalen Programmier-Modus, in dem man LUA-Scripte einspielt, da muss die GND-Verbindung wieder getrennt sein.)
Falls es Probleme gibt, empfiehlt sich ein Blick in den folgenden Trouble-Shooting-Guide: http://randomnerdtutorials.com/esp8266-troubleshooting-guide/
Achtung: bei Timeout-Problem siehe die Kommentare unter [2]
"The problem was that I was using a cheap USB-serial converter to power the module. The solution: I power the ESP module with an external 3.3V regulator but I have mantained the the Rx/TX connections of the USB/Serial with the ESP."
Wahrscheinlich ist die Stromversorgung des FTDI-Breakout-Boards zu schwach um das ESP-01-Modul mit zu versorgen, d.h., letzteres sollte separat mit 3.3V versorgt werden.
Ein FTDI-Breakout-Board mit ausreichender Stromversorgung ist erhältlich bei Watterott unter http://www.watterott.com/de/FTDI-Breakout-Reloaded-V11, ich habe es damit selbst getestet.
5. Aufspielen der Node-MCU-Firmware:
Für die Benutzung des NodeMCU-Flasher-Software siehe dessen GitHub-Repository, unter https://github.com/nodemcu/nodemcu-flasher .
Um den Speicher des ESP-01 völlig leer zu machen, muss als erstes die Datei "blank512k.bin" aufgespielt werden. Gleich danach wird die eigentliche Firmware-Datei "nodemcu_float_0.9.6-dev_20150704.bin" aufgespielt.
6. Damit ist des ESP-01 in betriebsbereitem Zustand und die alte AT-Firmware wurde durch die neue NodeMCU-Firmware ersetzt. Ab jetzt kann alles weitere, d.h., das aufspielen der eigentlichen Programme (auch "LUA-Scripte" genannt) mit einem Programm namens ESPlorer sehr bequem und komfortabel über USB-Kabel erfolgen, ähnlich wie man Sketche beim Arduino einspielt.
Den ESPlorer kann man hier downloaden: https://github.com/4refr0nt/ESPlorer
Ein Tutorial über die Benutzung der ESPlorer-IDE kann man hier als PDF downloaden:
Firmware NodeMCU flashen unter Linux
t.b.c. ...
Links
Referenz | Beschreibung |
---|---|
[3] | Anleitung zur ESP8266-Nutzung mit AT-Firmware |
[4] | ESP8266-Dossier auf Mikrocontroller.net |
[5] | Anleitung zum ESPlorer |
[6] | getting-Started-Tutorial (AT-Firmware) |
[7] | Tutorial zur Nutzung der Arduino-Entwicklungsumgebung |
[8] | Firmware unter Windows aufspielen mit NodeMCU-Flasher |
[9] | Firmware unter Windows aufspielen mit NodeMCU-Flasher, Troubleshooting |
[10] | instructables TempLogger mit ThingSpeak-Anbindung |