AVR-NET´-IO Werte automatische aktualisieren

OP #2404157
Lesenswert?

Moin

Ich benutze Pollins AVR-NET-IO zusammen mit dem durch G.Menke 
angepassten Radig Webserver. Da ich nun auch analoge Werte erfasse 
möchte ich das diese auf der Webseite sich in einem gewissen Intervall 
automatisch aktualisieren. Z.Zt. geht es nur über ein manuelles Neuladen 
(F5) der Seite. Sicher ist die auch anders (dynamisch) möglich aber wie? 
Ich habe bei meiner bisherigen Suche nichts gefunden. Kann mir jemand 
weiter helfen?

Thomas
Gast #2404195
Lesenswert?

oder Daten per Ajax abrufen. Also HTTP-Requestobjekt (in JavaScript) 
anlegen und Anfrage im Hintergrund an den Server (NetIO) senden. Der 
antwortet beispielsweise mit ner XML-Datei. die kannst Du un JavaScript 
parsen und die Werte auf der Seite darstellen.

Einfach mal nach AJAX googeln. Aber aufpassen! Die zyklisch 
ausgetauschte datei darf nicht gecachet werden, sonst sinds immer die 
selben werte, die angezeigt werden! Kann man im HTTP-Header einstellen.
OP #2404229
Lesenswert?

Christian L. schrieb:
> einfach folgenden code in deinem html-teil einfügen. weisst den browser
> an, die seite nach der angegebenen zeit neu zu laden
>
1
<meta http-equiv="refresh" content="10">
> erzeugt aber auch jeweils den kompletten traffic im netzwerk!

Das regelmäßige Neuladen lassen war auch mein erster Gedanke. Aber das 
sieht ja nicht so wahnsinnig gut aus wenn die Seite ständig neu 
aufgebaut wird. Auch die Bedienbarkeit wird wohl leiden. Trotzdem Dank, 
denn dies könnte der erste schnelle Workaround sein bis ich folgendes 
geblickt habe... ;-)

guest schrieb:
> oder Daten per Ajax abrufen. Also HTTP-Requestobjekt (in JavaScript)
> anlegen und Anfrage im Hintergrund an den Server (NetIO) senden. Der
> antwortet beispielsweise mit ner XML-Datei. die kannst Du un JavaScript
> parsen und die Werte auf der Seite darstellen.
>
> Einfach mal nach AJAX googeln. Aber aufpassen! Die zyklisch
> ausgetauschte datei darf nicht gecachet werden, sonst sinds immer die
> selben werte, die angezeigt werden! Kann man im HTTP-Header einstellen.

Hui erschlägt mich erstmal. Hab zwar von allem schon mal etwas gehört 
aber noch mit fast nichts von dem gearbeitet ;-). Kann man dies denn im 
knappen uC Speicher unterbringen? Nun ich werd mich dann mal Ajax 
beschäftigen...

Thomas
Gast #2404301
Lesenswert?

Die Ajax-Lösung erfordert keine FW-Änderung im uC, ausser dass Du Deine 
Messdaten im XML-Format bereitstellen musst. Nur die Webseite wird etwas 
umfangreicher, aber auch eher in der Dimension 1-2 Bildschirmseiten 
Text. Wenn in der HTML/JS-Datei alle überflüssigen Leerzeichen etc 
entfernt sind wird das auch nicht so groß.

Das Grundprinzip ist dabei eigentlich, dass der Browser (hier liegt die 
Rechenpower..) zyklisch Daten vom Server anfordert und diese im 
Hintergrund nachlädt und dann visualisiert, OHNE die Seite neu laden zu 
müssen (Was bei nem AVR wahrscheinlich auch nicht im ms-Bereich liegt 
;-))
OP #2404348
Lesenswert?

guest schrieb:
> kannst Du denn die Webseiten auf ner SD-Karte ablegen oder müssen die in
> Flash des AVR? hab mich mit dem Radig Server noch nicht so
> auseinandergesetzt

Das System ist so schon eine Zeit im Einsatz und sollte nun nur ergänzt 
werden. Leider ist kein SD-Karten Slot vorhanden und so liegen die 
Webseiten im Speicher des uC. Aber einen "größeren" ATmega kann ich noch 
einsetzen. Damit sollte der Speicherplatz dann ausreichen.
Gast #2404402
Lesenswert?

was auch noch ne idee wär, nur die werte auf eine eigene HTML Seite zu 
legen und die auf der eigentlichen Seite in einem iFrame darzustellen. 
Dann lädt mit der

Th B. schrieb:
> <meta http-equiv="refresh" content="10">

Lösung nur der iFrame neu und der Rest der Seite bleibt stehen.
Ist zwar nicht so sauber, aber funktioniert...
#2404598
Lesenswert?

Hallo,

das Nachladen von Dateien (JavaScript) lässt sich auch allein mit 
JavaScript erledigen und reicht für diesen Anwendungsfall.

Die HTML-Seite lädt dazu einfach eine (immer dieselbe) Scriptdatei nach, 
in der dann die zu aktualisierenden Daten stehen.

anbei mal ein Bsp. wie ich es auf meinem AVR-Server in etwa verwende.

Sascha
Angehängte Dateien:
OP #2405186
Lesenswert?

Hallo Sascha

Sascha Weber schrieb:
> Hallo,
>
> das Nachladen von Dateien (JavaScript) lässt sich auch allein mit
> JavaScript erledigen und reicht für diesen Anwendungsfall.
>
> Die HTML-Seite lädt dazu einfach eine (immer dieselbe) Scriptdatei nach,
> in der dann die zu aktualisierenden Daten stehen.
>
> anbei mal ein Bsp. wie ich es auf meinem AVR-Server in etwa verwende.
>
> Sascha

Vielen Dank dafür! Ich denke ich habe das Beispiel im Wesentlichen 
verstanden. Aber wo bzw. wie muss ich denn die JavaScript Datei auf dem 
uC ablegen?

Thomas

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren