HTML Actualiser une partie de page

Dlazzy

Membre Premium
Premium
Inscription
25 Décembre 2012
Messages
700
J'aimes
221
Points
4 033
#1
Salut,

J'ai créer un programme sur une carte électronique qui me permet de faire des petits montages électrique.
J'ai donc fait une programme qui me permet de récupérer les valeurs d'une photo résistance sur le navigateur.
J'obtiens donc : "luminosité = [nombre]" mais pour afficher la nouvelle valeur je dois réactualiser la page. C'est pas pratique.

Donc comment faire pour faire quelque chose de dynamique ? Sachant que je suis limite à 32mb sur le serveur, c'est un mini web server embarquer.

Merci !
 

MSLift

Membre Premium
Premium
Inscription
5 Août 2013
Messages
770
J'aimes
292
Points
5 736
#2
Tu peux en javascript, mais c'est assez compliqué.

La manière de faire la plus simple, c'est de faire un iframe: c'est a dire une page web dans une page web.

Donc tu fais un fichier val.html
Code:
<html><head><meta http-equiv="refresh" content="3;URL=val.html"></head><body>Luminosité = xxx</body></html>
Et dans ton fichier index.html
Code:
<iframe src="val.html" width="100" height="100"></iframe>
 

Dlazzy

Membre Premium
Premium
Inscription
25 Décembre 2012
Messages
700
J'aimes
221
Points
4 033
#3
Tu peux en javascript, mais c'est assez compliqué.

La manière de faire la plus simple, c'est de faire un iframe: c'est a dire une page web dans une page web.

Donc tu fais un fichier val.html
Code:
<html><head><meta http-equiv="refresh" content="3;URL=val.html"></head><body>Luminosité = xxx</body></html>
Et dans ton fichier index.html
Code:
<iframe src="val.html" width="100" height="100"></iframe>
Merci, le seul problème c'est que j'utilise des cartes Arduino + shield ethernet, et avec ça je ne peut pas créer plusieurs pages web. A la base c'est pas fait pour ça. Je pourrais le faire par la suite avec des redirections vers mon vrai site, mais pour l'instant je ne peut pas !
 

MSLift

Membre Premium
Premium
Inscription
5 Août 2013
Messages
770
J'aimes
292
Points
5 736
#4
Ah okay, ben du coup je sais pas.

Au pire tu mettre <meta http-equiv="refresh" content="3;URL=page.html"> dans le head pour s'auto actualiser ;)
 

MSLift

Membre Premium
Premium
Inscription
5 Août 2013
Messages
770
J'aimes
292
Points
5 736
#6
Ben enfait, je sais même pas comment tu fais pour avoir l'information (luminosité) a partir de ton matos, donc je pourrai pas t'aider :/
 

Dlazzy

Membre Premium
Premium
Inscription
25 Décembre 2012
Messages
700
J'aimes
221
Points
4 033
#7
Si tu veut je te passe le code :

Code:
#include <SPI.h>
#include <Ethernet.h>

byte mac[] = { 0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX };
byte ip[] = { 192,168,1, 95 };
byte subnet[] = {255,255,0,0};

EthernetServer server(80);

void setup()
{

  Ethernet.begin(mac, ip);
  server.begin();
  Serial.begin(9600);
}

void loop()
{
  int lumi=0;     
  int portana0 = 0;

  lumi = analogRead(portana0);
  Serial.print("Luminosite : ");
  Serial.println(lumi);    
  delay(1000);
  EthernetClient client = server.available();
  if (client) {
    while (client.connected()) {
      if (client.available()) {
        client.println("HTTP/1.1 200 OK");
        client.println("Content-Type: text/html");
        client.println();
              client.print("Luminosite = ");
              client.print(lumi);
         client.stop();}
    }
  }
}
En le regardant un peu on comprends très vite !
 
Dernière édition:

MSLift

Membre Premium
Premium
Inscription
5 Août 2013
Messages
770
J'aimes
292
Points
5 736
#8
Ah okay, mais tu peux faire une page html normal (avec des balises et tout) comme ca ?
 

MSLift

Membre Premium
Premium
Inscription
5 Août 2013
Messages
770
J'aimes
292
Points
5 736
#10
Ah okay.. c'est bizarre :p

Mais je vois pas comment faire, car pour avoir une nouvelle valeur faut relancer le programme, non ?
 

Dlazzy

Membre Premium
Premium
Inscription
25 Décembre 2012
Messages
700
J'aimes
221
Points
4 033
#11
Ah okay.. c'est bizarre :p

Mais je vois pas comment faire, car pour avoir une nouvelle valeur faut relancer le programme, non ?
Non c'est une carte avec un serveur web intégrée, il enregistre les valeurs de la photorésistance et les transmet sur une adresse ip donné (j'ai mis 192.168.1.95) et quand je rentre 192.168.1.95 sur un navigateur j'ai Luminosité = [nombre], la carte envoie tout le temps des valeurs, donc pas de problème pour ça !
 

Dlazzy

Membre Premium
Premium
Inscription
25 Décembre 2012
Messages
700
J'aimes
221
Points
4 033
#17
Okay, si tu y arrive, je pourrais vraiment t'aider :D
Bon j'ai enfin réussi. Je t'explique :

La carte envoie les infos sur mon IP, maintenant tous le monde peut contrôler mes LED et voir la valeurs de la photorésistance (LDR). Il peuvent les voir allant sur l'adresse
Vous devez vous inscrire pour voir les liens !
de mon adresse IP):(port utilisé)
Voila j'ai donc la page que tu attendais, mais donc comment faire pour actualiser tout le temps la valeurs de la LDR sans recharger la page ?
 

MSLift

Membre Premium
Premium
Inscription
5 Août 2013
Messages
770
J'aimes
292
Points
5 736
#18
Pour avoir un domaine fixe essaye avec
Vous devez vous inscrire pour voir les liens !

Ensuite, tu peux m'envoyer le lien du site pour que je voie ?

Je vais regarder comme faire en JS pour load une page externe :)
 

Dlazzy

Membre Premium
Premium
Inscription
25 Décembre 2012
Messages
700
J'aimes
221
Points
4 033
#19
Pour avoir un domaine fixe essaye avec
Vous devez vous inscrire pour voir les liens !

Ensuite, tu peux m'envoyer le lien du site pour que je voie ?

Je vais regarder comme faire en JS pour load une page externe :)
C'est bon j'ai trouvé, par contre j'ai une erreur en accédant à mon nom de domaine
 


Haut