Trigger über IP / Browserbasiertes Interface

  • Hallo zusammen,

    für eine interaktive Installation bräuchte ich eine Idee von jemandem, der sich auskennt.

    Es geht um folgendes: Heute bekommt man z.B. für Arduino Netzwerk-Adapter extrem günstig nachgeworfen. So lässt sich problemlos z.B. ein Sensor realisieren, der bei Aktivierung einen Befehl in's Netz absetzt (z.B. 192.168.1.201/execdmx.php?sensorid=1&sensorvalue=123&).

    Jetzt meine Frage: Ist in DMXControl eine Möglichkeit vorhanden, über einen solchen Befehl z.B. einen DMX-Kanal auf einen übertragenen Wert zu setzen oder eine bestimmte Sequenz ablaufen zu lassen?

    Am Ende könnte sogar eine komplett browserbasierte Oberfläche stehen ...

    Mit den besten Grüßen,
    Martin

  • Könnte man per PHP-Scriptlösen, das führt midisend.exe aus mit bestimmten Parametern und dann über das Midiplugin in DMXC3. Midi deshalb weil mir gerade keine andere Möglichkeit der Steuerung von dmxc3 einfällt.
    Also httpaufruf->php->midisend.exe->Midiplugin->dmxc3.

    Aber so etwas soll ja in den nächsten Versionen kommen per Softdesk im Web. Da sollte .an dann auch anderes die Parameter übergeben können.
    Gruß
    Scyte

    Was mit Gaffer nicht klebt, ist kaputt! :rolleyes:

    Je mehr Käse desto mehr Löcher
    Je mehr Löcher desto weniger Käse
    Ergo:
    Je mehr Käse desto weniger Käse :thumbup:

  • Also PHP Script dürfte schon recht langsam werden (zumal du dafür einen Webserver mit PHP Support und PHP selbst brauchst), aber du kannst dir auch einfach ein Plugin für DMXC3 schreiben, das wäre die elegantere Lösung und geht vermutlich schneller, als du einen Webserver aufgesetzt und ein PHP Skript zusammengehackt hast.

    LG Martin

  • Aber so etwas soll ja in den nächsten Versionen kommen per Softdesk im Web.


    Scyte: Woher hast du denn diese Information? Softdesk im Web? Es ist nämlich meines Wissens nach nichts in die Richtung Web-Softdesk geplant. Zumal das auch nicht benötigt wird, weil DMXC schon einige andere Schnittstellen nach außen hat. Warum also dann noch eine proprietäre hinzufügen?

    Was jetzt außerdem auch schon geht, ist ArtNet. Wenn man also die Sensoren dazu bekommt, ein ArtNet-Paket zu schicken, dann kann das sowohl DMXControl 2 als auch 3 verstehen und darauf reagieren.
    Viele Grüße
    JP

    im Falle eines Falles klebt Gaffa einfach alles, denn Gaffa ist dein Freund und Helfer :thumbup:

  • JPK ich habe hier im Forum gelesen, dass der Softdesk weiter ausgebaut werden soll und dass dieser auch wenn ich mich recht errinere per Webschnittstelle systemübergreifend zur Verfügung stehen sollte, aber vielleicht aber ich mich da auch verlesen.

    Martin selbstverständlich wäre ein direktes Plugin einfacher als PHP, aber gibt es für dmxc3 eigentlich schon eine offengelegte Plugin-Schnittstelle? Eine Webschnittstelle (ohne den Weg über Artnet) hätte nämlich schon was. Das mittels PHP zu machen habe ich nur vorgeschlagen, da es der einfachste Weg OHNE Pluginschnittstelle ist, der mir eingefallen ist.
    Gruß
    Scyte

    Was mit Gaffer nicht klebt, ist kaputt! :rolleyes:

    Je mehr Käse desto mehr Löcher
    Je mehr Löcher desto weniger Käse
    Ergo:
    Je mehr Käse desto weniger Käse :thumbup:

  • Stefan und ich haben hier im Forum verbreitet, dass der Softdesk für DMXC 3.1 umgebaut wird. Das hat aber nichts mit einer Webschnittstelle zutun ;). Vielmehr ist aktuell der Softdesk als Plugin ausgeführt. Die Entwickler haben aber festgestellt, dass diese Herangehensweise aus verschiedenen Gründen für den Softdesk nicht geeignet ist. Daher wird der Softdesk direkt in DMXControl integriert um von Entwicklerseite aus mehr Möglichkeiten zu haben. Wie gesagt hat das aber nichts mit einer Webschnittstelle zu tun.

    Zu der offenen Schnittstelle haben sich die Entwickler auch geäußert: Es wird eine solche, offene, dokumentierte Schnittstelle für Plugins geben. Aber noch nicht in DMXControl 3.0 und vermutlich auch nicht in 3.1. Das liegt daran, dass die Schnittstelle noch nicht ganz festgeklopft ist und noch Wandlungen unterlegen sein kann. Solange das der Fall ist, macht es auch keinen Sinn, die Schnittstelle offen zu dokumentieren. Zu gegebener Zeit wird das aber getan. Wann das aber ist, können wir noch nicht sagen.
    Viele Grüße
    JP

    im Falle eines Falles klebt Gaffa einfach alles, denn Gaffa ist dein Freund und Helfer :thumbup:

  • Moin moin,

    soweit ich das verstehe, fungiert der Kernel von DMXC3 doch als Server mit einer eigenen IP-Adresse, richtig? Wie aufwändig wäre denn eine php-Basisschnittstelle mit 2 Befehlen ("getDMXValue.php?ch=123&" und "setDMXValue.php?ch=123&val=255") zu implementieren?

    LG, Martin

  • JPK deshalb habe ich ja den Umweg über Midi vorgeschlagen(keine offene Plugin Schnittstelle) das sollte keine Kritik an eurem Vorgehen sein. Zum Webinterface: dann habe ich mich wohl verlesen oder es mit einem Wunsch im Bugtracker verwechselt.
    Gruß
    Scyte

    Was mit Gaffer nicht klebt, ist kaputt! :rolleyes:

    Je mehr Käse desto mehr Löcher
    Je mehr Löcher desto weniger Käse
    Ergo:
    Je mehr Käse desto weniger Käse :thumbup:

  • Hallo zusammen,

    für eine interaktive Installation bräuchte ich eine Idee von jemandem, der sich auskennt. [...]
    Am Ende könnte sogar eine komplett browserbasierte Oberfläche stehen ...

    Mit den besten Grüßen,
    Martin

    Du Postest im Unterforum der V3 - ich erlaube mir aber trotzdem die Frage: Muss es V3 sein? Bei V2 gibt es dokumentierte Schnittstellen für so was (nicht, dass ich mich damit auskennen würde).

  • Wäre auch für die Lösung über Art-Net. Du musst ja nicht die komplette Art-Net Funktionalität implementieren, ein einfaches Senden von einem ArtDMX Paket an das Netzwerk ist die einfachste Lösung. Brauchst noch nicht mal TCP, denn das ist nur ein einziges UDP-Paket, welches du da senden musst. Aufbau ist in der Art-Net Spezifikation beschrieben.

  • Er will aber nicht nur senden, sondern auch abfragen... Geht auch über Artnet, aber nicht nur mit einem Befehl.
    Gruß
    Scyte

    Was mit Gaffer nicht klebt, ist kaputt! :rolleyes:

    Je mehr Käse desto mehr Löcher
    Je mehr Löcher desto weniger Käse
    Ergo:
    Je mehr Käse desto weniger Käse :thumbup:

  • Hy,

    Theopraktisch kann sowas ganz einfach als Kernelplugin erstellt werden. Genießt jetzt nicht wirklich die höchste Priorität, aber wenn jemand ein Webservice Plugin in .Net schreiben will, unterstütze ich gerne dabei, wie Intern die richtigen Funktionen aufgerufen werden. Eine Vorkenntnis im Erstellen von Webservices in .Net setze ich aber voraus, sonst ist der Trainings Aufwand zu groß.

    Wichtig wäre mir nur, das die REST API sauber ist. Am besten mit Swagger oder so dokumentiert.

    Wahrscheinlich ist das für einfache Befehle wie "Get / Set DMX, Starte / Stoppe Cuelist" in ein paar Stunden programmiert und dokumentiert, aber die haben wir halt nicht :)

    Gruß Arne

    Das Leben ist NP vollständig!

  • Hallo Arne,

    vielen Dank für deine Einschätzung. Ich könnte mir vorstellen, dass eine derartige Schnittstelle interessante Möglichkeiten eröffnet - gerade was die Interaktionsfähigkeit von DMX-Installationen angeht. Oder ist die Idee völlig bescheuert?

    Gibt es denn hier im Forum jemanden, der sich das (Mit-)Programmieren eines solchen Plugins zutraut?
    Hilft das hier evtl weiter: http://php.net/manual/en/class.dotnet.php ?

    LG, Martin

  • Ich würde gerne nochmal die Idee eines Webserver-Plugins für den Kernel aufgreifen. Die Funktionalität bräuchte nur sehr begrenzt sein - alles übrige könnte man dann mit JS bzw. PHP realisieren:

    - 192.168.1.123/dmxc.php?getChannel=12 // Wert abfragen
    - 192.168.1.123/dmxc.php?setChannel=12&value=123& // Wert setzen
    - 192.168.1.123/dmxc.php?fadeChannel=12&value=123&time=1000& // Kanal von Ausgangswert in best. Zeit zu neuem Wert ändern

    Kann mir jemand sagen, wie aufwändig so etwas ist - d.h. wie viele Arbeitsstunden ich veranschlagen müsste, wenn ich ein solches Plugin zur Programmierung in Auftrag geben würde?

    LG, Martin

  • . . . Wahrscheinlich ist das für einfache Befehle wie "Get / Set DMX, Starte / Stoppe Cuelist" in ein paar Stunden programmiert und dokumentiert, aber die haben wir halt nicht :)

    . . . für eine interaktive Installation bräuchte ich eine Idee von jemandem, der sich auskennt.
    -------------------------
    Ich kenne mich mit sicherheit nicht so aus wie die von DMXC ! doch für Interaktive Installationen mit Web oberflächen interessiere ich mich auch !!! Rechnet mal hoch was machbar währe ??!!
    -------------------------
    Angenommen ich würde dich als programmierer beauftragen sowas zu erstellen ? Was würde ein Arbeitstag eines Programmierers kosten um sowas zu erschaffen ??

    Ich verwende eine Benutzeroberfläche auf html Basis um herstellerübergreifend auf ALLE in der Lokation vorhandenen geräte mit einem Fingertip vollständige zenarien abzurufen , oder einfach ALLE beteiligten geräte von Blau/Grün auf Black/Orange umzufärben dabei aber die Moves nicht zu unterbrechen . . .

    Ich glaube das so eine Benutzeroberfläche wie "Webserver-Plugin" auf php Basis aufgesetzt auf eine Lichtsteuerung völlig neue Welten eröfnet !!
    . . . vor allem außerhalb von dem eigentlichen Vorgesehenen Einsatzbereich einer Lichtsteuerung !
    Jeder kann seine eigene Oberfläche gestallten !! Butoons - Slider ...und Web selber ist auch Programmierbar !! das mache ich ja schon seit 1995 auf Primitive html-art , allerdings ohne rückmeldung und DB ...

    Was könntest du erst mit deinem Prog-wissen erschaffen ????
    (vieleicht Denke ich auch zu weit voraus, ohne das dazugehörige wissen zu haben - aber es funktioniert ! )

    Gruß Ralf

  • Hi Jungs,

    einen Webservice mit PHP zu bauen für DMXC ist reichlich schwachsinnig als Idee ;)
    .NET bietet genau dafür eine eigene Klassenstruktur, womit ihr deutlich schneller Erfolge erzielen könnt.

    Eine einfache API in C# zusammenzuhacken geht schnell, ich würde schätzen 5-10h Arbeitsaufwand für jemanden der sich mit Webservices auskennt. Die einzige Schwierigkeit dabei wird wohl sein, die Pluginschnittstelle von DMXC auseinanderzunehmen.

    Aber Achtung:
    Die API die ihr als Plugin zur Verfügung stellen wollt, hat aber nichts mit einer "Interaktiven Weboberfläche" zu tun, im Endeffekt trifft es das von quest4exit geschilderte recht gut, was ein Webservice zur Verfügung stellt.

    Die Weboberfläche wäre dann eine Drittsoftware (z.B. nginx oder Apache) auf der ihr eine Weboberfläche in PHP schreibt, die die API intern nutzt (kann man auch mit Javascript und HTML clientseitig zusammenbauen, aber ist hässlich)
    Das wäre dann ein Anwendungsfall. wie ihn Ralf geschildert hat.

    Das würde dann schematisch so aussehen:
    DMXC -> KernelPlugin (API) -> Webinterface (auf Apache, nginx, etc.) -> Client.

    Eine Weboberfläche zu programmieren, wird deutlich länger als 10h dauern.

    Ansonsten ist es recht genau so wie Arne es geschrieben hat, wer das anfangen möchte, kann mir auch Fragen zur Pluginschnittstelle stellen, ich habe sie ja schonmal genutzt.

    Viele Grüße,
    Martin

  • Hallo zusammen,

    nur mal so als Idee zu dem Thema Oberfläche.

    Fände es da genial, wenn man einfach den Softdesk benutzen könnte.

    Somit hätte man auch gleich einen flexiblen Editor.

    Soweit ich weiß kann man im Moment den Softdesk auch schon als xml exportieren.

    Gruß Philipp

  • Um diesen Dialog nicht zu überreitzen habe ich das als eigenes Thema mal Getextet

    Ich würde mich freuen, wenn hier im Forum ein neues Grundthema erstellt würde: "Außergewöhnliches"
    mit zwei Bereichen:
    "Web-basierende Benutzeroberfläche" und "Nichtstandartmäßige Anwendungsbereiche"
    In dem man sich dann mit dieser Thematik auseinandersetzen kann :

    ...für eine interaktive Installation bräuchte ich eine Idee von jemandem, der sich auskennt.

    Wenn wir dran Arbeiten, wird es auch Funktionieren . . .

    Gruß Ralf

  • Wenn ich euch frage , ich möchte einen Roboterarm bauen der auf einem Schlagzeug nach MIDI noten spielt ??
    Was würdet ihr mir dazu antworten ??

    warscheinlich mit . . . warum nicht gleich einen Tonerzeuger ansenden . . .

    hier mal was machbar ist !!

    ACHTUNG das ist nicht von mir , sondern von einem der das durchgezogen hat und man beachte den "Monitorständer der den Hals darstellt . . .

    https://www.youtube.com/watch?v=JAllZgmkFzk

  • Newly created posts will remain inaccessible for others until approved by a moderator. The last reply was more than 365 days ago, this thread is most likely obsolete. It is recommended to create a new thread instead.