WLan bei dem ESP8266

OP #8112309

Hallo, könnte es möglich sein das das arbeiten mit WLan und der webseite zum Handy eine Verbindung beim senden zum ws2812 stört.
10 Led gehen scheinbar einwandfrei aber wenn es mehr werde schalten sie nicht immer richtig. eine Serial1 TX sendet aber korrekt den empfangenen Befehl. Die Ledkette ist jetzt nur zum optischen test des empfqangenen Befehls vom Handy

Der Alte

Al. K. schrieb:

Hallo, könnte es möglich sein das das arbeiten mit WLan und der webseite zum Handy eine Verbindung beim senden zum ws2812 stört.

Ja.

Al. K. schrieb:

10 Led gehen scheinbar einwandfrei aber wenn es mehr werde schalten sie nicht immer richtig.

Der WS2812 verlangt ein ziemlich straffes Timing. Je nachdem, wie Du das implementiert hast, wird das durch das WLAN-Handling in die Länge gezogen.

: Bearbeitet durch User

Al. K. schrieb:

wie könnte man das Nachweisen im test?

Aus dem Kopf weiß ich gerade nicht wie viel Strom die brauchen. Aber zumindest mal den mittleren Strom drauf geben.
Ich hatte dann auch mal mehr dran, ohne am Strom was zu ändern und plötzlich blieben die hinteren dunkel oder die Sequenz lief nicht durch. Den Strom angepasst und schon funktionierte es alles wieder wie erwartet.
Zumindest eine Überlegung wert.

OP

Das mit dem Strom ist doch nichts neues, das sollte mir man doch zutrauen. Habe sogar ein analognetzteil mit 5 A genommen. Trotzdem kann man niemals sagen das es nicht am Netzteil liegt, eben nur zu 99,9%

Es geht darum jetzt, wie man es einfach testen kann ob es am WLan liegt. Abschaltenten des WLan hilft ja nix, Nur die Leds ansteuern mit einen Led startprogramm geht doch super.

Der Alte

Jörg R. schrieb:

10 Stück WS2812 können bis zu 600mA benötigen, Lichtfarbe weiß, volle Helligkeit (60mA/Led).

... und dazu kommen für den ESP8266 noch 430 mA beim Senden,

Al. K. schrieb:

Das mit dem Strom ist doch nichts neues, das sollte mir man doch zutrauen. Habe sogar ein analognetzteil mit 5 A genommen.

... und die Kabelverbindung bringt den Strom bei Bedarf auch heil zum ESP rüber, ohne dass die Spannung bei Lastpulsen einbricht?

: Bearbeitet durch User
OP

Helmut -. schrieb:

Das gleiche Problem hatte ich die Tage. Da hat der ESP8266 bei 64 LEDs unregelmäßig einen Watchdog-Reset gemacht, trotz 5A-Netzteil. Dann bin ich auf ESP32C3 umgestiegen. Nun rennt's seit Tagen störungsfrei!

Das wäre kein Problem, aber z.Z. verarbeite ich über 10 stck welche rumliegen. Wenn es damit schwierigkeiten gibt auch nichjt schlimm, nehme ich noch den WS2803 sollen doch nur kleine Bahnmodelle werden aber mit WLan mit dem Web steuerbar, zum verschenken oder spenden für den Modellbahnclub.

Für Lichtprog aller art sind diese Teile noch nutzbar....

MfG

Der Alte

ESP8266 ist 3.3 V Logik ws2812 ist 5 V Logik

10 Led gehen scheinbar einwandfrei aber wenn es mehr werde schalten sie nicht immer >richtig.

Mag gehen oder aber auch nicht. Dann kommts noch auf die Verkabelung / Länge ... an.

Logi Analyzer / Oszi Signalflanken und Timing kontrollieren. Oder einfach mal von nem anderen Hersteller WS2812 testen (Die WS 2812 Spezifikation scheint mir von Hersteller zu Hersteller vom timing auch Unterschiedlich zu sein)

Brauchst du wirklich ne "wechselhafte" Diskobeleuchtung?

Update Edit: Modellbahn.... Viele Kabel wirken als Antenne ......

