Hallo Freunde der LED-Beleuchtung,
Zeit den ersten Punkt auf meiner ToDo-Liste abzuhaken. Hier also das Protokoll für die Remote-Control der Szenen-Auswahl:
Es ist nicht sehr einfallsreich aber es funktioniert
Ich gehe im Folgenden davon aus, dass die Remote-App (RM-App) aus nur einer Combo-Box besteht.
Die Kommunikation erfolgt wie schon erwähnt über ganz ordinäre UDP-Pakete. Die RM-App muss zyklisch (ich habe bei mir 100ms gewählt) prüfen ob ihr ein UDP-Paket geschickt wurde. Wenn eines angekommen ist, dann muss die App den Inhalt des Paketes prüfen und wenn dieser einen der drei folgenden Fälle darstellt entsprechen reagieren:
"GLEDIATOR;ADD_SCENE;Name_der_Szene;"
--> Die RM-App nimmt den STRING zwischen den letzten beiden ;; und fügt ihn an die letzte Stelle (ganz unten) in seiner Combo-Box.
"GLEDIATOR;SET_SELECTED_INDEX;Nummer_der_Szene;"
--> Die RM-App stellt ihren ausgewählten Index auf "Nummer_der_Szene". (Achtung "Nummer_der_Szene" kommt als STRING)
"GLEDIATOR;CLEAR_LIST;DUMMY;"
--> Die RM-App löscht alle einträge in ihrer Combo-Box
Seinerseits muss die RM-App natürlich auch ab und zu mal was an GLEDIATOR senden, nämlich:
Wenn die Verbindung hergestellt wird (genauer wenn der UDP-Listener der RM-App gestartet wurde) schickt die RM-App folgendes UDP-PAket an GLEDIATOR:
"GLEDIATOR;GET_REQUEST;dummy;"
Wenn man in der Combo-Box eine neue Szene anklickt muss die RM-App folgendes UDP-Paket an GLEDIATOR senden:
"GLEDIATOR;SET_SCENE;Nummer_der_Szene;dummy;"
Nummer_der_Szene ist dabei der aktuell selektierte Index (als eine Zahl, NICHT der Name der Szene) der Combo-Box. (Achtung: Die Zahl als STRING in das Paket einbauen!)
Das war's schon!
Na gut vielleicht sollte man der RM-App noch drei Eingabe-Felder spendieren in die man einträgt:
1.) Die Ziel-IP-Adresse an die die UDP-Pakete geschickt werden sollen (also die IP-Adresse des Rechners auf dem GLEDIATOR läuft).
2.) Den Ziel-Port an den die UDP-Pakete gesendet werden (also den Port auf dem GLEDIATOR lauscht).
3.) Den eigenen Port auf dem man zyklisch auf UDP-Pakete von GLEDIATOR wartet.
Zudem sollte dann noch ein Button rein, mit dem man den Socket (also das zyklische warten auf UDP-Pakete) öffnet bzw. schließt. Hier sollte man nach dem ÖFFENEN das oben beschriebene Paket "GLEDIATOR;GET_REQUEST;dummy;" senden, damit man von GLEDIATOR die aktuelle Liste bekommt!
So das war aber wirklich alles!
Nur um ganz sicher zu gehen: Anführungszeichen "" am Anfang und Ende der oben beschriebenen Pakete werden natürlich NICHT mitgeschickt!
Nun bin ich ja mal gespannt, ob jemand das auf nem Tablet / Androit / Iphone / Ipad umsetzen kann!
Anderes Thema (auch wenn ich es nur ungern anspreche ). Wir haben bisher all unsere Projekte auf unserer Projektseite mit Schematics, Layouts, Firmware, Doku, u.s.w. zur freien Verfügung bereitgestellt. Auch mit den aktuellen RGB-Matrix-Controller-Boards werden wir das so handhaben! Jeder soll unsere Projekte nachbauen und für sich kostenlos nutzen können!
Auch GLEDIATOR kann jeder, ob privat oder im Job, kostenlos nutzen! Auf Änderungswünsche, Zusatzfunktionen u.s.w. werden wir so gut es geht eingehen. Was wir aber auf keinen Fall möchten ist, dass irgendjemand daherkommt, den Source-Code vom GLEDIATOR hernimmt, ein paar Kleinigkeiten ändert und das Ganze dann in irgendeiner Form als "seine" SW vertickt! Und genau diese Gefahr sehen wir wenn wir GLEDIATOR offen ins Netz stellen! Sicher wird KEINER von Euch so etwas machen, weil ihr alle nette Leute seid! Aber leider gibt es auch noch andere Leute in den unendlichen Weiten des Internet!
Also seid uns bitte nicht böse wenn wir den Code nicht "Open Source" zur Verfügung stellen!
------
Das dynamische Trigger-Level kommt auf alle Fälle auf die ToDo-Liste. Ich bin auch der Meinung das S2L-Effekte am besten kommen!
Die Farbpaletten bei "Falling Objects" und "Meta Balls" werd ich mir nochmal anschauen!
2 oder mehr Effekte auf jeder Seite zu mischen wüde m.M. die Einfachheit von GLEDIATOR irgendwie stören
So nun geh ich zu meiner Frau aufs Sofa, die mich schon seit 45 Min. ruft und ich immer sage "Noch 2 Min."