-
Notifications
You must be signed in to change notification settings - Fork 20
Firmware einspielen
vorherige Seite: Bezugsquellen Einzelteile - nächste Seite: Zusammenbau der Komponenten (Schaltung)
Das Betriebssystem des Rechners, welches zum Übertragen ("flashen") des Sensors-Programms ("Firmware") auf den NodeMCU verwendet wird, benötigt einen Treiber / ein Modul um mit dem NodeMCU kommunizieren zu können. Der Rechner kommuniziert mit dem USB2Serial Chip, welcher auf der NodeMCU verbaut ist. Je nach Version des NodeMCU muss ein entsprechender Treiber installiert sein. Bei Linux Betriebssystemen ist in der Regel bereits ein passender Treiber vorhanden.
Wenn man die Version der vorliegenden NodeMCU nicht kennt, kann man sie umdrehen und nachschauen, ob da CP2102
oder CH340G
steht. Der Schriftzug ist alternativ auch (mit einer Lupe) auf einem der Chips auf dem NodeMCU zu finden.
CP210x USB TO UART Bridge Treiber
CH340G Bridge Treiber
- Treiberseite des Herstellers (chinesisch)
- Treiber für Mac oder für Sierrra siehe diese erfolgreich getesteten Instruktionen
- Treiber für Windows
- Treiber für Raspberry Pi
Nach der Installation der Treiber Rechner neu starten.
Bemerkung für MacOS 10.9 oder neuer: Wenn ein nicht-signierter Treiber installiert wird, muss dies in MacOS explizit erlaubt werden. Eine gute Beschreibung gibt es bei tzapu.com
Achtung: Für das Flashen (Aufspielen des Sensor-Programms) der NodeMCU ein USB-Kabel mit nicht mehr als 1m Länge benutzen.
Es werden im Folgenden zwei Varianten beschrieben, mit denen sich dir Firmware auf den NodeMCU übertragen lassen. Beide beginnen mit den gleichen Schritten:
- Arduino IDE downloaden und installieren.
- Erweiterung für ESP8266 nach Anleitung installieren.
- Arduino IDE beenden.
Fortsetzung siehe Variante...
Die Kommunikation zwischen Rechner und NodeMCU erfolgt über einen Anschluss ("Port"), welcher vom Betriebssystem unter einem bestimmten Namen angesprochen wird. Den Namen des Ports muss man wissen um die Software übertragen zu können.
Den passenden Port erfährt man zum Beispiel, indem man die NodeMCU am gewünschten Port anschließt und danach die Arduino IDE startet. Unter Werkzeuge → Port sind die verfügbaren Port zu sehen, meist ist recht einfach der Port mit der NodeMCU erkennbar. Einen Port auswählen und dann Werkzeuge → Boardinformationen holen ausführen. Ist der richtige Port gewählt, erscheinen Codes in der Statusleiste der IDE bei VID
und PID
. Die IDE danach wieder schließen, da sonst dieser Port blockiert ist.
- MAC: Beim
CP2102
wäre das auf der/dev/cu.SLAB_USBTOUART
, für denCH340G
ist es der Port/dev/cu.wchusbserialXXXXXXXX
. - Windows: Windows
COM3
. Wenn dies nicht der richtige ist, dann einfach den nächsten in der Liste auswählen. - Linux:
/dev/ttyUSB0
In dieser Anleitung werden die Schritte gezeigt, um mit der Arduino IDE die Firmware selber zu kompilieren zu übertragen.
- Arduino IDE starten (die IDE soll nach der Installation der Erweiterungen neu gestartet werden).
- Alle in der Readme.md aufgelisteten Bibliotheken installieren. Dabei auf die angegebenen Versionen achten.
- In der IDE unter Werkzeuge → Board: ... auswählen:
- NodeMCU 0.9 (ESP-12 Module) für NodeMCU v1
- NodeMCU 1.0 (ESP-12E Module) für NodeMCU v2 und v3
- Spätestens jetzt NodeMCU per USB-Kabel anschließen und den Port auswählen: Werkzeuge → Port.
- Quelltext in ein Verzeichnis auf dem Rechner kopieren. Den Quelltext bekommt man am einfachsten, in dem man das Repository klont oder das Repository als Archiv herunterlädt und entpackt. Alternativ können alle Dateien aus dem Quelltext-Verzeichnis einzeln in ein lokales Verzeichnis kopiert werden. Tipp: um den Code von einzelnen Dateien über das GitHub Webinterface besser zu kopieren jeweils auf RAW Button klicken
- Als nächstes das sogenannte Sketch (
INO
) Datei in der Arduino IDE öffnen. - Die Datei
ext_def.h
an die eigenen Anforderungen anpassen (WLAN-Einstellungen, Sensoren, wohin mit den Daten, ...) - NodeMCU flashen: Im Menü Sketch → Hochladen klicken.
In dieser Variante wird die Firmware per Kommandozeile hochgeladen. Die Arduino IDE muss trotzdem installiert sein.
- Download der fertig übersetzten Firmware
- Unter Windows die Kommandozeile, unter Linux/MacOS ein Terminal öffnen
- Bitte im folgenden Schritt beachten: Je nach Version der Arduino-IDE kann sich die Version des ESPTools unterscheiden. In unserem Beispiel war Version 0.4.12 aktuell. Gegebenenfalls muss dann im Pfad die Versionsnummer angepasst werden:
- Windows:
"%USERPROFILE%\AppData\Local\Arduino15\packages\esp8266\tools\esptool\0.4.12\esptool.exe" -vv -cd nodemcu -cb 57600 -ca 0x00000 -cp COM11 -cf "_Pfad_zur_heruntergeladenen_Firmwaredatei_"
(der Port hinter-cp
muss gegebenenfalls angepasst werden, die Anführungszeichen sollten mit eingegeben werden) - Linux/MacOS:
~/Library/Arduino15/packages/esp8266/tools/esptool/0.4.12/esptool -vv -cd nodemcu -cb 57600 -ca 0x00000 -cp /dev/cu.wchusbserial1410 -cf _Pfad_zur_heruntergeladenen_Firmwaredatei_
(der Port hinter-cp
muss gegebenenfalls angepasst werden). Eventuell muss man dies als root ausführen. Dann muss im Pfad~/
durch das Home-Verzeichnis ersetzt werden. Für Linux (MacOs ungetestet, evtl. mit Pfadanpassung) gibt es hier ein Skript, das auch die Konfiguration löschen kann (s.u.).
- Windows:
Über die Arduino IDE lässt sich die gespeicherte Konfiguration mit dem Plugin ESP8266 Sketch data upload löschen. Das Plugin nach Anleitung installieren. Beim Ausführen des Plugins kommt eine Meldung, dass das Daten-Verzeichnis leer ist, und ob man ein leeres SPIFFS Image hochladen möchte. Diese Meldung mit "Ja" beantworten. Der Upload der 3 MB kann dann etwas dauern. Wenn der Upload fertig ist, kann die NodeMCU neu gestartet werden.
Das Vorgehen entspricht Variante 2 des Firmware Einspielens. Als "Firmware"-Datei diese Datei herunterladen. Der Aufruf des esptool muss dann geändert werden bei -ca 0x00000
auf -ca 0x100000
und der Pfad zur "Firmware"-Datei auf den eben erfolgten Download. Implementiert in einem Skript hier zu finden.
In der Arduino IDE Werkzeuge → Serieller Montior aktivieren, damit man über USB Schnittstelle die aktuellen Daten lokal anschauen kann.
Nun kann überprüfen, ob es an einer Stelle zu Fehlern führt, z.B. NodeMCU kann sich nicht ins W-LAN einloggen, kann die Daten nicht hochladen, …
- Wiki home, EN
- Bezugsquellen Einzelteile, EN
- Firmware einspielen, EN
- Zusammenbau der Komponenten (Schaltung), EN
- Zusammenbau der Komponenten (Montage Einzelteile), EN
- Sensor-Konfiguration, EN
- Eintrag in der Datenbank, EN
- Links (Grafiken, Sensor-Infos), EN
- Translations
- Data format
- APIs, EN
- Anschluss weitere Sensoren und Hardware
- Senden an Sensor.Community (z.B. mit Raspberry Pi)
- NodeMCU Pinouts v2, v3
- Datenblätter, Spezifikationen
- Unterstützte Sensoren
- Studien
- ähnliche Projekte
- Korrektur Luftfeuchte, EN
- EN: How to use the SDS011 as a mobile sensor
- FR: Comment utiliser SDS011 comme capteur PM mobile
- 2020-04-0 Stadtbücherei - Weihnachtsferien
- 2020-04-0 Shackspace
- 2020-03-24 Stadtbücherei - Weihnachtsferien
- 2020-03-10 Shackspace
- 2020-02-23 Stadtbücherei
- 2020-02-09 Shackspace
- 2020-01-0 Stadtbücherei
- 2020-01-0 Shackspace
- 2019-12-24 Stadtbücherei - Weihnachtsferien
- 2019-12-10 Shackspace
- 2019-11-26 Stadtbücherei
- 2019-11-12 Shackspace
- 2019-10-22 Stadtbücherei
- 2019-10-08 Shackspace
- 2019-09-24 Stadtbücherei
- 2019-09-10 Shackspace
- 2019-09-24 Stadtbücherei
- 2019-09-10 Shackspace
- 2019-08-27 Stadtbücherei
- 2019-08-13 Shackspace - Sommerferien
- 2019-07-23 Stadtbücherei
- 2019-07-09 Shackspace
- 2019-06-25 Stadtbücherei
- 2019-06-11 Shackspace - Pfingstferien
- 2019-05-28 Stadtbücherei
- 2019-05-14 Shackspace
- 2019-04-23 Stadtbücherei - Osterferien
- 2019-04-09 Shackspace
- 2019-03-26 Stadtbücherei
- 2019-03-12 Shackspace
- 2019-02-26 Stadtbücherei
- 2019-02-12 Shackspace
- 2019-01-22 Stadtbücherei
- 2019-01-08 Shackspace
- 2018-12-18 Stadtbücherei - Weihnachtsferien
- 2018-12-11 Shackspace
- 2018-11-27 Stadtbücherei
- 2018-11-13 Shackspace
- 2018-10-23 Stadtbücherei
- 2018-10-09 Shackspace
- 2018-09-25 Stadtbücherei
- 2018-09-11 Shackspace
- 2018-08-28 Stadtbücherei
- 2018-08-14 Shackspace - Sommerpause
- 2018-07-24 Stadtbücherei
- 2018-07-10 Shackspace
- 2018-06-26 Stadtbücherei
- 2018-06-12 Shackspace
- 2018-05-22 Stadtbücherei
- 2018-05-08 Shackspace
- 2018-04-24 Stadtbücherei
- 2018-04-10 Shackspace
- 2018-03-27 Stadtbücherei
- 2018-03-13 Shackspace
- 2018-03-03 Open Data Day 2018
- 2018-02-27 Stadtbücherei
- 2018-02-13 Shackspace
- 2018-01-23 Stadtbücherei
- 2018-01-09 Shackspace
- 2017-12-26 Stadtbücherei
- 2017-12-12 Shackspace
- 2017-11-28 Stadtbücherei
- 2017-11-14 Shackspace
- 2017-10-24 Stadtbücherei
- 2017-10-10 Shackspace
- 2017-09-26 Stadtbücherei
- 2017-09-12 Shackspace
- 2017-08-22 Stadtbücherei
- 2017-08-08 Shackspace
- 2017-07-25 Stadtbücherei
- 2017-07-11 Shackspace
- 2017-06-27 Stadtbücherei
- 2017-06-13 Shackspace
- 2017-05-23 Stadtbücherei
- 2017-05-09 Shackspace
- 2017-04-25 Stadtbücherei
- 2017-04-11 Shackspace
- 2017-03-28 Stadtbücherei
- 2017-03-14 Shackspace
- 2017-03-04 Open Data Day 2017
- 2017-02-28 Stadtbücherei
- 2017-02-14 Shackspace
- 2017-01-24 Stadtbücherei
- 2017-01-10 Shackspace
- 2016-12-20 Stadtbücherei
- 2016-12-13 Shackspace
- 2016-11-22 Stadtbücherei
- 2016-11-08 Shackspace
- 2016-10-25 Stadtbücherei
- 2016-10-11 Shackspace
- 2016-09-27 Stadtbücherei
- 2016-09-13 Shackspace
- 2016-08-23 Stadtbücherei
- 2016-08-09 Shackspace
- 2016-07-26 Stadtbücherei
- 2016-07-12 Shackspace
for more, see Protokolle