Forum: Mikrocontroller und Digitale Elektronik ESP-8266 mit 5050 Led-Strip über MSI Mystic Light?


von dj and elHacktroniXX (Gast)


Lesenswert?

Hallo alle zusammen!

Ich möchte mir (sobald die Hardware-Preise wieder sinken) einen 
Videoschnitt-PC bauen. Ich bin großer RGB - bzw. generell Lichttechnik - 
-fan und möchte die Beleuchtung in meinem Schnittzimmer und im PC selbst 
mit der Software MSI Mystic Light steuern.

Problem: Die LED-Stripes hinter den Regalen sind zu weit weg, um sie per 
Kabel an das Mainboard anzuschließen. Außerdem verbrauchen sie 
wahrscheinlich zu viel Strom, als dass es die "Hauptplatte" aushalten 
würde. Also möchte ich das Ganze jetzt über WLAN und den ESP-8266 
steuern. Da gibt es ja mittlerweile auch einige Anleitungen für. Was ich 
aber noch nicht herausgefunden habe, ist, ob man den ESP auch irgendwie 
in eine Software - eben z.B. MSI Mystic Light - einbinden kann. Hat 
jemand so etwas schonmal gemacht oder kennt sich etwas besser damit aus 
als ich? Ein kompletter Laie bin ich nicht, aber bei solchen, 
komplizierteren Sachen, komme ich leider oft nicht weiter...:(

Danke schonmal an alle, die sich das bis hierhin durchgelesen haben, 
aber noch mehr an die, die jetzt antworten wollen :D

VG,
dj and elHacktroniXX

von knipsy (Gast)


Lesenswert?


von dj and elHacktroniXX (Gast)


Lesenswert?

Danke für die Antwort, ich habe mich deshalb für den Selbstbau 
entschieden, weil man so den Code selbst editieren kann und somit die 
volle Kontrolle hat. Hauptgrund war aber: Der Selbstbau ist wesentlich 
günstiger und mein Budget ist auch begrenzt...

von Stefan F. (Gast)


Lesenswert?

dj and elHacktroniXX schrieb:
> Der Selbstbau ist wesentlich
> günstiger und mein Budget ist auch begrenzt...

Kostet halt mehr Zeit. Man bekommt nichts geschenkt.

von dj and elHacktroniXX (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> Kostet halt mehr Zeit. Man bekommt nichts geschenkt.

Mir geht es vor allem darum, ob (dass) man es über MSI Mystic Light 
steuern kann...

von Arno (Gast)


Lesenswert?

Wenn MSI Mystic Light, was auch immer das ist, eine offene Schnittstelle 
hat, dann wird man sicherlich diese Schnittstelle prinzipiell auch 
nutzen können, um über WLAN einen ESP8266 mit RGB-LED-Streifen ansteuern 
zu können.

Wenn deine Frage war, ob das schonmal jemand gemacht und das Ergebnis 
veröffentlicht hat - das weiß ich nicht.

MfG, Arno

von dj and elHacktroniXX (Gast)


Lesenswert?

Danke erstmal für die Antwort,

MSI Mystic Light ist die Software von MSI zur Steuerung der Beleuchtung 
in einem Computer (Lüfter etc.).

Ich habe schon geguckt, Veröffentlichungen solcher Projekte habe ich 
noch nicht gefunden. Deshalb habe ich gedacht, ich frage einfach mal bei 
den Profis, ob einer hier im Forum so etwas schonmal gemacht hat...

Es lässt sich sicher durch probieren herausfinden, allerdings würde das 
sehr wahrscheinlich extrem lange dauern und außerdem: Experimente an 
einem 1700 € PC --- Ich weiß nicht :-/

von knipsy (Gast)


Lesenswert?

dj and elHacktroniXX schrieb:
> Danke für die Antwort, ich habe mich deshalb für den Selbstbau
> entschieden, weil man so den Code selbst editieren kann und somit die
> volle Kontrolle hat. Hauptgrund war aber: Der Selbstbau ist wesentlich
> günstiger und mein Budget ist auch begrenzt..

Dein ernst? 15€ sind Dir zu teuer?
PS: die Firmware lässt sich auf auf diesem Device selbst schreiben und 
hochladen.

von Felipe (Gast)


Lesenswert?

Moin,

du kannst doch einfach zwei ESP8266 verwenden. Einen lesend und sendend 
- den anderen empfangend und ausgebend Richtung LEDs. Datenaustausch 
dann per W-LAN.

Das Einlesen sollte prinzipiell ja recht simple sein, je nach dem, wie 
das Board am PC die Signale ausgibt.

Vielleicht hilft das.
VG

von dj and elHacktroniXX (Gast)


Lesenswert?

Felipe schrieb:
> einfach zwei ESP8266 verwenden

Stimmt, das würde Sinn machen :)
Die Sache ist, dass die Stripes mit 12 V betrieben werden (ich glaube 
PWM, wenn das über 12 V auch geht...) und das Board mit 5. Dann müsste 
man die Spannung irgendwie kleiner machen - mit nem Spannungsregler? 
Macht das Sinn?

Die Idee ist auf jeden Fall super :D

von Tom K. (tomka10)


Lesenswert?

Guten Vormittag,

Da ich selbst einige Systeme für PC-Beleuchtung kenne, gehe ich davon 
aus, dass adressierbare Leds verwendet werden. Diese These bestätigt 
sich durch die Website, da auf den Produktbildern/Videos die Leds eines 
Streifens individuell angesteuert werden.

Siehe: https://www.msi.com/Landing/mystic-light-rgb-gaming-pc/

In diesem Fall würde ich folgende zwei Möglichkeiten, das wie gewünscht 
zu lösen, in Betracht ziehen:

1) Falls du einen RGB Stripe hast, der nicht(!) adressierbar ist: Ein 
ESP bekommt die Daten vom Mainboard, wertet daraus 
den(durchschnittlichen) Mix der Farben rot, grün und blau aus, und 
übergibt diese dem zweiten ESP. Der zweite ESP erzeugt die Farbe via 
Pulsweitenmodulation.