: Bearbeitet durch User
OP

Chris K. schrieb:

Brauchst du wirklich ne "wechselhafte" Diskobeleuchtung?

Darum geht es doch nicht, es ist mir nur jetzt untergekommen als ich den Ledstreifeb von 20 cm als test anzeige verlängert habe. für das endprodukt Modellbahn verwende ich sowieso den esp32 da kann man wlan abschalten.

MfG Der Alte

Gut Nächt`le

OP

Moritz L. schrieb:

Das kannst du beim ESP8266 ebenfall

aber nicht softwaremässig wieder zuschalten.

Aber es geht um die möglche störung des sendeprotokolls zum ws2812 da die wlanfunktionen dzwischenfunken können. Wenn ich den ws20ß3 anschliese und es bei dem nicht passiert ist es zu 99% das ws2812 protokoll was gestört wird. Der Alte

: Bearbeitet durch User

Al. K. schrieb:

aber nicht softwaremässig wieder zuschalten.

Auf der Seite steht doch, wie es geht!

Aber es geht um die möglche störung des sendeprotokolls zum ws2812 da die wlanfunktionen dzwischenfunken können. Wenn ich den ws20ß3 anschliese und es bei dem nicht passiert ist es zu 99% das ws2812 protokoll was gestört wird.

Es wird gestört, wenn die single Core CPU zeitweise mit WLAN beschäftigt ist. Deswegen hilft

  • das WLAN zu deaktivieren, oder
  • einen dual Core Mikrocontroller (z.B ESP32) zu verwenden, oder
  • eine synchron getaktete Schnittstelle zu verwenden (z.B. WS2803)
: Bearbeitet durch User

Moritz L. schrieb:

Beim ESP8266 könntest du eine WS2812 oder "Neopixel" Bilbiothek versuchen, die die I2S Schnittstelle mit DMA verwendet. Damit soll es angeblich ohne Aussetzer gehen.

Das hatten wir ihm auch schon hier vorgeschlagen:

Das Timing kriegt man mit digitalWrite & delay halt nicht störungsfrei hin, wenn im Hintergrund noch das WLan läuft.

: Bearbeitet durch User
(Firma: Frickelhauptquartier)

Hilft dem Ü80 jetzt auch nicht wirklich weiter, aber WS2812 + WLAN ist eine spannende Sache, die ich damals eigentlich nur Theater gemacht hat. Wenn ich mich recht entsinne, war tatsächlich Neopixel die Lösung. Der Trick ist wohl, dass der 8266 sich in etwas unregelmäßigen Abständen um die WLAN-Verbindung kümmert, und dafür alles andere "stehen" läßt.

Thomas G. schrieb:

Hilft dem Ü80 jetzt auch nicht wirklich weiter,

Was hilft nicht, Zitatfunktion kaputt?

Thomas G. schrieb:

Hilft dem Ü80 jetzt auch nicht wirklich weiter, aber WS2812 + WLAN ist eine spannende Sache, die ich damals eigentlich nur Theater gemacht hat.

Streiche "Ü80", Ratschläge von Leuten mit wenig oder fehlender Sachkenntnis sind generell üblich - nicht nur auf µC-net.

Also ESP8266 mit WLAN, Neopixel und sogar ElegantOTA dazu geht durchaus. Hab ich hier mit 16 Pixeln am Laufen. Man kann z.B. die CPU-Frequenz auf 160MHz hochdrehen und diverse yield() reinbauen. Dann kann man die LEDs im 200ms-Takt blinken lassen! Bei mehr LEDs musste ich dann auf den ESP32C3 umsteigen. Der schafft aber 64 LEDs und 50ms Blink-Takt.

Helmut -. schrieb:

Hab ich hier mit 16 Pixeln am Laufen

Der ESP8266 schafft auch >200 Stück WS2812B mit 30fps, flickerfrei, bei gleichzeitig WLan, HTTP-Server usw.

Wenn du die LEDs auf zwei Streifen aufteilst, auch mehr.

Musst nur die richtigen Pins wählen, und die mit Hardwareuntersützung im Hintergrund bespielen.

Der ESP8266 kann leider seine internen Funktionen nicht frei auf die GPIOs verbinden, deshalb eignen sich primär GPIO2 und GPIO1.

Trick ist: Auf den beiden Pins liegen die Hardware-UART-TX. Jeder hat einen 128-Byte-Buffer. Du stellst die Baudrate sehr hoch (und auf 7N1 und auf invertiert), und bastelst Bitmuster passend zu den Pulse-Pause-Zeiten vom Neopixel-Protokoll und schiebst die in den UART-Buffer. Damit kriegst du zwar nur ca. 10 RGB-LEDs aus einem vollen Buffer, kannst dir aber einen IRQ geben lassen, wenn der Füllstand zu niedrig wird, und gemütlich Daten nachfüllen.

https://docs.espressif.com/projects/esp8266-rtos-sdk/en/latest/api-reference/peripherals/uart.html

TL;DR: Verwende eine fertige Bibliothek dafür, eine die für den ESP8266 optimiert ist, da ist das alles schon passend umgesetzt.

: Bearbeitet durch User
OP

Ich versuche nur noch das ws2812 mit wlan zu testen. z.Z Habe ich D7 GPIO..

Am einfachten Port Ändern welcher ist der geeigneteste,,, Include "Neopixel" anwenden ,,,,,,, sollte das gehen ohne Kopfstände. Ein Funktionfähiges Prog mit WLan und ws2812 komplett wo....

Ich will die esp8266 nur verbastel,habe >10 Sck rumliegen, für kleine projekte für die Modellbahnlandschaft, und einstellbar mit wlan, da werde ich die Dinger als Spende, selbstkostenpreis oder verschenkt auch los.(geht in die Clubkasse) 1/2 Taster damit man auch am modell verschiedene Programme wählen kann. Das läuft ja alles schon lange.

MfG

Der >80 Jahre Alte

Du machst doch gerne Sachen mit KI... Pack das nächste mal vor dem Absenden deinen Text in die KI mit der Anweisung "Übersetze ins Deutsche"...

Ansonsten, hier ein Beispiel, macht animierten Regenbogen auf 150 LEDs:

1
#include <FastLED.h>
2

3
#define NUM_LEDS 150
4
#define DATA_PIN 2  // ESP8266 UART1 TX (GPIO2)
5

6
CRGB leds[NUM_LEDS];
7

8
void setup() {
9
    // Uses hardware UART for stable timing under Wi-Fi load.
10
    FastLED.addLeds<fl::UARTController_ESP8266, GRB>(leds, NUM_LEDS);
11
    FastLED.setBrightness(50);
12
}
13

14
void loop() {
15
    fill_rainbow(leds, NUM_LEDS, millis() / 10);
16
    FastLED.show();
17
    delay(10);
18
}

WLan kannst du nach Belieben hinzufügen.

Code stammt von hier:

https://github.com/FastLED/FastLED/blob/master/examples/Esp8266Uart/README.md

  • ✅ Hardware timing - UART peripheral shifts bits automatically
  • ✅ Minimal CPU overhead - Main loop remains responsive
  • ✅ Wi-Fi stable - No NMI interrupt timing issues
  • ✅ Precise timing - Maintains ±150ns WS2812 tolerance
  • ⚠️ Higher RAM usage - ~12 bytes per LED (300 LEDs = 3.6 KB buffer)
  • ⚠️ Single pin only - GPIO2 (UART1 TX-only on ESP8266) This is the same as D4 on NodeMCU boards
  • Frame rate: Up to 30-60 FPS for typical strip sizes (<1000 LEDs)
  • Latency: ~11.25 ms for 300 LEDs (3600 bytes @ 3.2 Mbps + 300 µs latch)
OP

Danke, aber das kenne ich. habe ja auch geschrieben das serial1 , das ist D4 ,für die serielle kommunikation zum steuerteil genutzt wird. Werde es aber mal testen, blos um es zu wissen. Bei meinen Kleinprojekten kann ich es Nutzen da ich die serial1 verbindung nicht brauche.

Der Alte

Antwort schreiben

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.