Salve a tutti!
Sono nuovo del Forum, percio mi presento.
MI chiamo Tommaso, vivo a Firenze, professione programmatore CNC, nel tempo libero mi diletto in elettronica digitale.
Vi presento subito il mio quesito, poiche , non sono assolutamente esperto in programmazione HTML, e percio' , ringrazio fin da ora chi sapra' risolvermi questo piccolo, ma per me grande, problema.
Vi premetto questo.
Sto realizzando una piccola interfaccia basata sul WEB che mi consente di controllare l'accensione di alcuni carichi (su rele') che ho dentro e fuori casa.
Il tutto si svolge cosi'. La pagina Web a dei "bottoni", al momento sono due, "turn-on" e "turn-off" e una immagine che varia a seconda della suddetta condizione.
L'interfaccia comunica con un modulo siteplayer opportunamente programmato, al quale, sulla UART, e' connesso un moduo WiFi ZegBee che si occupa di comunicare con le centraline esterne.
Le centraline esterne ricevono i dati in wireless dal Siteplayer, e processano i dati tramite un MCU la quale gestisce i benedetti rele'.
Fin qui tutto ok, tutto funziona a meraviglia, ma resta il problema seguente sull'applicazione WEB; quando ad esempio premo il pulsante "turn-on" mi si "ricarica" la pagina web cosi' velocemente che la MCU non fa in tempo a trasmettere il feedback di stato del rele e percio non avviene il cambio d'immagine che descrivevo prima, ovvero, per visualizzare il cambio di immagine devo per forza aggiornare la pagina.
Esiste un modo per inserire un ritardo nel refresh (si dice cosi?) della pagina, di modo che , la MCU fa in tempo a trasmettere il dato di feedback e dopo tot secondi avviene il refresh della pagina?
qui vi posto il codice e in allegato l'immagine della pagina che ho realizzato
codice:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Siteplayer to PIC Test Program 2</title>
<style type="text/css">
.style1 {
text-align: center;
}
</style>
<script type="text/javascript">
<!--
function FP_swapImg() {//v1.0
var doc=document,args=arguments,elm,n; doc.$imgSwaps=new Array(); for(n=2; n<args.length;
n+=2) { elm=FP_getObjectByID(args[n]); if(elm) { doc.$imgSwaps[doc.$imgSwaps.length]=elm;
elm.$src=elm.src; elm.src=args[n+1]; } }
}
function FP_preloadImgs() {//v1.0
var d=document,a=arguments; if(!d.FP_imgs) d.FP_imgs=new Array();
for(var i=0; i<a.length; i++) { d.FP_imgs[i]=new Image; d.FP_imgs[i].src=a[i]; }
}
function FP_getObjectByID(id,o) {//v1.0
var c,el,els,f,m,n; if(!o)o=document; if(o.getElementById) el=o.getElementById(id);
else if(o.layers) c=o.layers; else if(o.all) el=o.all[id]; if(el) return el;
if(o.id==id || o.name==id) return o; if(o.childNodes) c=o.childNodes; if(c)
for(n=0; n<c.length; n++) { el=FP_getObjectByID(id,c[n]); if(el) return el; }
f=o.forms; if(f) for(n=0; n<f.length; n++) { els=f[n].elements;
for(m=0; m<els.length; m++){ el=FP_getObjectByID(id,els[n]); if(el) return el; } }
return null;
}
// -->
</script>
</head>
<body onload="FP_preloadImgs(/*url*/'button4.gif',/*url*/'button5.gif',/*url*/'button7.gif',/*url*/'button8.gif')">
</body>
</html>
<body onload="FP_preloadImgs(/*url*/'button4.gif',/*url*/'button5.gif',/*url*/'button7.gif',/*url*/'button8.gif')">
[b]<H1 class="style1">Siteplayer to PIC Test Program</H1>
<p class="style1"> <a href="PROVA.spi?com=A">
[img]button3.gif[/img]</a>
<a href="PROVA.spi?com=B">
[img]button6.gif[/img]</a>
[img]led^led1'0.jpg[/img]<p class="style1">BIT = ^led1<p class="style1">
<p class="style1"><p class="style1">
</body>
</html>