HomeStatusDisplay (ESP8266, MQTT, WS2812B)

Begonnen von Joker, 12 März 2017, 23:48:10

Vorheriges Thema - Nächstes Thema

Jochen1977

Der AP wird als "offen" angezeigt und wenn ich auf verbinden gehe scheint er ein paar mal versuchen sich anzumelden und dann werde ich rausgeschmissen. In W10 erhalte ich die Meldung "keine Verbindung mit dem Netzwerk möglich".

Die SSID ist auch nicht "StausDisplay" sondern "ESP_FE491D". Ist "StatusDisplay" eine Variable?

Gruß Jochen


maclovlin

Blinkt bei dir nach den flashen die Blaue LED an dem ESP Board dauerhaft?

Jochen1977

Nein, die blinkt erst nach dem Neustart dauerhaft.

Was mir gerade noch einfällt. Ich habe die ESP8266 Version 2.3.0 zum kompilieren genommen. Ich werde es mal mit der 2.7.4 testen ob eine Veränderung feststellbar ist und dann Rückmeldung geben.

Gruß Jochen

maclovlin

Kuck mal bitte im Serial Monitor nach ob der Code abstürzt, nachdem der Webserver geladen wird (steht in klartext da).

Das habe ich heute bei mir festgestellt, als ich mit deinen Einstellungen kompilliert und geflasht habe.

Der ESP läuft an, blinkt wie wild und im Serial Monitor habe ich folgende Ausgabe (weiß leider noch nicht woran es liegt):

ets Jan  8 2013,rst cause:2, boot mode:(3,7)

load 0x4010f000, len 3584, room 16
tail 0
chksum 0xb0
csum 0xb0
v2843a5ac
~ld


Initializing config.
Mounted file system.
Reading config file /config.json
File size is 220 bytes
Main config data successfully parsed.
JSON length is 220
  • host            : HomeStatusDisplay
  • wifiSSID        :
  • Hostname        :
  • wifiPSK         : not shown
  • mqttServer      :
  • mqttServerUser  :
  • mqttServerPass  : not shown
  • mqttStatusTopic :
  • mqttTestTopic   :
  • mqttWillTopic   :
  • ledCount        : 0
  • ledBrightness   : 50

Config data is complete.
Deleting color mapping config data.
Reading config file /colormapping.json
File size is 2 bytes
Color mapping config data successfully parsed.
JSON length is 2

Deleting device mapping config data.
Reading config file /devicemapping.json
File size is 2 bytes
Device mapping config data successfully parsed.
JSON length is 2


Starting WebServer.

--------------- CUT HERE FOR EXCEPTION DECODER ---------------

Jochen1977

Leider bekomme ich auf dem Serial Monitor bei keiner Baudeinstellung eine brauchbare Ausgabe. Nach dem Neustart blinkt er wie wild. Ich habe gerade die Version 2.4.0 des ESP8266 versucht, keine Änderung im Verhalten. 2.7.1 ist beim Hochladen mit einem Header Fehler abgebrochen.

Gruß Jochen

maclovlin

#170
Habe für dich die letzte Version ausm Repo von Joker kompilliert, mein Wemos D1 mini läuft damit.
Probier mal aus.

Das Tool zum Flashen: https://github.com/marcelstoer/nodemcu-pyflasher/releases

Die Baudrate für den Serialmonitor ist 115200.

Jochen1977

Mit Deiner FW konnte ich mich auf die Einstellungsseite einloggen. Nachdem ich auf 57 LED Datapin 2 und meine SSDI gewechselt hatte war wieder Schluss. Jetzt habe ich mal neu geflasht und werde nur die SSID ändern um in mein W-Lan zu kommen. Mal sehen ob das geht.

Jochen1977

Einige Tests durchgeführt:

Nur SSID und Passwort eingeben -> Nach dem Neustart logt er sich nicht auf dem W-Lan ein sondern macht wieder das StatusDisplay auf.
Alle Felder in "General" ausfüllen -> Nach dem Neustart ist er zuerst nicht im W-Lan und meldet sich aber auch nicht, nach einer Weile ist er wieder als "StatusDisplay" sichtbar. Allerdings ist der Aufruf der Config Seite 192.168.4.1 nicht möglich.

Soweit der Stand für heute Abend. Morgen werde ich noch mal versuchen selbst zu kompilieren.

Gn8 Jochen

maclovlin

Bin heute erst dazu gekommen die hochgeladenen Firmware zu testen.
Bei mir läuft alles stabil, habe aber auch keine LED's dran, nur das nackte ESP Board.

Wlan geht, ich kann mich drauf einloggen und konfigurieren.

Was für ein Board hast du? Genaue bezeichnung

Jochen1977

#174
Hallo,

leider bin ich erst heute wieder zum testen gekommen. Ich habe dieses Board:

D1 Mini NodeMcu 4 MB Byte Lua WIFI Development Board ESP8266 WeMos von L2J8

Um einen Fehler an der Hardware auszuschließen habe ich ein 2. baugleiches auch ohne LED getestet. Selbes Verhalten. Dann habe ich noch das USB Kabel gewechselt und siehe da, nun geht es. Vermutlich war beim Flashen was schief gelaufen. Jetzt kämpfe ich noch mit der MQTT Broker Verbindung die nicht klappen will. Im Feld MQTT-Server kommt wohl die IP:Port und wo kommt das Passwort hin?

Ah, erst jetzt gerade gelesen. Du hast mir die Version von Joker als fw kompiliert. Deshalb kein PW beim MQTT. Auch das Design sieht etwas anders aus.

