Hallo Gemeinde.
Ich probiere mich gerade an dem ESP8266.
Unter Linux habe ich mit dem esptool.py eine NodeMCU-Firmware flashen
können.
Jetzt hatte ich erwartet, dass ich endlich mal vetnünftige Zeichen unter
einem Prog wie hterm (Windows) oder putty (Linux) sehe. Fehlanzeige.
Ich habe natürlich mit den Baudrate herumgespielt, leider nur Nonsens
auf der Leitung. Woran kann das noch liegen?
Ich habe eine bin-Datei von folgender Seite an die Adresse 0x00000
erfolgreich geflasht.
https://github.com/nodemcu/nodemcu-firmware/releases/tag/0.9.6-dev_20150704
Muss ich nochmehr tun? Bin echt am Verzweifeln...
Danke!
Stefan S. schrieb:> Ich habe eine bin-Datei von folgender Seite an die Adresse 0x00000> erfolgreich geflasht.>> https://github.com/nodemcu/nodemcu-firmware/releases/tag/0.9.6-dev_20150704
Das ist leider eine wirklich urururalte Version der NodeMCU-Firmware.
Würde ich definitiv von abraten, mittlerweile ist die NodeMCU-Firmware
irgendwo bei Version 2.1.
Ein aktuelle, vorkompilierte NodeMCU-Firmware mit den wichtigsten
Modulen findest Du z.B. hier:
https://github.com/oyooyo/nodemcu-firmware/raw/uuid.space-dev/bin/nodemcu-firmware.bin
Funktioniert allerdings nur auf ESP8266 mit mindestens 1MB
Flash-Speicher.
Ansonsten ist der Standardweg, sich unter
https://nodemcu-build.com/
eine eigenes Firmware-Image mit den gewünschten Modulen erstellen und
per eMail zuschicken lassen.
Was die merkwürdige Baudrate von 74880 betrifft:
Die ist zwar korrekt, betrifft aber wirklich nur die allerersten Zeichen
direkt nach dem Booten mit einer kurzen Statusmeldung. Wird
üblicherweise einfach ignoriert.
Aktuelle NodeMCU-Firmwares benutzen standardmässig 115200.
Wenn Du also eine aktuellen NodeMCU-Firmware flashst, das
Terminalprogramm auf 115200 einstellst und dann resettest, sollte (nach
einigen unleserlichen Zeichen) dann eine leserliche Boot-Meldung mit
"NodeMCU" kommen.
Die oben erwähnte uralte 0.9.6 Version benutzte allerdings glaube ich
standardmässig noch eine andere Baudrate.
Okay, mittlerweile läuft es richtig gut.
Ich habe die NodeMCU-Firmware drauf und ich bekomme den Lua-Interpreter
unter Esplorer (und unter hterm) angezeigt.
Ein simples Programm, um den ESP8266 als AccessPoint zu verwenden hat so
weit auch funktioniert.
Allerdings bekomme ich bei dem Versuch den ESP8266 als Webserver zu
betreiben immer eine "out of memory" Fehlermeldung.
Als Sourcecode zeile wird immer
1
srv:listen(80,function(conn)
angekreidet.
Das müsste doch eigentlich funktionieren.
Der ESP8266 hat bis hierhin eine IP-Adresse von meiner FritzBox erhalten
und wird auch unter dem FritzBox-Webinterface aufgelistet als
WLAN-Teilnehmer.
Mal ein paar Sachen, die mir da auffallen:
- Das ist definitiv nicht der komplette Code, danach muss noch etwas
kommen
- Das Code-Fragment sieht aus, als ob es für eine alte Version der
NodeMCU-Firmware geschrieben wurde. Du hast aber leider nicht
geschrieben, welche Version Du der NodeMCU-Firmware Du verwendest.
- Die Fehlermeldung besagt ja bereits explizit, dass Du zuviel RAM
verbrauchst; höchstwahrscheinlich genau in dem Teil des Codes, den Du
unterschlagen hast. Bei Verwendung von NodeMCU-LUA darf man nicht
verschwenderisch mit RAM umgehen, idealerweise sollte man vielmehr
gewisse Tricks kennen, um RAM zu sparen. Wenn man mit dem verfügbaren
RAM partout nicht hinkommt, dann im Zweifelsfall lieber zu C wechseln,
da kennt man normalerweise keinen RAM-Mangel