2) Falls du einen RGB Stripe hast, der adressierbar ist: Ein ESP bekommt 
die Daten vom Mainboard, und übergibt diese dem zweiten ESP. Der zweite 
ESP sendet die Info einfach auf den Data-Pin deiner Leds.

Dann wäre noch zu klären, welche Leds überhaupt verbaut sind.

VG, Tom

von dj and elHacktroniXX (Gast)



Lesenswert?

Tom K. schrieb:
> welche Leds überhaupt verbaut sind

Ich werde die 5050 LED-Streifen nutzen. Mein Mainboard (MSI MPG X570 
Gaming Edge WiFi) hat beide Anschlüsse. Die Sache ist nur: Die Pins am 
Mainboard für die 5050er geben 12 V aus, der ESP läuft mit 5. Der würde 
ja ohne Spannungsregulierung durchknallen, oder?

P.S.: Die "Grundlösung", also ohne das einlesen der Daten am MB, findet 
sich auf dem angehängten Bild oder hier V | Die Einlese-Funktion ist 
jetzt das Hauptproblem ;)

https://chrisklinger.de/2018/05/arduino-esp8266-wifi-steuerung-fuer-einen-rgb-led-strip/

von Tom K. (tomka10)


Lesenswert?

Hallo nochmal,

und Entschuldigung. Ich hatte ganz dreist überlesen, dass du 5050 Leds 
hast. Demnach würde Methode 1 Sinn machen.

Da die Software von MSI Proprietär ist, und  bestenfalls ein Interface 
für Philips-Hue anbietet, fände ich es am Sinnvollsten, die 
Originalsoftware und das System so zu belassen, wie es ist.

Demnach kannst du den ersten ESP zum Beispiel die Farbe der LED mit der 
Adresse 1 an den zweiten ESP schicken lassen, der dann den kompletten 
Stripe auf die Farbe einstellt.(Einfach gesagt) Solltest du also in der 
Software einen Farbwechsel integrieren, Leuchtet dein kompletter Stripe 
immer So wie die erste LED eines Originalen.

VG, Tom

von Tom K. (tomka10)


Lesenswert?

Beitrag "Re: ESP-8266 mit 5050 Led-Strip über MSI Mystic Light?"
>Die Pins am Mainboard für die 5050er geben 12 V aus, der ESP läuft mit 5. Der 
>würde ja ohne Spannungsregulierung durchknallen, oder?

Ja, als einfache Lösung Sowas hier: https://www.ebay.de/itm/272864377604

Erst ohne ESP ans Mainboard, dann am Trimmer drehen und am Ausgang 
messen, bis dort 5V anliegen. Dann kannst du die Schraube noch optional 
mit Heißkleber sichern, und den ESP mit 5v betreiben. Für 
Signalübertragung würde ich das mit einfachen Spannungsteilern lösen.
1
Zum Beispiel:
2
R1=280 Ohm/1 W
3
R2=200 Ohm/1 W
4
5
12V===R1=====R2===GND
6
          |
7
         ESP
VG, Tom

Edit: Du kannst dir auch einfach Strom vom Internen Steckplatz eines 
USBs holen. Besser wäre natürlich vom Netzteil, da das mehr Strom 
liefern kann. Dann solltest du allerdings eine Sicherung einbauen.

: Bearbeitet durch User
von dj and elHacktroniXX (Gast)


Lesenswert?