Gruß Jochen

Jochen1977

So,

jetzt habe ich noch mal mit Deiner Version kompiliert und mit dem anderen USB Kabel auch eine Ausgabe auf der Schnittstelle. Mir ist an der Funktion MQTT gelegen. Leider wie auch bei Dir eine Endlosschleife:


ets Jan  8 2013,rst cause:2, boot mode:(3,0)

load 0x4010f000, len 1384, room 16
tail 8
chksum 0x2d
csum 0x2d
v4ceabea9
~ld


Initializing config.
Mounted file system.
Reading config file /config.json
File size is 220 bytes
Main config data successfully parsed.
JSON length is 220
  • host            : HomeStatusDisplay
  • wifiSSID        :
  • Hostname        :
  • wifiPSK         : not shown
  • mqttServer      :
  • mqttServerUser  :
  • mqttServerPass  : not shown
  • mqttStatusTopic :
  • mqttTestTopic   :
  • mqttWillTopic   :
  • ledCount        : 0
  • ledBrightness   : 20

Config ⸮(W⸮.⸮⸮⸮⸮⸮ѕ.
Deleting color mapping config data.
Reading config file /colormapping.json
File size is 2 bytes
Color mapping config data successfully parsed.
JSON length is 2

Deleting device mapping config data.
Reading config file /devicemapping.json
File size is 2 bytes
Device mapping config data successfully parsed.
JSON length is 2


Starting WebServer.

Exception (28):
epc1=0x40106860 epc2=0x00000000 epc3=0x00000000 excvaddr=0x00000000 depc=0x00000000

ctx: cont
sp: 3fff0d70 end: 3fff1090 offset: 01a0

>>>stack>>>
3fff0f10:  3ffeff78 00000543 00000543 4010020c 
3fff0f20:  3fff1020 3ffefb48 3fff0f80 40100690 
3fff0f30:  00000000 00000000 3fff4084 00000063 
3fff0f40:  00000014 00000002 3fff0f80 4020b1e8 
3fff0f50:  00000000 00000000 00000000 00000000 
3fff0f60:  14140000 3fff0314 00000000 40100690 
3fff0f70:  00000010 00000000 3ffef90c 4020b300 
3fff0f80:  00000000 00000000 00000000 00000000 
3fff0f90:  14140000 00000314 00000000 40214c34 
3fff0fa0:  3ffe8dcc 3ffefd7c 3ffef90c 402124f8 
3fff0fb0:  3f141414 000000d3 000000d3 4010020c 
3fff0fc0:  4020b29c 00000000 00000000 00000001 
3fff0fd0:  00000000 00000000 00000000 40201410 
3fff0fe0:  3ffe8dcc 00000000 3ffef90c 00000000 
3fff0ff0:  00000000 3ffefd08 3ffef90c 4020ae34 
3fff1000:  00000000 00000000 3ffefb48 4020aebe 
3fff1010:  00000000 3ffefd08 3ffef90c 4020afa2 
3fff1020:  00000000 3ffef930 3ffefb48 4020c51c 
3fff1030:  00000000 3ffefb48 3ffeffa0 3ffe8dc4 
3fff1040:  3ffe8dcc 3ffeffa0 3ffef938 4020d406 
3fff1050:  feefeffe feefeffe feefeffe 3fff0060 
3fff1060:  3fffdad0 00000000 3fff0059 4020da9e 
3fff1070:  feefeffe feefeffe feefeffe 40214d68 
3fff1080:  feefeffe feefeffe 3fff0070 40100710 
<<<stack<<<



Hast Du eine Idee an was das liegen könnte?

Gruß Jochen

maclovlin

Nein, noch nicht.

Das Problem tritt komischerqweise nur auf wenn man mit LED Typen kompilliert die keine Clock leitung benötigen.

Die Kompilierung läuft ohne Fehler durch und beit booten kommt es zur einem Bootloop.

Habe auch gesehen, das ich die Pin's falsch betitelt habe, Pin 2 ist normalerweise der Datapin und der Pin 3 ist der Clockpin.

maclovlin

#177
So, offensichtlich mag FastLED es nicht wenn die Anzahl der LED's bei null ist.

Die Repo nochmal downloaden, firmware mit deinen Einstellungen kompilieren und mit NodeMCU PyFlasher flashen (link weiter oben),
ganz wichtig "yes, wipes all data" aktivieren.

Falls der Flashvorgang nicht startet, weil das Board wild am blinken ist, die Reset taste festhalten bis in der Software "Connecting ..." steht,
dann Reset loslassen.

!!! Vorsicht !!!

Die Definitionen haben sich geändert zu:


#define LEDTYPE WS2812B

#define HASDATAPINANDCOLORORDER

#ifdef HASDATAPINANDCOLORORDER
  #define DATAPIN 2
  #define COLORORDER RGB
#endif



Jochen1977

So,

das kompilieren und flashen hat nun funktioniert. Die Weboberfläche meldet sich und nach dem Eintragen der Daten komme ich ins W-Lan und auch eine Verbindung zum MQTT Broker. Die LEDs werden lt. Statusseite korrekt gesetzt. Vielen Dank dafür.

Ein Problem besteht aber noch. Zwar werden lt. Statusseite die LED gesetzt, leider leuchten Sie an der Hardware nicht. Nun bin ich nicht sicher ob evtl. am Board was kaputt ist oder noch der falsche DatenPin definiert ist. Lässt sich das irgendwie rausfinden? Ich habe die LED an D2 angelötet.

Gruß Jochen

maclovlin