Ankündigung

Einklappen
Keine Ankündigung bisher.

- √ - DMX-Gateway-Plugin (NanoDMX USB)

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    #61
    Nur um das nochmal sicher zu haben: du hast einen Terminator am DMX? Das ganze hört sich für mich genau an wie nicht terminiert...
    KNX, DMX over E1.31, DALI, 1W, OpenHAB, MQTT

    Kommentar


      #62
      Na, ich hoffe doch, er hat sogar zwei Terminatoren, einen an jedem Busende.

      Bei manchen Geräten sind die Terminatoren fest eingebaut bzw. per Jumper, Verdrahtungsoption oder auch per Software zuschaltbar. Dies mag "Reihenfolgenabhängigkeiten" erklären.

      Hauptprobleme bei RS-485 sind oft Masseschleifen, zumindest bei ausgedehnteren Installationen. Daher sollten alle Komponenten galvanisch isoliert sein, was im Bastel-Billig-Bereich i.d.R. nicht der Fall ist, da dies aufwändig und teuer ist (der RS485 Teil der Schaltung kostet dann nicht 85 ct sondern 10 - 20 EUR).
      Ergänzung: zum Teil wird empfohlen einen der Teilnehmer zwecks Masse-Bezug zu Erden, dies widerspricht jedoch der VDE wg. SELV.

      Stefan

      Kommentar


        #63
        Hallo ihr beiden.

        Also noch einmal kurz zu meinem Versuchsaufbau...

        Ich besitze das NanoDMX USB Interface von DMX4ALL und 2 LED BAR RGB 252 von Stairvill. Mangels DMX Kabel kann ich immer nur eine der beiden LED BAR direkt mit dem Nano verbinden. Der XLR des Nano steckt also direkt ohne Kabel dazwischen an der Leuchte. Diese hat die Startadresse 001. Terminator habe ich noch nicht (ist unterwegs) aber ich habe bereits versucht DMX+ und DMX- mit einem 120Ohm Widerstand zu Terminieren. Das Ergebniss war das selbe. DMX Werte werden erst von den Leuchten übernommen, wenn ich den XLR des Nano ausziehe und wieder einstecke
        Gruss Patrik alias swiss

        Kommentar


          #64
          Soo...

          Nun habe ich die traurige Gewissheit. Beide fabrikneuen Stairvill LED BAR sind deffekt. Das Plugin und der Nano DMX-USB Adapter funktionieren einwandfrei. Das konnte ich mit dem geliehenen RGB LED Spot von gramels testen. An der Verkabelung kann es nicht liegen da ich nun auch teure DMX Kabel und einen DMX Terminator habe und die drei Leuchten in unterschiedlicher Reihenfolge verkabelt habe. Alle haben die Startadresse 001 um zu sehen ob die Werte gesendet werden und ob die beiden LED BAR darauf reagieren.

          So ein Mist. Die Stairvill RGB LED BAR sind für mich erst einmal gestorben.
          Gruss Patrik alias swiss

          Kommentar


            #65
            Zitat von swiss Beitrag anzeigen
            Das Plugin und der Nano DMX-USB Adapter funktionieren einwandfrei.
            Wenigstens für mich eine gute Nachricht

            An der Verkabelung kann es nicht liegen
            Nee, das ist auf ein paar Meter Banane-egal, meine 3 DMX sind weder vorne noch hinten terminiert..

            So ein Mist.
            Tja, es ist ein graus, meine Rede, in gut/günstig/fertig gibt es leider nichts mit gescheiten LED's (unabhängig von DMX), da hat man immer gleich den Lötkolben in der Hand (was ich eigentlich auch nicht anstrebe..)
            Das braucht vermutlich noch zwei warme Sommer, oder eben einen Lötkolben, bis wir da ordentliche Produkte zu vernünftigen Preisen kaufen können..

            Makki
            EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
            -> Bitte KEINE PNs!

            Kommentar


              #66
              Sooo..

              Nun gibt es doch noch ein Happyend. Auch wenn ich immer noch über die Qualität der LED BAR entteuscht bin...

              Da ich die Leuchten nicht einfach so zurückschiken konnte, und die doch Geld gekostet haben, habe ich den heutigen Tag damit verbracht eine Lösung für das Problem zu suchen.

              Problem 1, die DMX ansteuerung:

              Nach langem suchen und lesen vieler Forenbeiträgen fand ich heraus, dass die LED BAR nicht "Vollgas" fest ist. Der DMX Controller im inneren ist zu träge um auf die Befehle zu reagieren. Abhilfe schaffte hier nur, dass ich über den DMX Configurator das Nano DMX-USB Interface auf 100 Kanäle eingeschränkt habe. Damit hat der billige DMX Controller in der LED BAR genug zeit, die Befehle auszuführen. Damit funktioniert schonmal die Ansteuerung.

              Problem 2, die deffekte LED BAR:

              Hier hat mich der Satz von makki mit dem Lötkolben auf die Lösung gebracht. Ich habe also die LED BAR auseinander gebaut und eine kalte Lötstelle so wie ein nicht eingestecktes Kabel gefungen. Nach dem die beiden Fehlerquellen behoben waren funktionieren nun beide LED BAR korrekt.


              So ein Aufwand für ein bischen Licht Aber nun geht es endlich.

              EDIT: @makki: Hast du noch die alte Version des Plugin's ohne Dali Dimmkurve? Diese Version eignet sich für Effektbeleuchtung mit Programmwahl nicht
              Gruss Patrik alias swiss

              Kommentar


                #67
                Zitat von swiss Beitrag anzeigen
                Problem 1, die DMX ansteuerung:

                Nach langem suchen und lesen vieler Forenbeiträgen fand ich heraus, dass die LED BAR nicht "Vollgas" fest ist. ...
                Abhilfe schaffte hier nur, dass ich über den DMX Configurator das Nano DMX-USB Interface auf 100 Kanäle eingeschränkt habe.
                Sollte auch aus dem Plugin gehen, beim initialisieren:
                N099 (temporär)
                oder
                E000099 (im EEPROM, vorsicht! nicht ständig sonst EEPROM tot..)
                schicken..

                Damit hat der billige DMX Controller in der LED BAR genug zeit,
                unglaublich Es ist bei verfügbarer Code-Lage schon wirklich fast eine Kunst, den DMX512-Empfang in einem 8bit uC zu versaubeuteln

                Hier hat mich der Satz von makki mit dem Lötkolben auf die Lösung gebracht.
                Aua!
                Aber ich sag ja immer: das Thema ist irrsinnig teuer/gefrickel, gerne auch mal beides

                EDIT: @makki: Hast du noch die alte Version des Plugin's ohne Dali Dimmkurve? Diese Version eignet sich für Effektbeleuchtung mit Programmwahl nicht
                Mach in Zeile 69 einfach statt:
                my $dgram = sprintf("C%03dL%03d\r\n",$dmxchan,$dimcurve[hex($msg{'data'})]);
                ohne die Kurve:
                my $dgram = sprintf("C%03dL%03d\r\n",$dmxchan,hex($msg{'data'} ));

                Für die nächste Version könnte man das per config-Flag einstellbar machen..

                Makki
                EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
                -> Bitte KEINE PNs!

                Kommentar


                  #68
                  Danke für die Hilfe
                  Gruss Patrik alias swiss

                  Kommentar


                    #69
                    Hallo,

                    ich versuche seit einigen Stunden das NanoDMX am Wiregate ans Laufen zu bekommen. Ich hab alles erst einmal am Windows Rechner mit DMX-Configurator getestet --> hat wunderbar geklappt.

                    Danach hab ich das NanoDMX ans Wiregate angesteckt und die Socketverbindung eingestellt. Ein ps liefert mir gefiltert das hier:

                    Code:
                    1474 pts/0    S+     0:00 grep socat
                    26859 ?        S      0:00 /usr/bin/socat /dev/dmx,raw,b38400,cs8,icanon=1,eol=71 udp-datagram:localhost:50011,bind=:50012,reuseaddr
                    Ich verstehe nicht wirklich was da abläuft, würde aber auch hier meinen, dass alles läuft.

                    Danach das Plugin aus dem SVN reinkopiert und versucht zu verstehen. Ich komme mit den Kommentaren hier nicht klar. In welchem Zusammenhang stehen $knx_startGA und die DMX Kanäle?

                    Code:
                    # Gruppenadressen DMX - leer um Versand zu unterbinden
                    # 8Bit/1Byte Dimmwerte werden 1:1 auf DMX-Adressen übersetzt
                    my $knx_startGA = "7/2/51"; #DMX-Kanal 1, DMX-Kanal 256=1/1/255, DMX-Kanal 257..512=1/2/0..255
                    my $dmx_channels = 512;     # Anzahl der DMX-Kanäle
                    # oder for XXX in array
                    Ich hab versucht hinter die Logik zu kommen und einfach nach der Variablen Deklaration ein $plugin_info{$plugname.'_startN'} = $startN; einzufügen. In der Log Datei ist aber nie etwas zu sehen gewesen. Oder habe ich die Funktion von $plugin_info falsch verstanden.

                    Im nächsten Schritt hab ich das Plugin mit perl -d gestartet und erhalte folgendes:

                    Code:
                    DB<1> s
                    Can't locate object method "new" via package "IO::Socket::INET" (perhaps you forgot to load "IO::Socket::INET"?) at DMX-Plugin.pl line 47.
                     at DMX-Plugin.pl line 47
                    Debugged program terminated.  Use q to quit or R to restart,
                      use o inhibit_exit to avoid stopping after program termination,
                      h q, h R or h o to get additional info.
                    Das sagt mir nun mal gar nichts. Steht das irgendwie im Zusammenhang mit
                    Code:
                    my $socknum = 6;                # Eindeutige Nummer des Sockets +1
                    Und was macht str2add / add2str? Ist denn die GA nicht generell ein String? Zumindest werden in den Plugins doch immer ASCII Operanten verwendet.

                    Ich hoffe ich verschiebe das Niveau mit meinen Fragen nicht zu sehr nach unten.

                    Danke,
                    Gruß Thomas

                    Kommentar


                      #70
                      Es wird von startGA an nach oben gezählt. Also

                      7/2/51 = 1
                      7/2/52 = 2
                      7/2/52 = 3
                      usw.

                      Am Ende, also bei 7/2/255 geht's dann direkt mit 7/3/0 weiter.

                      Gruß,

                      der Jan
                      KNX, DMX over E1.31, DALI, 1W, OpenHAB, MQTT

                      Kommentar


                        #71
                        Hallo Thomas

                        Läuft beidir das Plugin nicht auf dem Wiregate? Wenn ich die Fehlermeldun richtig deute fehlt direinPaket, dass es dir ermöglicht aus dem Perl-plugin auf den UDP Soket zu schreiben.

                        Er fragt in der Fehlermeldung ja explizit nach IO::Socket::INET das entsprechende Paket musst du gegebenenfalls von Hand nachinstallieren
                        Gruss Patrik alias swiss

                        Kommentar


                          #72
                          IO::Socket::INET ist aufm WG definitiv drauf, auf anderen sollte man selber herausfinden können, wie man das installiert (oder mit CPAN einfrickelt)

                          Makki
                          EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
                          -> Bitte KEINE PNs!

                          Kommentar


                            #73
                            Zitat von swiss Beitrag anzeigen
                            Hallo Thomas

                            Läuft beidir das Plugin nicht auf dem Wiregate? Wenn ich die Fehlermeldun richtig deute fehlt direinPaket, dass es dir ermöglicht aus dem Perl-plugin auf den UDP Soket zu schreiben.

                            Er fragt in der Fehlermeldung ja explizit nach IO::Socket::INET das entsprechende Paket musst du gegebenenfalls von Hand nachinstallieren
                            Hi,

                            danke, seh ich genau so.
                            -> use IO::SOCKET::INET führt zu nichts
                            -> packet locate, find gesucht, nix gefunden
                            -> debian packages durchforstet, nix gefunden
                            -> CPAN durchforstet, gefunden, runtergezogen
                            -> make, gcc installiert und modul IO installiert
                            -> zwei weitere Abende verbraten, zwei Flaschen Wein leer, Frust
                            ==> läuft immer noch nicht

                            Egal, leg ich erst mal auf Eis.
                            Trotzdem Danke.

                            Kommentar


                              #74
                              Hab jetzt nochmal nachgesehen: IO::SOCKET::INET ist im Perl-core, also da gibt nix nachzuinstallieren..
                              Vielleicht nochmal von vorne: was genau nicht funzt, das ist nicht sooo kompliziert aber man muss halt unterscheiden zwischen direkt und OLA/knxdmxd, da liegt vielleicht der Hase im Pfeffer weil es geht beides, aber nicht gleichzeitig(?)

                              Makki
                              EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
                              -> Bitte KEINE PNs!

                              Kommentar


                                #75
                                .... unfassbar.

                                Elaborierend über die Qualität irischen Whiskeys sitze ich hier und lasse meine Augen nocheinmal über Makki's Code schweifen ... und mir fällt auf, dass hier nicht

                                "IO::SOCKET::INET" steht, sondern "IO::Socket::INET".

                                Use Anweisung geändert ... geht!!!!
                                Code:
                                Use IO::Socket::INET;
                                benötige ich aber, warum auch immer, definitiv.

                                An alle Helfer:
                                Nach zweieinhalb Tagen suchen, lesen, testen, verstehe ich alle Hinweise
                                Im ersten Moment ließt sich das für einen Laien aber oftmals wie eine Steuererklärung --> hä? Liegt wohl daran, dass man als Experte manche Dinge bereits als Allgemeinwissen betrachtet, Laien dann aber nur ehrfürchtig und verunsichert aufblicken; geht mir zumindest in meinem Fachgebiet des Öfteren so.

                                Deshalb hier für die Nachwelt ... und sozusagen von Anfänger zu Anfänger ... noch ein kleiner Tipp für wie man Schritt für Schritt das NanoDMX ans Wiregate bringt:
                                1. Quick Check mit Windows
                                  Im ersten Schritt empfehle ich das NanoDMX entsprechend Anleitung im Handbuch an einen Windows PC Deiner Wahl anzuschließen. Auf der Hersteller Homepage den DMX Konfigurator downloaden, installieren und erst einmal Testen. So kann man, ohne sich mit Software zu beschäftigen, erst einmal Hardware oder Verdrahtungsfehler ausschließen. Wenn die LED's leuchten, gehts weiter mit Schritt zwei.

                                2. Anschluss am Wiregate
                                  NanoDMX am Wiregate anschließen. Mit "ls -la /dev/ | grep dmx" kurz prüfen ob NanoDMX erkannt wurde. Dann entsprechend Makki's Anleitung in Post 1 Socket einrichten.
                                  Der Socket stellt ein Interface zwischen USB Gerät und Netzwerk her. D.h. das USB Gerät ist jetzt über die IP Adresse des Wiregate und Port 50012 erreichbar. Im Downloadbereich gibt es ein Tool von Alfred, genannt HSIP mit welchem TCP/UDP Telegramme auf verschieden Ports abgeschickt werden können. Somit kann also einfach getestet werden, ob die Einrichtung des Sockets erfolgreich war.
                                  Konkret:
                                  Das NanoDMX erwartet natürlich ein spezielles Datenformat. Wie das aussehen muss, ist in der Datei "DMX4ALL_Commands.pdf" beschrieben. Ausgehend von der Annahme, dass das Endgerät auf DMX Kanal 1,2,3 (Farbe rot, blau, grün) reagiert, sollte man mit z.B. "C001L255" auf Port 50012 Farbe Blau in voller Stärke aktivieren können.
                                3. Plugin einrichten
                                  Erst wenn das klappt, Plugin installieren. Die im Plugin angegebene Startadresse entspricht DMX Kanal 1. Für jeden weiteren Kanal ist die sendende Gruppenadresse um 1 zu inkrementieren.


                                Ein fettes Danke an alle die geholfen haben.

                                Gruß Thomas

                                Kommentar

                                Lädt...
                                X