Autor Thema: "Easy-Server"  (Gelesen 10194 mal)

Offline Michael~F

  • Jr. Member
  • **
  • Beiträge: 56
"Easy-Server"
« am: August 03, 2009, 04:29:27 Vormittag »
Hallo zusammen,

um mein Haus nach meine Vorstellungen visualisieren zu können baue ich mir gerade einen "Easy-Server".

Ich habe schon folgende Punkte realisiert:
Server
  • Alle Funktionen der easy_com.dll per Kommandozeile ansprechbar
  • Eigenes Connection Handling (Seriell/Ethernet) mit disconnect timeout (es muss nicht für jeden Vorgan erst eine Verbindung aufgebaut werden -> sehr gute Performance)
  • write_object_value wurde erweitert um auch "Clicks" per console senden zu können.
http-task (optional)
  • Mappt alle Konsolenkommandos auf http
telnet-task (optional)
  • Fernsteuerung für die Konsole
JavaScript-API (noch nicht fertig, Verwendung über http-task oder div. Serverspezifische filter)
Javascript-API (100% Funktionsumfag der easy_com.dll) für webinterface (setzt auf Webserver auf). Das ist der eigentliche Anlaß für die gesamte Entwicklung. Ich will demnächst alles über ein Webinterface schalten und abfragen können.

folgendes ist angedacht (hier fehlt z.T. noch das know how):
ISAPI-Filter für IIS: Kommunikation mit Server analog eigenem http-task, keine eigene Logik
ISAPI-Filter für IIS: Kommunikation mit Server analog eigenem http-task, keine eigene Logik
DSO2-Filter für Apache: Kommunikation mit Server analog eigenem http-task, keine eigene Logik
DSAPI-Filter für Domino: Kommunikation mit Server analog eigenem http-task, keine eigene Logik


Hat vielleicht noch jemand Ideen, welche Funktionen man noch brauchen könnte?

Offline Knodelpa

  • easy god
  • *****
  • Beiträge: 1410
  • I love easy-Forum.net
Re: "Easy-Server"
« Antwort #1 am: August 08, 2009, 12:48:00 Nachmittag »
Hallo Michael,

ich stecke da nicht so tief drin. Was kann man mit deinem Server alles machen, bzw. wo kann man deinen Server einbinden. Sicher ein hoch interessantes Thema. Vielleicht kannst du uns noch einige zusätzliche Infos geben!?

Viele Grüße
Paul


Offline Michael~F

  • Jr. Member
  • **
  • Beiträge: 56
Re: "Easy-Server"
« Antwort #2 am: August 08, 2009, 12:59:51 Nachmittag »
Der Server bietet die Möglichkeit, auf alle Funktionen der easy_com.dll per Console, Telnet und HTTP zugreifen zu können.

Die Idee ist entstanden, als ich anfing über die DLL via LotusScript am Domino-Server Licht zu schalten. Nun, durch die Notwendigkeit bei Scripzugriffen immer zuerst den Port öffnen zu müssen entsand ein Delay, der für mich auf Dauer nicht akzeptabel war, sollte es nicht bei einer Spielerei bleiben.

Der Server hällt nun die Verbindung und kann selbst direkt angesprochen werden, so dass man bei bestehender Verbindung quasi in Echtzeit schalten kann.

Ich würde gern in den nächsten Tagen mal eine Testversion freigeben, muss dazu aber vorher noch ein paar Dinge abklären.

Offline Michael~F

  • Jr. Member
  • **
  • Beiträge: 56
Re: "Easy-Server"
« Antwort #3 am: August 10, 2009, 08:19:08 Vormittag »
Jetzt ist schonmal Schalten über HTTP möglich :)

Allerdings ist es unmöglich, einen schnellen Klick vie HTTP zu realisieren, da der Overhead einfach zu groß ist und man Klickzeiten von 10-20ms (z.B. für Ein/Aus bei Dimmern notwendig) niemals erreichen kann. Deshalb kann das schnelle Klicken nun auch der Server über eine spezielle Syntax von WRITE_OBJECT übernehmen.

Die JavaScript-API ist in der Zwischenzeit soweit, verschiedene Button-Typen parametrisiert zu erstellen (s. Anhang)...

Offline holzwurm

  • Jr. Member
  • **
  • Beiträge: 36
Re: "Easy-Server"
« Antwort #4 am: Dezember 10, 2009, 22:28:10 Nachmittag »
Hallo Michael,

leider habe ich deinen Beitrag erst jetzt gesehen.

Da ich vor einem ähnlichen Problem gestanden habe wie du habe ich ebenfalls einen Server für die easy gebaut, den ich über die Kommandozeile mittels PHP von einem Webserver aus ansteuern kann.
Damit ist es dann von jedem Browser aus möglich.

Ich finde die Möglichkeit sehr praktisch da man damit dann sehr unadhängig von dem Eingabedevice ist, auch wenn die Reaktion etwas träger ist. Ich bin dazu übergegangen bestimmte Funktionen mit in das Serverprogramm zu packen und so die Funktionen etwas kompfortabler zu machen.

Nach und nach werde ich das dazu benutzen um den Status abzufragen, Temperaturen zu protokollieren und eine Fernbedienung für "Kompfort-Funktionen" mittels Webbrowser z.B. vom iPod aus zu realisieren.

Vieleicht kannst du mir ja mal deine Ideen mitteilen.

Gruss
Dietmar 

Offline Michael~F

  • Jr. Member
  • **
  • Beiträge: 56
Re: "Easy-Server"
« Antwort #5 am: Dezember 14, 2009, 11:33:15 Vormittag »
Die trägere Reaktion kann ich so nicht bestätigen. Bei meinem Ansatz gibt es eine Autoconnect, -disconnect funktionalität. D.h. bei einem Zuriff, wird ggf. automatisch der voreingestellte Com-Port geöffnet und bleibt bis zum eingestellten Timeout offen. Alle folgenden Zugriffe gehen dann in Echtzeit durch. Ich hab lediglich die Syntax für Schaltimpulse erweitert, da es über http, telnet oder die Kommandozeile unmöglich ist innerhalb von 10ms ein Signal auf 1 und dan wieder auf 0 zu setzen.

Offline holzwurm

  • Jr. Member
  • **
  • Beiträge: 36
Re: "Easy-Server"
« Antwort #6 am: Dezember 15, 2009, 08:29:04 Vormittag »
Hi,

hab den "Fehler" gefunden.
Ich hatte beide Programm-Bestandteile zur Fehlersuche mit der Möglichkeit zum Erstellen von Logfiles ausgestattet. Kaum protokolliert man weniger, läuft es wie am Schnürchen.

Bei meiner Lösung sieht es so aus, dass ich einen "Server" hab der immer über die COM-Schnittstelle mit der easy verbunden ist.
Der oder die "Clients" können dann per TCP mit ihm in Verbindung treten.
Damit könnte ich dann auch von verschiedenen Rechnern oder Programmen aus auf die Schnittstelle zugreifen. Erschien mir die Eleganteste Lösung.

Die Idee Schaltimpulse direkt auszulösen ist gut, das werde ich bei Gelegenheit auch mit abbilden, ist ja kein grosser Aufwand.

Im Moment quäle ich mich mehr mit der Gestaltung der html-Seiten.

Gruss
Dietmar