die selbe idee hatte ich gestern abend im bett auch.
flash und ips geht wenn dann nur über soap.
hab ne weile bei google gesucht und festgestellt das dass nichts für mich ist.
kannst ja selber mal suchen unter „soap, flash“.
das ist mir viel zu hoch, zumal es dann ja auch visuell werden sollte.
man bekommt die grundsätzliche Kommunikation zu IPS relativ einfach, da SOAP-Verbindungen von Flash nativ unterstützt werden.
Hatte dazu auch schon mal einen Test-Button programmiert, der eine boolsche IPS-Variable ausliest und entsprechend toggeln kann.
Nachfolgend ein paar Flash AS2 Codeschnipsel:
//Webservice zum IPS-Variablenmanager erstellen
import mx.services.WebService;
var IPSVar = new WebService("http://IPS-SERVER:3773/wsdl/IIPSVariableManager");
//IPS-ID 12345 lesen
VarStatus = IPSVar.ReadVariableBoolean(12345);
VarStatus.onResult = function(result) {mcMTec.VarDesc = result;}
//IPS-ID 12345 auf true setzen
IPSVar.WriteVariableBoolean(12345,1)
//IPS-Kernelversion auslesen
import mx.services.WebService;
var IPSKernel = new WebService("http://IPS-SERVER/wsdl/IIPSSimpleKernel");
KernelVersion= IPSKernel.GetKernelVersion();
KernelVersion.onResult = function(result) {mcMTec.VarDesc = result;}
AS (ActionScript, ist die Programiersprache in Flash) in der Version 2.0 ist er ab der Version „Flash MX 2004“ im Einsatz.
Die Flashdatei muss so angelegt sein, das auch AS2 aktiviert ist, dieses findet man unter „Datei“ - „Einstellungen für Veröffentlichung“.
Dann muss noch die Klasse „WebService“ regestriert werden:
„Fenster“ - „Andere Bedienfelder“ - „Allgemeine Bibliotheken“ - „Klassen“.
Dann einfach „WebServicesClasses“ in das Projekt ziehen.
Dann geht folgender Code zum auslesen einer Variablen:
Anpassen: IPS-Server = IP oder Adresses des Servers
IPS-ID: Die ID der Variable
Je nach Variable noch „String, Interger etc.“ anpassen, bei ReadVariableString.
klappt es nur über den Browseraufruf nicht?
Was passiert denn wenn Du über die Flash-IDE mit „STRG+ENTER“ den „Film testest“?
Ohne weitere Infos zum Flash-Film ist es schwierig zu helfen, aber Du kannst auch mal folgendes versuchen und während der Laufzeit das Ausgabefenster beobachten:
So wie es aussieht, hat das etwas mit der zeitlichen Abarbeitung der Ereignisse zu tun.
Wenn das onResult-Ereignis etwas später eintritt, dann ist Deine Variable „Var1“ beim Zuweisen auf „textItem.text“ noch nicht definiert.
Am Besten legst Du alle von „onResult“-abhängigen Funktionen innerhalb der Funktion ab oder speicherst das Ergebnis in einem temporären dynamischen Text (textItem.text)
So
Jetzt hab ich das erste Flash fertig um IP-Symcon Werte anzuzeigen.
Problem ist nur es laeuft auf dem PC ohne Probleme.
Auf dem Chumby bleiben die Felder leer und es gibt auch keine
Netzaktivitaeten.
Hab das Flash-File auf die Chumby Seite in meinen privaten Bereich
hochgeladen. Beim Starten laedt der Chumby alle ausgewaehlten
„Widgets“ aus dem Internet. Alle Programme auf dem Chumby sind Flash-Files.
Alle Flash-Files werden nacheinander ca alle 30 s gestartet oder man waehlt eins
aus was staendig angezeigt wird.
Ich denke es ist ein Problem mit der Flash Security Policy.
Der Zugriff auf andere Domains ist normalerweise gesperrt. Bei solchen Cross-Domain Zugriffen regelt dann eine cross-domain.xml auf dem Remote-Server die Rechte. Unter IPS mit dem SOAP-Port 3773 kenne ich keine Möglichkeit dies zu realisieren.
Du kannst die Cross-Domain umgehen, indem Du die Flash-Datei im Webfront unter beispielsweise http://server:82/flash/movie.swf ablegst und auch so aufruft.
Wichtig ist nur, dass die Browseradresse mit der SOAP-Adresse im Actionscript identisch ist.
Wenn Du also einen SOAP-Webservice auf die Adresse 192.168.10.8 mit
var IPSVar = new WebService("http://192.168.10.8:3773/wsdl/IIPSVariableManager");
anlegst, dann muss die Browseradresse auch „http://192.168.10.8:82/flashmovie.swf“ lauten.
Sind nicht auf dem IPS-Server.
Wenn es ein Domaenproblem ist muesste ich doch nur den
Chumby in meine Domaen kriegen ?
Da laeuft Linux drauf und man root Zugriff
Hab Dich schon richtig verstanden und hier im Forum auch schon etwas über das Gerät gelesen, aber die Sicherheits-Richtlinien von Flash-Dateien sperren den Netzwerkzugriff zu Remote-Verbindungen.
Nach meiner Kenntnis, bekommst Du mit dem Flash-Film auf dem Chumby keinen Zugriff auf den IPS-Server.
Einzige Möglichkeit ist, wenn das Flash-File auf dem IPS-Server aufgerufen wird und somit lokal über den Webserver eine SOAP-Verbindung zu IPS aufbaut.
Kannst Du im Chumby keine herkömmliche Internetseite anzeigen?
Da mich das Teilchen auch interessiert mal eine Frage zu den Widgets.
Werden diese lokal im Chumby geladen oder über den Webservice von myChumby?
Bzgl. des Cross-Domain-Zugriffes dürften ja auch keine Wetterseiten oder andere Dinge gehen die auf externe Daten zugreifen, oder habe ich da etwas falsches Verstanden.
Dann hätte ich noch eine Frage bzgl. der Helligkeit des Chumby. Da er hauptsächlich als Wecker neben meinem Bett dienen soll, wie hell ist das Display wenn nur eine Uhr mit schwarzen Hintergrund und weißer oder grauer Schrift zu sehen ist.
ich habe den Chumby jetzt seit einer Woche. Ich bin total begeistert von den „kleinen“.
Ich habe bis jetzt alle Widgets über myChumby geladen. Des weitere habe ich zu Testzwecken das typische „Hello World“ Script/Widget über einen USB-Stick gestartet. Dazu musste ich aber das normale Programm/Movie stoppen. Ich bin da noch nicht wesentlich weite da ich dieses Wochenende mein HTC bekommen habe. Wenn ich 1007 aber richtig verstanden habe werden selbst „geklöppelte“ Widgets über den Umweg des Internets in den Chumby geladen. Ich habe mir das Flash MX 2004 Pro besorgt und wollte nun wieder einsteigen.
Du kannst den Chumby stufenlos dimmen. Wenn dir das dann immer noch zu Hell ist, kannst Du im „Night-Mode“ den Bildschirm komplett ausschalten.
Anders herum:
Wenn der Bildschirm aus ist und Du berührst den Bildschirm geht der Chumby wieder in den „Night-Mode“. Wenn der Chumby im „Night-Mode“ ist und Du berührst den Bildschirm ist der „Night-Mode“ aus