Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Inserire un ritardo

  1. #1

    Inserire un ritardo

    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>

  2. #2
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,783
    ciao pic-nik, benvenuto sul forum.
    complimenti per il tuo progetto

    1) c'è un po' di codice di troppo nella tua pagina:

    codice:
    <body onload="FP_preloadImgs(/*url*/'button4.gif',/*url*/'button5.gif',/*url*/'button7.gif',/*url*/'button8.gif')">
    
    </body>
    
    </html>
    2) mettaimo che la pagina che hai postato si chiami PRIMA.spi
    indirizzi in dati ad una pagina intermedia: ovvero PROVA.spi
    questa contiene un meta tag "refresh" indirizzante a PRIMA.spi inserito in head.
    ovvero:
    codice:
    <head>
    <meta http-equiv=refresh content="2; url=PRIMA.spi"> 
    </head>
    dove 2 sta per il numero di secondi prima del refresh

    bisogna verificare che tu non abbia problemi di cache,
    ovvero che si aggiorni correttamente la visualizzazione

    facci sapere

  3. #3
    Grazie Vincent per la "velocissima " risposta.

    Faccio qualche prova e ti so dire....

    Grazie ancora!

  4. #4
    Carissimo Vincent....tutto ok!!!

    adesso viene visualizzata la pagina correttamente e funziona bene il refresh!

    Ti ringrazio ancora di cuore, mi hai tolto un bel sassolino dalla scarpa!

  5. #5
    Attenzione, perchè può succedere che un browser (soprattutto se è datato) non accetti il refresh di meno di 3 secondi... Almeno ho sentito dire così, ma non ne sono sicuro
    La differenza fra la genialità e la stupidità è che la genialità ha i suoi limiti.


  6. #6
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,783
    Originariamente inviato da furbostandby
    Attenzione, perchè può succedere che un browser (soprattutto se è datato) non accetti il refresh di meno di 3 secondi... Almeno ho sentito dire così, ma non ne sono sicuro
    IE6 funge anche con 1 secondo

  7. #7
    Vorrei chiedere un'altra cosa a proposito di questa piccola applicazione che sto' realizzando...

    Stasera ho provato a collegarmi alla wlan di casa con un telefono Samsung Galaxy-S e andando all'indirizzo 192.168.1.xxx (e' l'indirizzo fisico del Siteplayer che contiene l'applicazione web), il browser del telefono mi da errore di connessione, impossibile visualizzare ecc.ecc.

    Mi ha detto un mio collega che il problema potrebbe essere nel sistema del telefono che e' un android... potrebbe essere questa la causa??

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.