In dem Forumsartikel hier 
(https://forum.arduino.cc/index.php?topic=590154.0) gibt's genau das 
gleiche Problem. Es scheint auch eine Lösung zu geben, allerdings waren 
die (in diesem Fall) hochnäsigen Profis leider zu Faul, einem 
verzweifelten Anfänger kurz nen Screenshot von Eagle zu machen... Also 
scheint es auch eine Lösung für das "durch-die-Luft-transportieren" des 
Signals zu geben. Versteht das vielleicht einer von euch? Bei mir 
mangelt es leider auch an Fachsprache :/. Das wäre nämlich das Beste, 
aber wenn niemand im Arduino-Forum bereit dazu ist, die Lösung zu 
präsentieren...

...werde ich denke ich mal zu tomka10's Lösung greifen. Die habe ich 
aber auch noch nicht ganz verstanden: das Signal eines WS2812B-Streifens 
abgreifen und dann das Signal einer einzigen LED auf dem Streifen 
einlesen, in deren Farbe dann auch der 5050er läuft? Oder doch anders? 
(ich fühl mich gerade so dumm wie schon lange nicht mehr ;-P)

von dj and elHacktroniXX (Gast)


Lesenswert?

Oh sorry, habe den Post erst nach meinem Jetzt gelesen...

von Tom K. (tomka10)


Lesenswert?

Die Beschaltung kommt auch darauf an, was für einen Ausgang du 
verwendest. Wenn du einen "Analogen" Ausgang hast, mit +12V, R, G, B, 
kannst du dir Irgendwo noch einen GND (-) suchen, und den ESP zwischen 
+12V und GND mit dem vorher genannten Konverter anschliessen.

Das einlesen der Signale machst du dann über Spannungsteiler, ggf. mit 
Kondensatoren parallel zum ESP, um die Spannung zu Glätten. Die 12V in 
meinem vorigen Post entsprechen dann jeweils R, G, B wobei du für jeden 
Ausgang einen Spannungsteiler brauchst, und einen eigenen Eingang am 
ESP.
1
So ungefähr:
2
R1=280 Ohm/1 W
3
R2=200 Ohm/1 W
4
5
R===R1=====R2===GND
6
        |
7
     ESP_IN_R
8
9
G===R1=====R2===GND
10
        |
11
     ESP_IN_G
12
13
B===R1=====R2===GND
14
        |
15
     ESP_IN_B
VG, Tom

von dj and elHacktroniXX (Gast)


Lesenswert?

Ok, das habe ich dann endlich verstanden :D
Und mit Tom K. schrieb:
> Kondensatoren parallel zum ESP
meinst du dann zwischen bspw. G und GND? Wenn ich das dann auch noch 
verstehe, dann bist du wirklich ein Genie :]

Und jetzt schonmal dankedankedanke für die Hilfe! Echt schön, wenn sich 
in einem Forum jemand mal wirklich Zeit nimmt...

von Tom K. (tomka10)


Lesenswert?

Ja, genau so.

Der "Empfänger" Ist exakt die Schaltung wie in dem Post 
Beitrag "Re: ESP-8266 mit 5050 Led-Strip über MSI Mystic Light?" angehängt? Dann 
müsstest du   die Werte invertieren, bevor du sie wieder in Licht 
umsetzt. Ein kleines Arduino-Programm zum invertieren hab ich dir 
schnell geschrieben. Dann kannst du einfach die Werte per W-Lan 
übertragen, und am anderen ende wieder als PWM ausgeben.
1
int sens1;
2
Wenn du den Farbübergang "smooth" haben willst, passt das so, wenn das nicht unbedingt sein muss, kannst du da noch ein delay einbauen.
3
void setup() {
4
pinMode(1, INPUT);
5
Serial.begin(9600);
6
}
7
8
void loop() {
9
 sens1 = map(analogRead(1), 0, 1023, 1023, 0);
10
 Serial.println(sens1);
11
}
sens1 ist die Variable, die du am Ende übertragen möchtest, um damit die 
Leds anzusteuern. In dem Fall pin1 ist der Pin, der eine deiner Farben 
"aufnimmt". Du brauchst diesen Programmabschnitt also drei mal. Außerdem 
könntest du den ausgegebenen Wert noch verkleinern, um kleine 
Unregelmäßigkeiten auszubügeln. Dazu einfach die zweite 1023 
verkleinern. Optional könntest du noch eine Erkennung einbauen, damit 
der gleiche Wert nicht 1000 mal gesendet wird, sondern erst, wenn er 
sich ändert.

: Bearbeitet durch User
von dj and elHacktroniXX (Gast)


Lesenswert?

Danke tomka10! Ich werde das in der nächsten Zeit mal mit dem 
IR-Controller vom LED-Strip versuchen, bevor ich es in den PC baue. Dann 
werde ich wahrscheinlich auch die 100% fertige Lösung einmal hier 
posten, falls jemand anderes dieses Problem auch einmal haben sollte :)

VG,
dj and elHacktroniXX

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.