Änderungen

Aus Hackerspace Ffm
Wechseln zu: Navigation, Suche

ESP8266 mit Arduino programmieren

2.608 Byte hinzugefügt, 20:40, 4. Jul. 2016
Im Arduino "Generic ESP8266" auswählen und PLAY drücken - es sollte das Ding programmieren. Nutzt man ein Terminal-Programm muss ggf. die RTS-Leitung im Program auf einen anderen Pegel gesetzt werden, damit das Programm im ESP gestartet werden kann.
 
== Problem: ESP8266 stürtzt ab / macht kein WLAN ==
* Meist ist hier die 3.3V Versorgung nicht leistungsfähig genug. Ein separater 3.3V Regler hilft dann. Bitte mit kurzen bzw. dicken Kabeln anschliessen.
 
== Problem: ESP8266 lässt sich mit Arduino nicht programmieren ==
* 3.3V Regler ist möglicherweise nicht leistungsfähig genug -> eigenen Regler aufbauen. Dies ist meist der Fall wenn man die 3.3V von einem Arduino oder FTDI Modul versucht zu verwenden. Die 5V aus dem USB-Port reichen aber in der Regel aus, um davon ein starken 3.3V Regler zu betreiben.
* Wird ein Modul wie Adafruit Huzzah verwendet ggf. noch einen Elko (~100uF / 6.3V) nah an die Versorgungspinne des ESP-Moduls löten.
* Modul in den Upload-Modus bringen - meistens muss man dazu entweder eine bestimmte Tastenkombination drücken oder die richtige Reset-Variante in Arduino einstellen.
 
== Problem: ESP8266 lässt sich mit Arduino programmieren, aber der SPIFFS-Upload bricht mit einem Fehler immer ab ==
* Versorgung sollte stabil sein und richtige SPIFFS Größe sollte ausgewählt sein (ggf. klappen einige Kombinationen nicht)
* Das ESP-Upload-Tool scheint nicht sonderlich Fehlertolerant programmiert zu sein - folgendes kann man noch ausprobieren:
** Erweiterte Einstellungen der seriellen Schnittstelle in der Systemsteuerung ändern (kleinere Blockgröße kann helfen)
** Statt einem FTDI lieber einen anderen USB-Seriell-Konverter nehmen (CP2102 klappt besser). Dem FTDI scheint ein stabiler Quarz zu fehlen.
** Eigene Stromversorgung für FTDI und ESP, damit auch der FTDI stabil arbeiten kann.
** Andere Baudrate in Arduino probieren - 921600 klappt aber auch meistens und ist halbwegs schnell.
* Not-Betrieb über OTA:
** Aus Beispiel "ArduinoOTA" -> "BasicOTA" auf das Modul spielen (WLAN Daten vorher im Source anpassen), dieses Resetten.
** Im Terminal sollte zu sehen sein das sich das Modul mit dem WLAN verbindet und eine IP-Adresse bezieht.
** Nach einiger Zeit sollte im Arduino unter "Ports" nun dieser spezielle OTA-Port auftauchen. Ggf. Arduino neu starten bzw. Installation überprüfen.
** Wenn das klappt, den richtigen Sketch (meist ein Webserver) nun erstmal nur kompilieren aber nicht uploaden.
** Diesen speziellen OTA-Port wählen, *zuerst* nun über "Sketch Data Upload" die SPIFS Daten hochladen.
** Das Modul bootet darauf neu, noch ist aber das OTA-Program drauf. Nun als letztes auch noch den richtigen Sketch aufspielen. Das Modul bootet neu in diesen Sketch. Will man den Sketch ändern muss man leider alle Schritte hier wiederholen - daher ist es nur als Not-Lösung zu gebrauchen.
1.954
Bearbeitungen