Artnetnode mit 4-6 Universes mit mehreren Atmega328 im i2C mode

Wie es der Titel bereits verrät, beabsichtige ich den bau von einem Artnet controller.

Ich möchte damit ws2812/ws2811 und ws2801 LEDs steuern.

Ich habe mich bereits dem fertigen Projekt von "Deskcontrol" gewidmet, jedoch müsste ich mehr als nur 340LED am stück mit 30Fps ansteuern.
http://www.deskontrol.net/blog/arduino-based-artnet-node-for-led-pixels/

Ziel soll es sein 510Px oder 1020Px am stück flüssig via artnet anzusteuern.
Meine Idee zur Lösung wäre daher mit einem Master Arduino zuarbeiten und danach via I2C die 510 Pixel berechnen lassen.
das ist aber noch nicht alles, letztenendes sollte alles aus einer Datenleitung zum Strip gehen um diesen auch in einem anzusteuern. :disappointed_relieved:

Anwendung findet dieser Controller in Wandverkleidungen von Clubs wo eine lückenlose indirekte beleuchtung benötigt wird.

ws2812/ws2811 und ws2801 ansteuern.

Das Übertragungsprotokoll ist total verschieden. Du kannst nicht beide Standarts gleichzeitig haben.

Ziel soll es sein 510Px oder 1020Px am stück flüssig via artnet anzusteuern.

Jetzt weiß ich mal nicht was artnet ist aber machen wir mal eine Datenmengenberechnung.
1020 PX a 3 Farben a 30 fps sind 91800 Byte die pro Sekunde verschickt werden müssen.
Arduino ist da die falsche Hardware.
Grüße Uwe

das war, jetzt nicht die frage.

Artnet = Art-Net - Wikipedia
Unterm strich ein Protokoll oder Industriestandart zum übertragen von Daten einer Lichtsteuerung zu Lichtern die dan auf DMX arbeiten.

um die leustung zu erhöhen wäre ja eben das i2c gedacht von mir, daher die frage ob das geht dass ein arduino das nicht backt ist klar, sonnst hätte ich ja nicht gefragt.

Hallo Strelle,
der Arduino ist wie es Uwe mit seiner Datenmengen Berechnung erwähnte die falsche Hardware für deine Aufgabe.
Wenn ich dich richtig verstehe willst du einen Arduino dazu nutzen 1024 RGB LEDs über ArtNet zu steuern. Richtig?
Dies ist ein ambitioniertes Projekt.
Alternativ würde ich dir raten zu schauen ob ein Raspberry Pi, mit der OLA Software eine Lösung für deine Aufgabe wäre.
Der Pi (Modell B) verfügt über eine implantierte Ethernet Schnittstelle, die OLA Software bietet das Steuern von 8 ArtNet DMX Nodes an.
Mir fehlen praktische Erfahrungen mit OLA. Das einzige mir bekannte System mit 8 DMX Universen und LED Stripes das funktionierte arbeitet mit der nicht preiswerten Madrix Software.
@Uwe wenn ich Strelle richtig verstehe, geht es ihm um die Ansteuerung der Stripes via ArtNet, nicht um die Umsetzung für unterschiedliche Hardware. ArtNet ist ein auf DMX basiertes UDP Protokoll zur Steuerung von "Lampen".

Da verstehe ich was nicht / paßt mir einiges nichtzusammen.
ArtNet verschickt pro Datenpacket 32 Byte und kann 512 verschiedene Geräte adressieren. Für eine RGB-LED braucht es darum bereits 3 Adressen. Darum sind theoretisch nur 170 LED einzeln ansprechbar.
I2C arbeitet bei Arduino mit 400kHz. Je nachdem wieviele Datenbyte pro Adresse verschickt werden braucht es zwischen 16 bis 8,25 Bit (bei 32 Datenbuffer) pro Byte. Darum sind über I2C theoretisch, wenn ein ArtNet Datenpacket in einem Rutsch übertragen wird (ein Adressbyte und 32 Datenbyte) ca 1500 Datenpackete pro Sekunde übertragbar. Da sich I2C und FastSPI nicht gleichzeitig funktionieren halbieren wir die Zeit. Also können über I2C ca 750 ArtNet Datenpackete pro Sekunde übertragen werden. Nimmt man die genannten 30fps an und bei jedem neuem Frame eine Änderung von 50% der Punkte so ergibt das eine mögliche Ansteuerung pro Arduino von ca 50Stück WS2811. Bei Änderung aller LED pro Frame sind ca 25 Sstück WS2811 möglich. (vorausgesetzt der Sketch ist optimal programmiert und braucht wenig Rechenzeit um den Wert von I2C zu lesen, die rilevanten Werte aus dem Datenpacket zu lesen und in den Buffer für die FastSPI-Ausgabe zu schreiben )

Habe ich da was falsch verstanden oder gerechnet?

Grüße Uwe

@Uwe ein Art-Net Datenpacket im ArtDmx Modus besteht aus maximal 530 Byte. 18 "Art-Net spezifische Bytes" welche den Empfänger (DMX Universum) enthalten, gefolgt von den maximal 512 DMX Werten des DMX Universums.
Über die Art-Net Adressierung können theoretisch 32 768 Universen zu je 512 Kanälen übertragen werden. Praktisch können in einem 100BaseT 400 Universen im Unicast Modus bedient werden.
Zu deiner Aussage "512 Geräte": Art-Net basiert auf DMX. DMX sendet pro "Universum" stumpf 512 Bytes (Kanäle). Die Adressierung am Empfänger (Startadresse) entscheidet darüber wieviele Kanäle ein Gerät (Empfänger) benötigt. Typisch sind z.B. 1 Kanal für einen Dimmer, 3-5 für einen LED Scheinwerfer, 8-30 für ein Moving Light.
Aufgrund der 512 Kanäle pro DMX Universum sind theoretisch 170 RGB LEDs einzeln ansprechbar.
Soweit der kleine Art-Net, DMX Exkurs und zurück zu dem was Strelle erreichen will.
@Strelle, das von dir angesprochene "Deskcontrol" Projekt beschränkt sich mit einem Mega 2560 auf 2 DMX Universen (340 LEDs) mit der Verwendung von auschliesslich FastSPI.
Die Berechnung von Uwe zeigt, diese Aufgabe ist mit einem Arduino nicht machbar.
Ps:
Ich bin beeindruckt von dem was Uwe, Jurs, Serenifly, Eisbär und alle die anderen Wissenden hier täglich tun. Ihr habt mir schon sehr geholfen. Danke! macht weiter so.

ok alles klar, danke für eure Hilfe.

also werd ich dass mal bleiben lassen mit dem Arduino zu versuchen 3 Universe in einem zu empfangen.

Was mich jedoch immer noch wundert ist, im Skript zum deskcontrol artnetnode eigentlich 4 Universen drinnen stehen mit dem Kommentar wir brauchen mehr Rechenleistung.

Kann ich einen leistungsstärkeren Atmelchip nehmen und somit zumindest die drei Universen abdecken? oder Grentzt der Mega 2560 an alle grenzen im arduino bereich?

würde ein solcher sketch auch auf einem due oder yun laufen? die haben doch mehr power oder?

zum umstieg auf Raspberry:
ich habe jetzt mehrfach gelesen das beim Raspberry Pi das GPIO zu langsam sei um mehr als rund 200 LEDs mit SPI zu steuern.