ESP8266: Unterschied zwischen den Versionen

Aus Wiki - FabLab Lübeck e.V.
 
(4 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt)
Zeile 1: Zeile 1:
<div class="mw-parser-output">
{{Baustelle}}
{{Baustelle}}
{| class="wikitable"  cellpadding="2" cellspacing="1" id="Vorlage_Infobox_Workshop" style="margin: 0 0 0.4em 1em; width: 308px; float:right;"  
 
{| class="wikitable" id="Vorlage_Infobox_Workshop" style="margin: 0 0 0.4em 1em; width: 308px; float:right" cellspacing="1" cellpadding="2"
|-
! colspan="2" style="background-color:#b30000; color:#ffffff; font-size:1.5em" | ESP8266
|-
! colspan="2" | [[File:{{{Foto|nopicture.png}}}|frameless|300px]]
|-
|-
! colspan="2" style="background-color:#b30000;color:#ffffff;font-size:1.5em;" | ESP8266
| Hersteller:
|-
| Espressif
|-
|-
!colspan="2" | [[Datei:{{{Foto|nopicture.png}}}|rahmenlos|300px]]
| Herstellerseite:
|-
| [https://espressif.com/ https://espressif.com/]
 
|-
|-
| Hersteller: || Espressif
| Kosten:
|-  
| 2 - 5 €
 
|-
|-
| Herstellerseite:|| [https://espressif.com/| https://espressif.com/
! colspan="2" | Software
|-
 
|-
| Kosten:  ||  2 - 5 €
|-
|-
|-
!colspan="2" | Software
| colspan="2" |  
|-  
*[[/images/0/07/Flash_download_tools_v3.4.2_win.zip|Flash_download_tools_v3.4.2_win.zip]]
*[[/images/b/b7/ESPlorer.zip|ESPlorer v0.2.0-rc6]]
*[[Arduino|Arduino IDE]]
*für die Arduino IDE [https://github.com/esp8266/Arduino [1]]


|-
|-
|colspan="2" |
! colspan="2" | Links
* [[Medium:Flash_download_tools_v3.4.2_win.zip| Flash_download_tools_v3.4.2_win.zip]]
* [[Medium:ESPlorer.zip| ESPlorer v0.2.0-rc6]]
* [[Arduino| Arduino IDE]]
* für die Arduino IDE [https://github.com/esp8266/Arduino] 
|-
 
|-
|-
!colspan="2" | Links
| colspan="2" |  
|-  
*[http://www.espressif.com/en/support/download/other-tools/ http://www.espressif.com/en/support/download/other-tools]
*[https://esp8266.ru/esplorer/ https://esp8266.ru/esplorer/]
*[http://iot-bits.com/ http://iot-bits.com/]
*[http://www.esp8266.com/wiki/ http://www.esp8266.com/wiki/]
*[https://www.itead.cc/wiki/ESP8266_Serial_WIFI_Modul https://www.itead.cc/wiki/ESP8266_Serial_WIFI_Module]


|-
|-
|colspan="2" |
! colspan="2" | Features:
* [http://www.espressif.com/en/support/download/other-tools/ http://www.espressif.com/en/support/download/other-tools]
* [https://esp8266.ru/esplorer/  https://esp8266.ru/esplorer/ ]
* [http://iot-bits.com/ http://iot-bits.com/ ]
* [http://www.esp8266.com/wiki/ http://www.esp8266.com/wiki/ ]
* [https://www.itead.cc/wiki/ESP8266_Serial_WIFI_Modul https://www.itead.cc/wiki/ESP8266_Serial_WIFI_Module]
|-
|-
|-
!colspan="2" | Features:
| colspan="2" |  
|-
*802.11 b/g/n  
|-
*Wi-Fi Direct (P2P), soft-AP  
|colspan="2" |
*Integrated TCP/IP protocol stack  
* 802.11 b/g/n  
*Integrated TR switch, balun, LNA, power amplifier and matching network  
* Wi-Fi Direct (P2P), soft-AP
*Integrated PLL, regulators, and power management units  
* Integrated TCP/IP protocol stack
*+19.5dBm output power in 802.11b mode  
* Integrated TR switch, balun, LNA, power amplifier and matching network
*Integrated temperature sensor  
* Integrated PLL, regulators, and power management units
*Integrated low power 32-bit CPU could be used as application processor  
* +19.5dBm output power in 802.11b mode
*SDIO 2.0, SPI, UART  
* Integrated temperature sensor
*STBC, 1×1 MIMO, 2×1 MIMO  
* Integrated low power 32-bit CPU could be used as application processor
*Wake up and transmit packets in < 2ms  
* SDIO 2.0, SPI, UART
*Standby power consumption of < 1.0mW (DTIM3)  
* STBC, 1×1 MIMO, 2×1 MIMO
*VC: 3,3V '''(Achtung nicht 5V Tolerant)'''  
* 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=
= 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.
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|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.
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.
Zeile 74: Zeile 65:
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.
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.'''
'''Wichtig ist, dass der ESP8266 mit 3V betrieben wird – nicht 5V.''' '''Eine Stromversorgung direkt über USB ohne Spannungsteiler o.ä. ist somit nicht möglich.'''
'''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.
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 =
= 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


==Vorbereitung zum Flashen des ESP8266 Moduls==
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
 
== Vorbereitung zum Flashen des ESP8266 Moduls ==


Zum Flashen des ESP8266 werden folgende Dinge benötigt:
Zum Flashen des ESP8266 werden folgende Dinge benötigt:
* ESPtool.py (benötigt Python in der Version 2.7.8)
* NODE MCU Firmware (oben in der Infobox)
* ESPlorer.jar benötigtJava ab Version 8.0 (wird zum Flashen nicht unbedingt benötigt)


*ESPtool.py (benötigt Python in der Version 2.7.8)
*NODE MCU Firmware (oben in der Infobox)
*ESPlorer.jar benötigtJava ab Version 8.0 (wird zum Flashen nicht unbedingt benötigt)


Zuerst wird Python in der Version 2.7.X installiert eine Anleitung gibt es [[Python installieren | hier]].
Zuerst wird Python in der Version 2.7.X installiert eine Anleitung gibt es [[Python_installieren|hier]]. Zusätzlich wird jetzt das esptool.py installiert, womit der Controller geflasht werden kann.
Zusätzlich wird jetzt das esptool.py installiert, womit der Controller geflasht werden kann.


In der Kommandozeile (Start -> CMD) wird das Pythonscript '''pip.py''' ausgeführt, welches im Installationsverzeichnis in dem Ordner Scripts befinden sollte.  
In der Kommandozeile (Start -> CMD) wird das Pythonscript '''pip.py''' ausgeführt, welches im Installationsverzeichnis in dem Ordner Scripts befinden sollte. In diesem Beispiel im Ordner '''C:\Python27\scripts\'''
In diesem Beispiel im Ordner '''C:\Python27\scripts\'''


In der Kommandozeile wird somit folgender Befehl eingegeben.
In der Kommandozeile wird somit folgender Befehl eingegeben.
<pre>
<pre>cd c:\Python27\scripts
cd c:\Python27\scripts
pip install esptool
pip install esptool
</pre>
</pre>


Zum Programmieren benötigen wir das Programm ESPlorer, welches oben in der Infobox verlinkt ist. Das Programm muß lediglich heruntergeladen und entpackt werden. Allerdings setzt ESPlorer eine Java Installation voraus, eine Anleitung gibt es [[Java installieren | hier]].
Zum Programmieren benötigen wir das Programm ESPlorer, welches oben in der Infobox verlinkt ist. Das Programm muß lediglich heruntergeladen und entpackt werden. Allerdings setzt ESPlorer eine Java Installation voraus, eine Anleitung gibt es [[Java_installieren|hier]].


==Flashen des ESP8266 Moduls==
== Flashen des ESP8266 Moduls ==


Geflasht wird hier mit der Konsole (CMD) und dem Pythonscript ESPtool.
Geflasht wird hier mit der Konsole (CMD) und dem Pythonscript ESPtool.
Zeile 113: Zeile 102:


esptool.py --port <COM-Port> --baud<Baudrate> write_flash -fm dio -fs 32m 0x00000 <FirmwareFile>
esptool.py --port <COM-Port> --baud<Baudrate> write_flash -fm dio -fs 32m 0x00000 <FirmwareFile>
<pre>  
<pre>  
cd c:\Python27\scripts
cd c:\Python27\scripts
Zeile 120: Zeile 108:


'''Wenn die Firmware sich nicht im selben Ordner wie das Programm ESPtool.py befindet, muss der Dateipfad mit angegeben werden.'''
'''Wenn die Firmware sich nicht im selben Ordner wie das Programm ESPtool.py befindet, muss der Dateipfad mit angegeben werden.'''
 
===Flashspeicher löschen===
=== Flashspeicher löschen ===


Der Flashspeicher kann auch wieder gelöscht werden mit dem Befehl:
Der Flashspeicher kann auch wieder gelöscht werden mit dem Befehl:


esptool.py --port <COM-Port> --baud<Baudrate> erase_flash  
esptool.py --port <COM-Port> --baud<Baudrate> erase_flash
 
<pre>  
<pre>  
cd c:\Python27\scripts
cd c:\Python27\scripts
Zeile 132: Zeile 119:
</pre>
</pre>


==== Node MCU Firmware 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).
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 [https://www.java.com/de/ Java] noch installieren.
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 [https://www.java.com/de/ Java] noch installieren.


Bevor ihr das Programm startet solltet ihr den ESP8266 Controller über das USB Kabel dem Computer verbinden.
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:
Wenn ihr alles richtig gemacht habt, öffnet sich nach einem Doppelklick auf '''ESPlorer.jar''' die Benutzeroberfläche: {{ScreenshotfckLR | Foto = ESPlorer v0.2.0-rc5 by 4refr0nt.pngfckLR | Bildunterschrift = BenutzeroberflächefckLR | height =fckLR | width= 1000pxfckLR}}
{{Screenshot
| Foto = ESPlorer v0.2.0-rc5 by 4refr0nt.png
| Bildunterschrift = Benutzeroberfläche
| height =
| width= 1000px
}}


&nbsp;


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''. {{ScreenshotfckLR | Foto = ESPlorer v0.2.0-rc5 by 4refr0nt.pngfckLR | Bildunterschrift = COM-Port auswählen und Verbindung herstellenfckLR | height =fckLR | width= 500pxfckLR}}


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''.
Die Software versucht nun einen Verbindung zum Controller herzustellen. {{ScreenshotfckLR | Foto = ESPlorer v0.2.0-rc5 by 4refr0nt.pngfckLR | Bildunterschrift = VerbindungsaufbaufckLR | height =fckLR | width= 500pxfckLR}}
{{Screenshot
| Foto = ESPlorer v0.2.0-rc5 by 4refr0nt.png
| Bildunterschrift = COM-Port auswählen und Verbindung herstellen
| height =
| width= 500px
}}


Die Software versucht nun einen Verbindung zum Controller herzustellen.
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.
{{Screenshot
| Foto = ESPlorer v0.2.0-rc5 by 4refr0nt.png
| Bildunterschrift = Verbindungsaufbau
| height =
| width= 500px
}}
 
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'''


'''Geht bald weiter'''
= Erstellen einer eigenen Firmware mit der Arduino IDE =


=Erstellen einer eigenen Firmware mit der Arduino IDE=
Vorausgesetzt wird eine aktuelle installierte Arduino IDE. Ein Anleitung gibt es [[Arduino|hier]].
Vorausgesetzt wird eine aktuelle installierte Arduino IDE. Ein Anleitung gibt es [[Arduino|hier]].


[https://github.com/esp8266/Arduino https://github.com/esp8266/Arduino]
[https://github.com/esp8266/Arduino https://github.com/esp8266/Arduino]


&nbsp;


=Tutorial=
= Tutorial =
==Lektion 1 - ESP8266 als Accesspoint==
<pre>


== Lektion 1 - ESP8266 als Accesspoint ==
<pre>#include <ESP8266WiFi.h>
#include <WiFiClient.h>


/* Set these to your desired credentials. */
const char *ssid = "ESP_AccessPoint";
const char *password = "Start1234";


void setup() {
Serial.begin(115200);
  delay(10);
 
  Serial.println("");
  Serial.println("Access Point wird gestartet:");
  WiFi.softAP(ssid, password);
  while (WiFi.status()&nbsp;!= WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("Acces Point ist Online");
  Serial.println("SSID: ");
  Serial.println(WiFi.SSID());
  Serial.println("Password: ");
  Serial.println(*password);
  Serial.println("");
  Serial.println("IP address: ");
  Serial.println(WiFi.softAPIP());
  Serial.println("SubnetMask: ");
  Serial.println(WiFi.subnetMask());
}
void loop() {
}
</pre>
</pre>


== Lektion 2 - ESP8266 als Client ==


==Lektion 2 - ESP8266 als Client==
Beispiel:
 
<pre>#include <ESP8266WiFi.h>
<pre>
#include <ESP8266WiFi.h>


const char* ssid    = "DiMAC_2017";
const char* ssid    = "Heimnetzwerk_SSID";
const char* password = "DiMAC_2017";
const char* password = "DasGeheimePasswort";




Zeile 204: Zeile 204:
   WiFi.begin(ssid, password);
   WiFi.begin(ssid, password);
    
    
   while (WiFi.status() != WL_CONNECTED) {
   while (WiFi.status()&nbsp;!= WL_CONNECTED) {
     delay(500);
     delay(500);
     Serial.print(".");
     Serial.print(".");
   }
   }
   Serial.println("");
   Serial.println("");
   Serial.println("WiFi connected");   
   Serial.println("WiFi connected");   
Zeile 221: Zeile 220:
</pre>
</pre>


=Linkliste=
= Linkliste =
[https://alexbloggt.com/ https://alexbloggt.com/] <br>
 
[http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family Übersicht der ESP8266 Module]
[https://alexbloggt.com/ https://alexbloggt.com/]<br/> [http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family Übersicht der ESP8266 Module]
</div>
[[Category:Seiten mit defekten Dateilinks]]
 
&nbsp;
 
[[Category:Tutorials]]

Aktuelle Version vom 28. Oktober 2018, 18:33 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

Vorbereitung zum Flashen des ESP8266 Moduls

Zum Flashen des ESP8266 werden folgende Dinge benötigt:

  • ESPtool.py (benötigt Python in der Version 2.7.8)
  • NODE MCU Firmware (oben in der Infobox)
  • ESPlorer.jar benötigtJava ab Version 8.0 (wird zum Flashen nicht unbedingt benötigt)

Zuerst wird Python in der Version 2.7.X installiert eine Anleitung gibt es hier. Zusätzlich wird jetzt das esptool.py installiert, womit der Controller geflasht werden kann.

In der Kommandozeile (Start -> CMD) wird das Pythonscript pip.py ausgeführt, welches im Installationsverzeichnis in dem Ordner Scripts befinden sollte. In diesem Beispiel im Ordner C:\Python27\scripts\

In der Kommandozeile wird somit folgender Befehl eingegeben.

cd c:\Python27\scripts
pip install esptool

Zum Programmieren benötigen wir das Programm ESPlorer, welches oben in der Infobox verlinkt ist. Das Programm muß lediglich heruntergeladen und entpackt werden. Allerdings setzt ESPlorer eine Java Installation voraus, eine Anleitung gibt es hier.

Flashen des ESP8266 Moduls

Geflasht wird hier mit der Konsole (CMD) und dem Pythonscript ESPtool.

Mit dem Befehl:

esptool.py --port <COM-Port> --baud<Baudrate> write_flash -fm dio -fs 32m 0x00000 <FirmwareFile>

 
cd c:\Python27\scripts
esptool.py --port COM7 --baud 115200 write_flash -fm dio -fs 32m 0x00000 nodemcu_float_0.9.6-dev_20150704.bin

Wenn die Firmware sich nicht im selben Ordner wie das Programm ESPtool.py befindet, muss der Dateipfad mit angegeben werden.

Flashspeicher löschen

Der Flashspeicher kann auch wieder gelöscht werden mit dem Befehl:

esptool.py --port <COM-Port> --baud<Baudrate> erase_flash

 
cd c:\Python27\scripts
esptool.py --port COM7 --baud 115200 erase_flash 

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: Vorlage:ScreenshotfckLR

 

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. Vorlage:ScreenshotfckLR

Die Software versucht nun einen Verbindung zum Controller herzustellen. Vorlage:ScreenshotfckLR

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

 

Tutorial

Lektion 1 - ESP8266 als Accesspoint

#include <ESP8266WiFi.h>
#include <WiFiClient.h> 

/* Set these to your desired credentials. */
const char *ssid = "ESP_AccessPoint";
const char *password = "Start1234";

void setup() {
	Serial.begin(115200);
  delay(10);
  
  Serial.println("");
  Serial.println("Access Point wird gestartet:");
  WiFi.softAP(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }

  Serial.println("Acces Point ist Online");
  Serial.println("SSID: ");
  Serial.println(WiFi.SSID());
  Serial.println("Password: ");
  Serial.println(*password);
  Serial.println(""); 
  Serial.println("IP address: ");
  Serial.println(WiFi.softAPIP());
  Serial.println("SubnetMask: ");
  Serial.println(WiFi.subnetMask());


}

void loop() {
	
}

Lektion 2 - ESP8266 als Client

Beispiel:

#include <ESP8266WiFi.h>

const char* ssid     = "Heimnetzwerk_SSID";
const char* password = "DasGeheimePasswort";


void setup() {
  // Serielle Schnittstelle initialisieren 
  Serial.begin(115200);
  delay(10);

  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);
  
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("WiFi connected");  
  Serial.println("IP address: ");
  Serial.println(WiFi.localIP());
  Serial.println("SubnetMask: ");
  Serial.println(WiFi.subnetMask());
}

void loop() {
}

Linkliste

https://alexbloggt.com/
Übersicht der ESP8266 Module