Hallo zusammen, ich möchte einige RGB-Lampen per DMX über Funk steuern. Hierzu habe ich ein AVR-NetIO von Pollin. Das AVR-NetIO hängt im LAN und drauf läuft ethersex mit artnet, das empfängt die DMX-Pakete über das LAN. Am NetIO hängt ein RFM12. Die "Lampen" haben einen atmega8 mit RFM12 und sollen die DMX-Befehle empfangen und ausführen. Was gibt es hierfür für Software-Lösungen. Mit sind bisher folgende eingefallen: 1. Lösung: Alles IP a. Ethersex konfiguriert mit IP over RFM12 und ArtNet (DMX over IP) b. atmega8 empfängt IP über RFM12, liest Pakete aus steuert die Lampe Problem: Ich habe bisher keinen IP-Stack gefunden, der in den atmega8 passt. 2. Lösung: RFM12lib a. Ethersex konfiguriert mit ArtNet b. In Ethersex RFM12lib einbinden c. DMX-Pakete über rfm12lib an atmega8 senden, der dann die Lampe steuert Problem: Ethersex anpassen, damit Artnet die empfangenen Pakete per rfm12lib weitersendet Hat sowas schon mal jemand implementiert oder hat jemand eine andere Lösung mit der geschilderten Hardware als Vorschlag? Gruß Mario
Hallo Also reines DMX ist zu schnell für deine RFM12 Module. DMX hat 250kbaud. Die RFM12 Module können digital nur max. 115kbaud. Und dann wird die Reichweite nicht mehr all zu hoch sein. Ich schätze mal so 10-20m. Was hast du denn für ein RFM12-Modul? 433Mhz oder 868Mhz? Ich frage dewegen, da man bei 868Mhz nur kurz senden darf. Wenn du mit 433Mhz sendest, dann könntest du allerdings dein DMX Datenpaket auf wenige Adressen beschränken. Bei DMX steht ja jedes (naja fast jedes) Datenbyte gleichzeitig für eine DMX Adresse. Du reduzierst die Adressen/Datenbytes zum Beispiel auf 50. Also nur die ersten 50 Datenbytes werden über RFM12 gesendet. Dann allerdings nur mit 38400baud oder so. Gruß Steffen
Hallo Steffen, mit der Baudrate hast du natürlich recht. Eingesetzt werden 433er Module. Entfernung zwischen den Modulen ist max 8 Meter. Wichtig ist mir eigentlich auch nur, dass ich zur Steuerung nachher DMX Software einsetzen kann. D.h. das Ethersex wird die DMX-Signale über Artnet bei voller Geschwindigkeit annehmen können. Die Lampen würden dann ein wenig "langsam" reagieren und die DMX-Signale dürfen natürlich nicht mit maximaler Geschwindigkeit ankommen, sonst gehen Pakete verloren. Kenne mich mich HW und SW ganz gut aus, aber mit DMX habe ich bisher keine Erfahrung. Alternativ nutze ich den Webserver des Ethersex und lasse auf dem eine Webseite fürs iPhone laufen, um mit diesem die Lampen zu steuern. Das wäre recht simpel, natürlich dann ohne DMX. Allerdings müßte ich dann per ECMD die Steuerkommandos auch irgendie zu den Lampen bekommen. IP über RFM12 wäre natürlich am besten. Aber IP-Stack im atmega8 klappt bisher nicht. Mit rfm12lib würde es gehen, aber da habe ich keine implementierung für ethersex gefunden. Nutzt hier denn keiner RFM12 am Ethersex? Wie bindet Ihr die "andere" Seite an? In jede Lampe ein ethersex-Board zu bauen scheint mir deutlich übertrieben. Gruß Mario
Ergänzung: IP im atmega8 passt doch und das sogar mit Ethersex und RFM12. Leider paßt dann kein ECMD mehr. Aber es sind noch 1-2 K frei, da passt eine eigene Kommandoübertragung rein. Da werde ich mich mal dranmachen.
Hallo Leider hab ich mich noch nicht mit dem Net IO befasst und daher weiß ich jetzt auch nicht wie das ganze funktioniert (Ethersex). Aber die RFM12 Seite würde ich so lösen: * jeder RGB Scheinwerfer bekommt eine Adresse * zu jeder Adresse gehören 3Byte Daten (RotGruenBlau) * RFM12 im Scheinwerfer empfängt ständig Datenpakete und testet diese auf seine eigene eingestellte Adresse * ist die Adresse Identisch zur gesendeten, dann ist dieses Datenpaket für diesen Scheinwerfer bestimmt Datenpaket RFM12: AA,AA,AA,2D,D4,SOT,Adresse(ASCII),Data(R),Data(G),Data(B),CRC,EOT SOT - Start of Transmission EOT - End of Transmission Dein Net-IO muss jetzt nur die Daten zu den jeweiligen Adressen zuordnen und das ganze in das RFM12-Datenpaket verpacken und aussenden. Vielleicht ist es noch hilfreich die Daten auf Änderung zu vorherigen Daten zu prüfen. Dadurch kann man dann nur die geänderten Daten über RFM12 versenden. Steffen
Hallo! Hast du eine Bibliothek um im Atmega8 die DMX Daten auszuwerten um in PWM Werte umzuwandeln? Nach sowas suche ich schon seit geraumer Zeit.
Ich bin gerade dabei sowas zu bauen. Mein Board ist ein eigenes, "kompatibel" zum Net-IO + DMX und Display/Buttons für die Einstellungen. Netzwerkverbindung läuft über einen einfachen Access-Point. Die RFM-Lösung wollte ich zuerst nehmen, hatte aber zu starke Latenzen drin. Wenn du eine wirklich 100%ig funktionierende Verbindung willst, wirst du um LAN Kabel nicht herumkommen, welches alleine für sich ist, also nur ArtNet drauf, physikalisch/VLAN mässig von allen anderen Netzwerkgeschichten getrennt. Wireless-DMX wäre vielleicht noch eine Lösung, haben wir viel im Einsatz. Allerdings sind gute Geräte schweineteuer.
Bernd schrieb: > Hast du eine Bibliothek um im Atmega8 die DMX Daten auszuwerten um in > PWM Werte umzuwandeln? Nach sowas suche ich schon seit geraumer Zeit. Hier im Forum schwirren mindestens 3 verschiedene DMX Lösungen rum und zu PWM gibts mehrere richtig gute Artikel hier im Wiki. Ein PWM_channel = DMXVal[channel]; dürfte nicht so schwer sein ;) LED/PWM Dimmer mit DMX gibts auch zu Hauf im Internet mit Code+Schaltplan.
Hallo Mario oder ethersex + DMX + Artnet Experten ich habe zwar keine Antwort auf deine (Mario) Frage aber eine Frage von mir. Habe mir heute am 6.1.2012 die aktuelleste Version von ethersex über/mit git heruntergeladen und auch alle avr devel. tools. ich habe das pollin avr-net-io board und will es mit einem ATmega644p bestücken und ethersex mit artnet für DMX verwenden. Die Ethersex - Artnet Konfiguration hast du scheinbar geschafft. Ich bekomme die Option über make menueconfig nicht angeboten nur DMX wenn DMX storgae ausgewählt wurde aber kein artnet. Es wir dann beim make auch nicht verwendet/eingebunden und ausserdem kommt dann beim build im dmx.c einige compile fehler wie "PORTDMX_RS485EN_PORT" bzw. "DMX_RS485EN_PIN" undeclared (first use in this function). Meine Frage ist also, wie man es über menueconfig oder mit manuellen Einstellungen schafft ein Ethersex mit Artnet + DMX zu erzeugen (ohne Fehler ;-). Ach ja, ich habe das ganue unter Ubuntu 11.10 mit den neu geladenen AVR Tools wie im Ethersex Wiki angegeben probiert. Vielen Dank Heinz
Tippe in menuconfig "shift - 7", dann kommt die suche nach den CONFIG_s. Dort tippste Artnet und siehst was unter "Depends" steht und was da noch auf "n" gesetzt ist, musst du aktivieren.
Vielen Dank Nils! Leider tut sich bei mir mit "Shift + 7" in menuconfig nichts, Das sollte ja "/" ergeben oder? Oder bin ich zu dumm dafür? habe mal die option "seach configuration option" gewählt aber da finde ich die depends pakete nicht.
Zu "keine artnet Funktion": Hast du den UDP-Support unter "Network" an? Zu "Compile Fehler in DMX": Hast du die pins in deiner pinning config (pinning/hardware/foobar.m4) definiert? In etwa so:
1 | ifdef(`conf_DMX', `dnl |
2 | /* port config for dmx */
|
3 | pin(DMX_RS485EN, PD3, OUTPUT) |
4 | pin(DMX_RS485TX, PD1, OUTPUT) |
5 | ') |
danke für die Tipps. Ja ich habe den UDP support eingeschaltet und habe jetzt auch die pin definitionen in netio.m4 eingetragen. die compile fehler sind weg, der build läuft durch und ich habe das hex file probiert. dmx workshop sieht den artnet node und zeigt alles korrekt an, leider kommt kein signal beim dmx output an. die beschaltung der platine ist korrekt, weil es mit einem atmega32 und den artnode v1 code funtioniert und sich der scheinwerfer dimmen lässt. die platine scheint auch die artnet packete zu empfangen (die grüne lan led blink auch sauber wenn regler verstellt werden) aber auf der dmx buchse kommt nichts raus. habe alles zig mal kontrolliert, pins für rs485, ip, universum etc. werds jetzt vorerst mal aufgeben, weil mir die ideen ausgehen. würd mich interéssieren ob das jemand in der kombination mit pollin net-io mit dem 644p und ethersex mit artnet + dmx schon zum laufen gebracht hat und wie seine einstellungen sind.
http://ethersex.de/index.php/Artnet => Make sure that NET_MAX_FRAME_LENGTH is >= 572 or artnet will be unable to process any packages. Das ist die Network Buffer Size, zu finden unter Network->... nachdem unter General Setup [*] Prompt all possible options (expert mode) angeschalten wurde
danke für den Hinweis. Hatte ich allerdings schon beides gemacht und den buffer auf 1024 gesetzt gehabt. Eine solche Groessenanpassung ist auch für DHCP notwendig. Sollte eigentlich schon als Standard gesetzt werden, oder wenn eines der beiden Pakete gewählt wurde. Wo jetzt bei mir der Fehler liegt, weiss ich natürlich noch immer nicht, im Artnet Teil oder im DMX Teil? Bei beiden habe ich ja schon viele mögliche/sinnvolle Parameterkombinationen probiert und auch die Konfigurationen der Ports/Pins etc Artnet und DMX Parameter überprüft. Habe nochmal eine Flash Version mit Artnet V2 (vom "Original-Autor") alleine mit zwei Universen erzeugt und das funktioniert auch. Also funktioniert die Platine und die DMX Verdrahtung. Gibt ja auch nicht so viele Schaltungs Varianten, die mit einem oder zwei Universen. Nur im Zusammenhang mit ethersex und all den ganzen möglichen Einstellungen habe ich es nicht zum laufen gebracht.
Okay, kannst du per ecmd dir das Universe ausgeben lassen? z.B. dmx universe 1 für das erste Universe - sollten dort die Werte stehen die du sendest, weißt du dass das Problem irgendwo zwischen dmx-storage und dmx liegt. Sollte das ganze universe '000' sein, dann stimmt etwas mit Artnet oder dem Netzwerk nicht. Das bekommst du am einfachsten raus indem du die "debug" Option von Artnet/IP Stack aktivierst. Ich nehme mal an, dass du das pinning entsprechend angepasst hast, für die Anleitung von dmxcontrol sollte das
1 | ifdef(`conf_DMX', `dnl |
2 | /* port config for dmx */
|
3 | pin(DMX_RS485EN, PD3, OUTPUT) |
4 | pin(DMX_RS485TX, PD1, OUTPUT) |
5 | ') |
sein (ungetestet!) Du kannst auch mal bei #ethersex (freenode.net) vorbeischauen!
habe deinen rat befolgt und werte ins universum 0 geschrieben - mit dmx workshop - und mit dem telnet ecmd ausgelesen und die werte die ich gesetzt habe wurden angezeigt. am scheinwerfer hat sich nichts getan. ja die pins habe ich gesetztt wobei ich um mit artnet_v2 kompatibel zu sein auf pd4 gelätet und das beim pinning auch so gesetzt.
ich denke ich werde es wohl aufgeben müssen. ich habe schon so viele abende/nächte herumprobiert, dass ich zu sonst nichts mehr komme. das ist den aufwand nicht wert. ich habe ein funktionierendes hexfile mit avrnet_2, das zwar sonst nichts kann aber das funktioniert. mit ethersex bekomm ich das nicht in einem vertretbarem zeutraum hin. danke trotzdem für die hilfe.
Stichwort RFM70, machen bis 2MBaud mit und bei 8M reichen die +5dbm locker....
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.