ESP gehimmelt und Programierfrage

Begonnen von ernst1024, 24 März 2016, 12:26:12

Vorheriges Thema - Nächstes Thema

ernst1024

Hallo,

habe in den letzten Tagen einen ESP-01 und ein ESP-12 gehimmelt :-( Der 12-er wurde zuvor vielleicht 10 mal geflasht, der 01-er allerdings wesentlich öfter, der hat vorher  auch ca 2 Monate zuverlässig Daten an Fhem gefunkt.

Ob das jetzt Zufall war oder meine Programierkünste, ich weiss es nicht. Zumindest der 01-er hat den Geist aufgegeben nachdem ich in den sketch eine 'normale' C-Bibliothek (time.h) eingebunden und einige funktionen daraus benutzt habe.

Ich dachte der Compiler wird schon meckern wenn er das nicht kennt, aber er hat es anstandslos gefressen und den sketch hochgeladen. Danach war's dann aber vorbei. Noch eine Error Msg im serielen Monitor und danach nur noch Zeichensalat in schneller Folge über den Schirm srollend .....

Hat jemand ähnliche Erfahrungen gemacht? Man liest hier und da dass die Qualität des Speichers bei den ESP's nicht die beste sein?

Ursache für meine Programierversuche war die Tatsache dass ich mir gerne ein unabhängiges Wetter Modul mit einem kleinen OLED Bildschirm bauen. Da gibt es in Netz ein paar Bsp, auch mit Code, aber den Code habe ich nie zum laufen gebracht, bzw lieferte er bei mir nie das gewünschte Ergebnis.

So habe ich mich also selbst hingesetzt und teils aus Fragmenten hier und da, teils aus eigenem meinen Sketch geschrieben.

Da bin ich jetzt soweit dass er sich auf weatherunderground einloggt, den request absendet und dann kommen die Daten wie gewünscht.
Da bin ich jetzt dabei die gewünschten Daten aus dem stream heraus zu isolieren und zu speichern um sie dann im letzten Schritt auf dem Display anzuzeigen.

Das ist wohl im Json Format und da bin ich erst ganz am Anfang. Naja, dabei ist es halt passiert. Vielleicht hat ja jemand mit mehr Programierkenntnissen einen Tipp für mich wie ich das am besten bewerkstellige.
Gruß Ernst

MadMax-FHEM

Hi,

ja das "scrollen von komischen Zeichen" kenne ich...
...allerdings meist "begleitet" von WDT Reset.

Heißt er bootet einfach immer wieder durch.

Eine Ursache scheint (neben möglichen Speicherfehler) ein Timingproblem zu sein.
Lange Endlosschleifen ohne zwischendrin delay/yield (also Zeit an das "Betriebssystem" zu geben) führen zu sowas.

Hast du mal einen simplen Sketch geladen?
Oder kannst du gar nicht mehr flashen?

Wenn du gar nicht mehr flashen kannst, dann ist wohl der Speicher hinüber...

Ansonsten mal den flash komplett ablöschen, z.B.:


http://www.esp8266.com/viewtopic.php?f=6&t=3955


gibt aber auch andere Anleitungen...

Und einen simplen Sketch laden (z.B. Serial-HelloWorld ;-)  )...

Wenn das auch nicht geht, dann ist wohl auch der Flash hin aber halt nicht ganz...

Hatte bei mir das Problem als ich von DHT-11 auf HTU21D umgestiegen bin (da dieser mit 3.3V läuft).
(Allerdings wie gesagt begleitet von WDT Reset)

Als ich dann den alten Code bzw. einen simplen Sketch geladen hatte gings wieder -> liegt dann wohl eher an der Programmierung (wahrsch. Library?).

Habe dann neben Arduino-IDE auch "native SDK" probiert aber bin noch nicht weiter gekommen...
...aber wie gesagt liegt bei mir nur an der Verwendung dieser Library...

Andere Dinge funktionieren: HC-SR04, DS18B20, DHT-11...

Vielleicht hilft das weiter...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

ernst1024

Hi Joachim,

tja, wie sagt man so schön: Pioniere erkennt man an den Pfeilen im Rücken!

Jetzt wo du es sags't, ein WDT reset meine ich auch vorbei huschen gesehen zu haben. Das mit dem flash komplett löschen muss ich mal probieren, wäre schön wenn es das wäre. Gut ansonsten: erstmal Nachschub aus China bestellen.

Meinst du es könnte tatsächlich am Programm liegen, librarys etc? Ich kann noch flashen. Aber anschließend leuchtet die blaue LED permanent und halt besagtes scrollen .....
Gruß Ernst

Pf@nne

Zitat von: ernst1024 am 24 März 2016, 16:35:44
Meinst du es könnte tatsächlich am Programm liegen, librarys etc? Ich kann noch flashen. Aber anschließend leuchtet die blaue LED permanent und halt besagtes scrollen .....

Hast du denn mal was "einfaches" geflasht?
Meisten beruhigt sich der ESP wieder.......

Diese "leichten" Instabilitäten habe ich bei mir auch. Kleiner Trost, wenn es einmal läuft, dann auch recht stabil..... :-)
FHEM auf: DS415+ (Master), Raspberry Pi 2

ernst1024

ja, ich habe auch was einfaches wie den blink sketch z.B ge-flashed . Habe eben versucht mit dem esp8266flasher (von nodemcu) zu flashen. Das hat ewig gedauert und ich dachte das ist in dem Fall bestimmt ein gutes Zeichen, da wird mal so richtig aufgeräumt. Denkste, war nix.

