Hallo ihr Lieben! Ich habe vor, Drehzahldaten eines Drehzahlmessers via CGI im Internet zu veröffentlichen. Das heißt, ich übergebe über den Parameter Daten an meinen Webserver. Da ich die Drehzahldaten auf dem Webserver grafisch darstellen will (in Form eines Drehzahlmessers eines Autos) tut sich folgende Frage auf: Wie kann ich mit HTML ein Bild abhängig von übergebenen Parametern "animieren". Einfach mehrere Bilder nehmen, die je nach Ereignis (je nach Drehzahl/min) veröffentlicht wird? Es sollte schon etwas professioneller aussehen und nicht wie eine 0-8-15 HTML-Seite ;) Falls ich etwas finde, was meinen Vorstellungen entspricht, poste ich es hier. Vielen Dank!
Hmmm, ich würde das vlt. nicht als Grafik machen, sondern via javascript, da gibts im netz ein paar nette beispiele für Uhren. Die Daten holst du dir dann via AJAX von einem Server.
Sofern es nicht mit jedem auch steinalten Browser funktionieren muss, könntest Du Dir mal SVG ansehen. Dazu solltest Du eine Technik anwenden, die geänderte Daten (in Deinem Fall also wohl die Drehzahl) ohne Neuladen der Seite zu aktualisieren - das Stichwort hierfür lautet Ajax. Das allerdings setzt eine clientseitige Skriptsprache voraus, hier bietet sich Javascript an, denn das unterstützt so gut wie jeder Browser.
Nun ich weiß jetzt nicht genau was Ajax ist. Die Daten zum Server übermitteln, erfolgt aber trotz Verwendung von Ajax via CGI oder?
Das SVG liest sich gut, das heißt ,ich könnte mit einem SVG-Unterstützenden Programm eine Grafik erstellen, die wird dann von dem SVG-unterstützendem Programm in einen Quelltext (XML). Per CGI (Programmiersprache C) wird eine Hystere erzeugt, in der geprüft wird, in welcher Größe die Parameter an den Server übergeben werden. Sprich, ist Drehzahl zwischen 0-100, dann zeige SVG-Skript1, ist drehzahl höher, dann zeige SVG-Skript2 usw usw. Das heißt, ich müsste das SVG-Skript in CGI integrieren?! Danke!
LinuX007 wrote: > Nun ich weiß jetzt nicht genau was Ajax ist. Die Daten zum Server > übermitteln, erfolgt aber trotz Verwendung von Ajax via CGI oder? Nicht zwingend, du kannst auch einfach periodisch eine Datei ablegen die die Daten vorhält. AJAX ist einfach nur ein Modebegriff, das ganze basiert darauf das im "Hintergrund" ein Javascript immer wieder Daten läd (in deinem Fall einfach nur die Datei) und die Seite entsprechend anpasst.
LinuX007 wrote: > Per CGI (Programmiersprache C) wird eine Hystere erzeugt, in der geprüft > wird, in welcher Größe die Parameter an den Server übergeben werden. > Sprich, ist Drehzahl zwischen 0-100, dann zeige SVG-Skript1, ist > drehzahl höher, dann zeige SVG-Skript2 usw usw. Das heißt, ich müsste > das SVG-Skript in CGI integrieren?! SVG ist ein vektor grafikformat welches auf XML basiert. Mit Javascript kannst du das XML/SVG im browser zur laufzeit modifizieren.
ja aber ich muss doch dem Skript dann irgendwie die Parameter zur Veränderung übergeben?!
Das kann eigentlich nur mit CGI funktionieren, ohne ständig neue Java-Skripte auf den webserver hochladen zu müssen?!
Atme erstmal tief durch, denk ein wenig nach und frag dann google. ;) mit den Stichworten die bisher gefallen sind solltest du da was finden.
ok :) ich habe jetzt mal nach SVG gesucht. Das ist ja dann ein statisches Skript, in dem einfach Daten für eine Grafik drinstehen. Das heißt, ich müsste dann per CGI im C-Quellcode die Daten für die Grafik erzeugen und je nach Ereignis dem Web "veröffentlichen". Das erscheint mir soweit plausibel, zudem die Grafiken richtig gut aussehen (habe mal gegoogelt). Ich lade mir gerade erstmal Gimp, das soll SVG unterstützen und dann probier ich mal was aus. Danke!
http://de.wikipedia.org/wiki/Scalable_Vector_Graphics#SVG-Unterst.C3.BCtzung_in_Browsern Unter IE6/IE7 geht es sowieso nur mit Plugin, das ist dir schon bewusst?
hm hab ich wohl überlesen :( das ist nicht gut, obwohl ich keinen IE nutze... Ich werde es einfach per Bilder machen. Bilder, die sich je ereignis einblenden. Danke!
Eine Idee wäre noch, das mit einem normalen (z.B. PHP) Script und der meist schon auf dem Webserver installierten GD Library machen. Du könntest den Hintergrund der Drehzahlmessers schön in einem Bildverarbeitungsprogramm gestalten und auf dem Webserver ablegen. Per GD Library kannst du dann in PHP noch den Zeiger in den Drehzahlmesser reinzeichnen. Das ganze würde sich mit nur wenigen Zeilen Code realisieren lassen.
Da hab ich übrigens mal was ähnliches realisiert: http://www.fritigsclub.ch/Bierdeckel_Creator/E99_Bierdeckel_Creator.php
Johnny wrote: > Da hab ich übrigens mal was ähnliches realisiert: > http://www.fritigsclub.ch/Bierdeckel_Creator/E99_Bierdeckel_Creator.php Oh Gott! Das sind die Sachen im Internet, die die Welt nicht braucht. Sorry ;) Trotzdem ist die Idee mit GD/ImageMagick und PHP nicht all zu schlecht ;) LinuX007 wrote: > Es sollte schon etwas professioneller aussehen und nicht wie eine 0-8-15 > HTML-Seite ;) Tja, dafür bist du selber verantwortlich und nicht irgendein CGI Script ;)
Wieso sagst Du das braucht die Welt nicht? Jetzt hat er doch gerade von meinem Knoff Hoff profitieren können. Und schau Dir mal die grafischen Codes im Internet an für den "Menschlichkeitstest", die sind alle auch genau so gemacht. Also lass Deine verachtenden Beleidigungen und mach erst mal was besseres.
Johnny wrote: > Wieso sagst Du das braucht die Welt nicht? > Jetzt hat er doch gerade von meinem Knoff Hoff profitieren können. Wenn du das PHP Script zum Download bereitstellen würdest, könnte er das tatsächlich sogar! > Und schau Dir mal die grafischen Codes im Internet an für den > "Menschlichkeitstest", die sind alle auch genau so gemacht. Jau, die braucht die Welt ja auch nicht ;) > Also lass > Deine verachtenden Beleidigungen und mach erst mal was besseres. Ich soll was besseres machen. Jaja, ich sag ja nicht dass du das schlecht gemacht hast. Übung hat es dir sicher gebracht. Wie auch immer, war nicht all zu ernst gemeint, wobei aber das Internet durchaus mit solchen Seiten mal abspecken könnte *HUST.
Johnny wrote:
> Zeig mir was Du besseres geleistet hast als das oder halt die Fresse.
Also so bestimmt nicht. Ist er nicht süß!? ;)
Nichts gegen dich oder deine Arbeit, aber sowas ist mit Sicherheit kein
Problem für einen fortgeschrittenen PHP-Programmierer.
Im Prinzip die PHP Basics: Formulardaten entgegennehmen/auswerten und
ein bisschen mit den GD-Funktionen arbeiten. Dann noch als Grafikstream
ausgeben (inkl. korrektem Header) und fertig ist die Kiste.
Aber im Prinzip ist es genau das, was er braucht.
Nur bedeutet der von Simon erwähnte Ansatz, daß der Browser zyklisch die Seite (oder mindestens einen iframe) komplett neu laden muss, damit eine "dynamische" Wertedarstellung erreicht werden kann. Das geht mit "Ajax" anders, hier läuft auf dem Client, also /im Browser/ ein Script, das per XMLHttpRequest zyklisch Daten vom Browser abholt und diese in der bereits geladenen Seite aktualisiert. Das bedeutet einerseits, daß weniger Daten übertragen werden müssen, und andererseits, daß die Aktualisierungen ohne Geflacker vonstatten gehen. Anders, als der Name suggeriert, muss hier auch gar kein XML verwendet werden; die Art und Weise, auf die die übertragenen Nutzdaten verpackt werden, ist völlig irrelevant, nur muss das clientseitige Script in der Lage sein, die Daten zu verdauen.
oh je oh je ^^ Ich merke schon, mein Thread sorgt für (soziale) Aufregung, mehr, als das Thema selbst. Jetzt nochmal sachlich: - Ich werde es vorerst so machen: ich habe mehrere Bilder, die nacheinander über den Webserver veröffentlicht werden. - Wenn das funktioniert, werde ich es mit SVGs machen. Im CGI-Skript muss dann das SVG-Skript stehen, das je nach Ereignis "verändert" wird und somit eine andere Grafik in Echtzeit beim Client "erzeugt". Nun habe ich aber noch folgendes Problem auf meinem Apache-Webserver, vielleciht kann mir hierzu jemand eine Antwort geben: Ich habe nun in eine Datei namens "teste_skript.c", die in einem von mir erstellten Ordner "cgi-bin" auf meinem Webserver liegt versucht, diese Datei mit dem Befehl "gcc -o /var/www/apache2-default/cgi-bin/teste_skript.c /var/www/apache2-default/cgi-bin/teste_skript.cgi" zu kompilieren. Dann kommt folgender Fehler: "gcc: No such file or directory", "gcc: no input files". Hier der Code des "teste_skript.c" (es ist ein Codebeispiel des Buches "C von A-Z" von Gailieocomputing):
1 | #include <stdio.h> |
2 | #include <stdlib.h> |
3 | /* Die Kopfzeile eines Standard-HTML-Dokuments
|
4 | * titel: String, der als Titel erscheinen soll
|
5 | */
|
6 | void print_html_header(char *titel) { |
7 | printf("<html><head>\n"); |
8 | printf("<title>%s</title>\n",titel); |
9 | printf("</head><body><pre>\n"); |
10 | }
|
11 | /* Das Ende eines HTML-Dokuments */
|
12 | void print_html_end(void) { |
13 | printf("</pre></body></html>\n"); |
14 | }
|
15 | /* Damit überhaupt ein HTML-Dokument ausgegeben wird */
|
16 | void print_header(void) { |
17 | printf("Content-Type: text/html\n\n"); |
18 | }
|
19 | int main(void) { |
20 | char *p; |
21 | print_header(); |
22 | print_html_header("Wer bin ich?"); |
23 | p = getenv("HTTP_USER_AGENT"); |
24 | if(p!=NULL) |
25 | printf("Sie browsen mit : %s\n",p); |
26 | else
|
27 | printf("Konnte HTTP_USER_AGENT nicht ermitteln!\n"); |
28 | print_html_end(); |
29 | return EXIT_SUCCESS; |
30 | }
|
Woran kann das liegen? Danke!
> Ich habe nun in eine Datei namens "teste_skript.c", die in einem von mir > erstellten Ordner "cgi-bin" auf meinem Webserver liegt versucht, diese > Datei mit dem Befehl "gcc -o > /var/www/apache2-default/cgi-bin/teste_skript.c > /var/www/apache2-default/cgi-bin/teste_skript.cgi" zu kompilieren. > Dann kommt folgender Fehler: "gcc: No such file or directory", "gcc: no > input files". > Woran kann das liegen? Weil der Syntax lautet: gcc -o OUTPUTFILE inputfile (s. man gcc) d.h. er versucht "teste_skript.cgi" zu kompilieren, was aber noch nicht existiert... Vertausch mal beides.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.