Skip to content

Firmware einspielen

Rajko Zschiegner edited this page Feb 1, 2018 · 49 revisions

vorherige Seite: Bezugsquellen Einzelteile - nächste Seite: Zusammenbau der Komponenten (Schaltung)

USB2serial Treiber installieren

Unter dem genutzten Betriebssystem muss der Treiber/das Modul für den usb2serial Chip installiert sein, der auf dem nodemcu verbaut ist, sonst kann der Rechner nicht mit dem ESP8266 kommunizieren: flashen, debug output ansehen etc. ist dann nicht möglich. Der Chipsatz ist bei NodeMCUs normalerweise CH341: Treiberseite des Herstellers (chinesisch).

Firmware einspielen und Konfig löschen

Achtung: Für das Flashen der NodeMCU ein USB-Kabel mit nicht mehr als 1m Länge benutzen.

Variante 1:

  • Arduino IDE unter https://www.arduino.cc/en/Main/Software downloaden und installieren.

  • Erweiterung für ESP8266 installieren. Anleitung unter https://github.com/esp8266/Arduino.

  • In der IDE unter "Werkzeuge -> Board: ..." "NodeMCU 1.0 (ESP-12E Module)" auswählen.

  • Die bin-Dateien der zu installierenden Firmware-Version (aktuell: https://github.com/opendata-stuttgart/sensors-software/tree/master/airrohr-firmware) in ein Verzeichnis kopieren. Achtung, Github zeigt im Browser zunächst eine HTML-Version an, zuerst oben rechts über dem Sourcecode auf "Raw" klicken, dann das Ergebnis speichern.

  • Alle in der Readme.md aufgelisteten Bibliotheken installieren, dabei auf die angegebenen Versionen achten.

  • Die Datei ext_def.h an die eigenen Anforderungen anpassen (WLAN-Einstellungen, Sensoren, wohin mit den Daten, ...)

  • Nach einem Neustart der IDE sollte sich die INO-Datei ohne Fehlermeldung auf die NodeMCU hochladen lassen.

Variante 2:

  • Arduino IDE unter https://www.arduino.cc/en/Main/Software downloaden und installieren.

  • Erweiterung für ESP8266 installieren. Anleitung unter https://github.com/esp8266/Arduino.

  • Arduino IDE beenden.

  • Download der fertig übersetzten Firmware von https://www.madavi.de/sensor/update/data/latest.bin

  • 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)

  • 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 ein script in sensors-software/utils/flash/, das auch die Konfiguration löschen kann (s.u.).

  • 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 bei VID und PID. Die IDE danach wieder schließen, da sonst dieser Port blockiert ist.

###Löschen der Konfiguration:

Variante 1:

Ü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.

Variante 2:

Das Vorgehen entspricht Variante 2 des Firmware einspielens. Als "Firmware"-Datei die Datei ppd42ns-wificonfig-ppd-sds-dht.spiffs.bin 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 im (Linux/bash-)script unter sensors-software/utils/flash/.

Seiten

Dokumentation

Protokolle

for more, see Protokolle

Clone this wiki locally