Das mit dem esptools.py erfordert ja wohl ne Installation unter Linux, geht also nicht mal so auf die schnelle- Mein einziger Linux Rechner ist mein Pi, der ist aber beschäftigt, mit Fhem. Muss mal sehen.
Gruß Ernst

MadMax-FHEM

Hmmm, esptools.py ist Python und das gibt es auch für Windoof...
...ob dann allerdings esptools.py läuft und auch auf den USB kommt usw. weiß ich nicht...

Neben dem erase mit esptools gibt es auch irgendwo im Netz (der Netze) "leere" flash Dateien, vielleicht geht das dann auch mit deinem "normalen" flash-Programm...
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)


ernst1024

Das mit dem esp8266flasher? Gerade versucht mit dem 12er, nix. (Bis ich erst mal gecheckt habe dass man die Eingabe von Hand tätigen muss)
Gruß Ernst

Rince

ZitatDas mit dem esp8266flasher? Gerade versucht mit dem 12er, nix. (Bis ich erst mal gecheckt habe dass man die Eingabe von Hand tätigen muss)
Wie bist du denn beim flashen vorgegangen?

Probiere mal:
Flash Taster drücken und halten (bis ganz zum Schluß)
Reset Taster drücken und loslassen
Flash Erase starten
warten bis fertig
dann Flash-Taster loslassen
Reset Taster drücken

(Wenn du nicht NodeMCU-Board hast (das hat besagte Taster) eben mit überbrücken)
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

ernst1024

Zitat von: Rince am 25 März 2016, 16:12:41
Wie bist du denn beim flashen vorgegangen?

Probiere mal:
Flash Taster drücken und halten (bis ganz zum Schluß)
Reset Taster drücken und loslassen
Flash Erase starten
warten bis fertig
dann Flash-Taster loslassen
Reset Taster drücken

(Wenn du nicht NodeMCU-Board hast (das hat besagte Taster) eben mit überbrücken)

wie meinst du: flash taster = gpio0 -> GND

mit RST habe ich noch nie was gemacht, auch auf GND?
Gruß Ernst

cs-online

Hallo,

ja, Reset gegen GND (auch Masse oder Minus genannt) und GPIO0 gegen GND, dann Reset wieder von Masse trennen, dann sollte der ESP im Flashmodus sein. Bei NodeMCUs macht der Flasher das selber, da braucht man nichts drücken, evtl. geht das mit dem neuen Flasher sogar bei den einzel-ESPs.

Zum kompletten Löschen des Flashs gibt's hier eine gute Anleitung:


http://s6z.de/cms/index.php/homeautomation-homecontrol/hardwareplattformen/esp8266/131-loeschen-des-gesamten-flashspeichers


Grüße

Christian
FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20, Shelly1,2 und 2.5,Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV mit Speicher, alles auf einem RPI und da geht noch mehr

wingfighter

Hallo ernst1024

Wenn der ESP wieder mit Dir spricht, denk doch mal drüber nach, die Arbeit des Wetterholens den Raspberry per FHEM machen zu lassen und die anzuzeigenden Daten nur noch per MQTT an den ESP zu schicken. Da sparst Du Dir sicher eine Menge Aufwand.
Pf@nne hat ein schönes Konfig-Sketch https://forum.fhem.de/index.php/topic,50238.0.htmlfür die W-LAN-Verbindung und für MQTT gibt's auch ausreichend Beispiele.
Ich habe bei mir z.B. den Empfang von bis zu zehn Werten in einem Test-Sketch https://forum.fhem.de/index.php/topic,50697.0/all.html implementiert.

Gruß
wingfighter

sbiermann

Hm, ich glaube ich habe mein ESP12-E ist auch gehimmelt. Ich komme nicht mehr in den Flashmodus rein. Wenn ich GPIO0 auf GND lege leuchtet die interne LED auf solange der auf GND liegt. Folglich kann ich auch nicht über die Arduino IDE flashen. Hat jemand eine Idee was man noch machen kann? Außer den Flashspeicher tauschen?

cs-online

ja, GPIO0 an GND reicht nicht, auch einmal zusätzlich RST an GND und das wieder trennen, GPIO an GND lassen.

vorher den ESP8266Flasher.exe  runter laden:

https://github.com/nodemcu/undefined

unter Win64/Release bzw Win32/Release den richtigen auswählen. Unten auf der Seite ist beschrieben wie es geht.

Viel Glück,

Grüße

Christian
FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20, Shelly1,2 und 2.5,Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV mit Speicher, alles auf einem RPI und da geht noch mehr

Omega-5

Zitat von: cs-online am 04 April 2016, 20:12:59
vorher den ESP8266Flasher.exe  runter laden:

https://github.com/nodemcu/undefined

Wenn man nicht nur einen 404 will, besser diesen Link nehmen.  ;)

https://github.com/nodemcu/nodemcu-flasher

Gruß Friedrich
RaspberryPi2, nanoCUL, 3x DS18B20, FS20: 4x Funk-Schalter ST-4, LaCrosseGW,
HomeMatic: HMLAN, HM-WDS10-TH-O, HM_MYS_RelaisBoard,
I2C: HYT221 über modifiziertes Modul I2_I2C_SHT21.pm (Q&D),