ESP8266: Unterschied zwischen den Versionen

Aus Wiki - FabLab Lübeck e.V.
Zeile 141: Zeile 141:
Python ist nun fertig installiert.
Python ist nun fertig installiert.


==== Java installieren ====  
==== Java installieren ====
 
 
 
==== ESP8266 Python-Scripte installieren ====
 
==== Esplorer herunterladen ====  
==== Esplorer herunterladen ====  
==== Node MCU Firmware herunterladen ====  
==== Node MCU Firmware herunterladen ====  

Version vom 17. November 2016, 15:25 Uhr

Baustelle-100px.png Work in Progress:
Diese Seite wird erst noch aufgebaut. Bitte noch keine Änderungen vornehmen, ohne mit dem ursprünglichen Autor zu sprechen!
Vielen Dank.
ESP8266
Nopicture.png
Hersteller: Espressif
Herstellerseite: https://espressif.com/
Kosten: 2 - 5 €
Software
Links
Features:
  • 802.11 b/g/n
  • Wi-Fi Direct (P2P), soft-AP
  • Integrated TCP/IP protocol stack
  • Integrated TR switch, balun, LNA, power amplifier and matching network
  • Integrated PLL, regulators, and power management units
  • +19.5dBm output power in 802.11b mode
  • Integrated temperature sensor
  • Integrated low power 32-bit CPU could be used as application processor
  • SDIO 2.0, SPI, UART
  • STBC, 1×1 MIMO, 2×1 MIMO
  • Wake up and transmit packets in < 2ms
  • Standby power consumption of < 1.0mW (DTIM3)
  • VC: 3,3V (Achtung nicht 5V Tolerant)

Was ist ein ESP8266

Der ESP8266 ist ein WLAN-SoC (System-on-a-Chip), also ein WiFi-Modul, das sich selbstständig nutzen und programmieren lässt. Daher kann der ESP8266 auch unabhängig von z.B. einem Arduino verwendet werden, da man eigene Programme darauf laden kann.

Mittlerweile gibt sehr viele Ausführungen. Der ESP8266 Chip ist überall identisch, die Boards unterscheiden sich jedoch an der der Anzahl der nutzbaren GPIOs (Anschluss-Pins). Einen Überblick über gängige Module findet ihr hier.

Für den ESP8266 gibt es auch ein Entwicklungsboard mit dem Namen „NodeMCU“, das über einen integrierten USB-to-UART-Adapter verfügt, und somit direkt programmiert werden kann. Für alle anderen Modelle benötigt man zusätzlich einen USB-to-UART-Adapter (z.B. FT232 oder CP2102), wenn man nicht über eine serielle Schnittstelle programmieren möchte.

Der Controller wird mit einem Takt von 80MHz getaktet und ist somit anderen Mikrocontrollern z.b. dem Arduinos, die mit 8 bzw. 16 MHz laufen, weit überlegen.

Wichtig ist, dass der ESP8266 mit 3V betrieben wird – nicht 5V. Eine Stromversorgung direkt über USB ohne Spannungsteiler o.ä. ist somit nicht möglich.

Wer analoge Eingänge (Licht-, Temperatur-, Drucksensoren) betreiben möchte, sollte bei der Auswahl der Module aufpassen, da nicht jedes Modell über diese Eingänge verfügt. Ebenfalls unterscheiden sich die Modell hinsichtlich ihrer Speicherkapazität die von 0,5MB bis 4MB reicht.

ESP8266 programmieren

Bei der Programmierung des ESP8266 gibt es mehrere Möglichkeiten.

  • Nutzung einer bestehenden Firmware die Microphyton- oder LUA Scripte entgegennimmt und ausführt oder
  • Erstellen einer eigenen Firmware z.B. über die Arduino IDE

Flashen des ESP8266 Moduls

Python 2.7.X installieren

Zuerst müssen wir die Programmiersprache Python (https://www.python.org/downloads) in der Version 2.7.X herunterladen und installieren.

Python download.png
Python download 2.7.x

Als Zielverzeichnis das voreingestellt C:\Python27\ auswählen.

Umgebungsvariablen anpassen

Damit die Python-Scripte (*.py), später die Python Umgebung zum starten finden, müssen die Umgebungsvariablen von Windows angepasst werden. Unter Systemsteuerung -> System und Sicherheit -> System -> Erweiterte Systemeinstellungen

Python Systemeinstellungen.png
Erweiterte Systemeinstellungen

Umgebungsvariablen:

Python Umgebungsvariablen.png
Umgebungsvariablen

Die Variable Path wird nun der Programmordner von Python (C:\Python) angehängt, getrennt mit einem Semikolon.

Python Systemvariable.png
Systemvariable bearbeiten

Anschließende die Fenster mit OK schließen.

Nun kann über die Kommandozeile Start -> cmd getestet werden ob Python und die Umgebungsvariablen erfolgreich konfiguriert wurden. mit python<enter> sollte folgendes Fenter erscheinen.

Python Komandozeile.png
Systemvariable bearbeiten

Mit exit() oder STRG+X kann Python wieder verlassen werden. Python ist nun fertig installiert.

Java installieren

ESP8266 Python-Scripte installieren

Esplorer herunterladen

Node MCU Firmware herunterladen

Eine in Java geschriebene und damit plattformunabhängige IDE zum Erstellen und Übertragen der Lua-Scripte ist unter dem Namen ESPlorer kostenlos erhältlich (Java erforderlich). Die Datei ist oben in der Infobox verlinkt. Die heruntergeladene .zip-Datei entpackt ihr nun und startet ESPlorer.jar. Unter Windows sollte dazu ein Doppelklick auf die entsprechende Datei reichen. Wenn Windows nach einen Programm zum öffnen der Datei fragt, müsst ihr Java noch installieren.

Bevor ihr das Programm startet solltet ihr den ESP8266 Controller über das USB Kabel dem Computer verbinden.

Wenn ihr alles richtig gemacht habt, öffnet sich nach einem Doppelklick auf ESPlorer.jar die Benutzeroberfläche:

ESPlorer v0.2.0-rc5 by 4refr0nt.png
Benutzeroberfläche


Wählt nun im rechten Fenster (EditorFenster) oben in der Dropdownliste den seriellen Port eures Controllers aus und stellt anschließend als Übertragungsgeschwindigkeit 11520 ein. Klickt anschließend auf Open.

ESPlorer v0.2.0-rc5 by 4refr0nt.png
COM-Port auswählen und Verbindung herstellen

Die Software versucht nun einen Verbindung zum Controller herzustellen.

ESPlorer v0.2.0-rc5 by 4refr0nt.png
Verbindungsaufbau

Da das Controller schon läuft und aktuell keine Daten vom Board über die serielle Schnittstelle an den PC gesendet werden, kann in dem Fenster nichts angezeigt werden. Also müssen wir den Resetknopf auf dem Board kurz drücken, um einen Neustart zu erzwingen. Nach dem Neustart sollte eine "Got answer!" Nachricht in dem Fenster erscheinen. Unter dieser Nachricht sollte im Klartext zu sehen sein, welche Firmware installiert ist.


Geht bald weiter

Erstellen einer eigenen Firmware mit der Arduino IDE

Vorausgesetzt wird eine aktuelle installierte Arduino IDE. Ein Anleitung gibt es hier.

https://github.com/esp8266/Arduino

Linkliste

Übersicht der ESP8266 Module