Lezlie Geschrieben 4. Mai 2009 Teilen Geschrieben 4. Mai 2009 Hallo zusammen, ich bin neu hier und darf nun nach jahrelanger Pause in der Webentwicklung mal wieder ein solches Projekt in Angriff nehmen. Wie viel sich da verändert hat ... owe ... Mein Problem ist folgendes: Auf einem Embedded-Gerät (mit natürlich geringen Ressourcen) soll eine Webseite aufgerufen werden können. Diese Seite soll unter anderem Daten des Gerätes, die sich ständig ändern, anzeigen. Mit der Anforderung kam ich zu AJAX. Das scheint mir die einzige Möglichkeit zu sein Daten vom Server zu holen ohne dauernd die kompletten Seiten neu zu laden. Somit steht fest, dass Javascript clientseitig eingesetzt werden soll. Nun aber zu meinem Problem: Was mache ich serverseitig? Ich brauche serverseitig eine Möglichkeit C-Funktionen aufzurufen, die mir die Daten des Gerätes liefern oder mit denen ich Daten schreiben kann. Zudem brauche ich eine Benutzerverwaltung (Gruppen) und eine Möglichkeit meine Webseiten in verschiedene Sprachen zu übersetzen. So viel zu den Anforderungen. Da nicht viele Ressourcen verbraucht werden sollen, wird auf dem Gerät kein Apache laufen, sondern irgendein kleiner schnuckeliger Webserver. Wenn möglich sollte wohl auch kein PHP eingesetzt werden. Mittlerweile habe ich mich etwas durch das Internet gelesen, allerdings bin ich noch zu keiner Lösung gekommen, weil mir einfach das Wissen fehlt. PHP CLI kann wohl Shell Befehle ausführen, bei Perl kann man wohl mit dem Inline-Modul (inline.pm) oder der XS-Schnittstelle C-Bibliotheken einbinden, oder mit Python mit dem ctypes-Modul. Hat von euch jemand schon mal etwas derartiges gemacht/versucht oder Ideen für eine Lösung? Bin für jeden Tipp dankbar, weil ich doch sehr im Nebel herumstochere. Viele Grüße, Nova Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Guybrush Threepwood Geschrieben 4. Mai 2009 Teilen Geschrieben 4. Mai 2009 Leider hast du nicht gesagt was der Server sein soll (oder ich habs überlesen). Wenn es ein Windows System sein soll dann fährst du eigentlich mit ASP.Net sehr gut. Das bietet dir auch direkt eine einfache zu Verwdendende Ajax Schnittstelle an. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Aiun Geschrieben 4. Mai 2009 Teilen Geschrieben 4. Mai 2009 naja, Ajax sendet auch nur "normale" http-Requests an den Server. d.h. im zweifelsfall einen kleinen Webserver mittels C abbilden und die Anfragen direkt abarbeiten. Wobei das für mich nach viel Arbeit klingt, verglichen mit einem Apache (oder vergleichbarem) und einer scriptsprache dabei. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kingofbrain Geschrieben 4. Mai 2009 Teilen Geschrieben 4. Mai 2009 Servus, ich habe Dich so verstanden, dass das Gerät Daten über sich selbst per HTTP abholen soll. Ist das richtig? Wenn ja, warum? Oder soll das Endgerät Daten über den Server per HTTP abholen? Wie Du auf dem Server die Anbindung an die C-Geschichte machst, ist wohl von der Umgebung abhängig, das sollte mit so ziemlich jeder Sprache gehen (notfalls über einen Aufruf des C-Programms über die Kommandozeile und Interpretation des Ergebnisses. Du kannst das In PHP, Java, ASP, ... machen. Und rausrendern kannst Du es dann als einfache Textliste, CSV, XML, HTML, JSON, ... Peter Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Lezlie Geschrieben 5. Mai 2009 Autor Teilen Geschrieben 5. Mai 2009 Hallo zusammen, danke für die bisherigen Antworten. @Guybrush Threepwood: Sorry, mein Fehler. Ich hatte es tatsächlich nicht geschrieben. Das System ist ein Linuxsystem. Momentan habe ich probeweise für reine HTML-Seiten den lighttpd installiert. @kingofbrain: Auf dem Gerät selbst läuft ein Webserver (momentan testweise lighty). Auf den Webseiten sollen dann Daten über das Gerät angezeigt werden, z. B. in welchem Modus es sich befindet. An das Gerät können auch noch andere Geräte angeschlossen werden, die dem "Hauptgerät" Daten senden. Auch diese Daten sollen auf den Webseiten angezeigt werden. Die Webseiten sollen ermöglichen die Daten remote anschauen zu können ohne direkt vor dem Gerät sitzen zu müssen. Das heißt vom Webserver aus muss auf die Datenverwaltung zugegriffen werden. Diese Schnittstelle ist in C geschrieben und ich kann Lese- und Schreibfunktionen aufrufen. Ich denke die Lösung müsste so aussehen, dass ich ein dynamisches Feld auf der Webseite (z. B. ob eine Lampe gerade brennt) per HTTP-Request zum Webserver update. Auf dem Server dann ein Skript ausführe, mit dem ich die C-Lesefunktion aufrufe und den Wert dann per HTTP wieder an die Webseite zurückschicke. Ist nur die Frage wie ... ohne zu viele Ressourcen zu verbraten ... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kingofbrain Geschrieben 5. Mai 2009 Teilen Geschrieben 5. Mai 2009 Servus, ok, dann habe ich es verstanden, glaub ich. Dann musst Du wirklich auf dem Webserver eine Möglichkeit schaffen, die Daten, z.B. über POST oder PUT auf den Server zu transportieren. Dort könnten sie optimalerweise gecached werden, weil bei einer Live-Abfrage vom Server zum Client dieses Clientgerät seinerseits wieder einen Serverprozess zur Verfügung stellen muss, damit die aktuellen Daten vom Server aus gepolled werden können. Da würde ich lieber Push vom Client zum Server verwenden und dieser merkt sich den Zustand seiner angeschlossenen Geräte. Wenn sich dann ein Gerät für einen bestimmten Zeitraum nicht meldet, wrid davon ausgegangen, dass es nicht mehr online ist. Peter Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.