Go Down

Topic: Domo'Duino, la domotique par Arduino (NEWS: Modules 2.4ghz ) (Read 105425 times) previous topic - next topic

chicotore

Quote
Et ça :

Code:
plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("<center><img src=\"http://www.casafree.com/modules/xcgal/albums/userpics/38023/chat%20chinois.jpg\"  > "));


JF tu est une bête  XD ça fonctionne nikel !!!

jfs

Pas d'aide par MP !!!

Concernant le fonctionnement du forum tout se trouve dans les messages épinglés en tête de page.

chicotore

Tient en passant j'ai encore un petit problème (décidement  ]:) )

Code: [Select]
plen=es.ES_fill_tcp_data_p(buf,0,PSTR("HTTP/1.0 200 OK\r\nContent-Type: text/html\r\n\r\n"));
       plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("<body bgcolor=\"#4BB5C1\"> "));
       plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("<center><p><h1>Domo'Duino, la domotique par Arduino</h1></p> "));
       plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("<center><img src=\"http://i25.servimg.com/u/f25/11/05/63/75/domo_d10.png\"  > "));
       
       plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("<hr><br><form METHOD=get action=\""));
       plen=es.ES_fill_tcp_data(buf,plen,baseurl);
       plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("\">"));
       plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("<h2> REMOTE LED is  </h2> "));
       
       if(on_off)
        [color=red]plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("ON"));[/color]
       else
        [color=red]plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("OFF"));[/color]
       
       plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("  </font></h1><br> ") );
       


Dans cette partie du code arduino j'ai une partie qui m'affiche ON ou OFF a l'écran, je voudrais remplacer cela par une image ... jusque la ok

En toute logique je met donc en place ce code la a la place

Code: [Select]
plen=es.ES_fill_tcp_data_p(buf,0,PSTR("HTTP/1.0 200 OK\r\nContent-Type: text/html\r\n\r\n"));
       plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("<body bgcolor=\"#4BB5C1\"> "));
       plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("<center><p><h1>Domo'Duino, la domotique par Arduino</h1></p> "));
       plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("<center><img src=\"http://i25.servimg.com/u/f25/11/05/63/75/domo_d10.png\"  > "));
       
       plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("<hr><br><form METHOD=get action=\""));
       plen=es.ES_fill_tcp_data(buf,plen,baseurl);
       plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("\">"));
       plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("<h2> REMOTE LED is  </h2> "));
       
       if(on_off)
        [color=red]plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("<center><img src=\"http://i45.servimg.com/u/f45/11/05/63/75/on11.png\"  > "));[/color]
       else
        [color=red]plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("<center><img src=\"http://i45.servimg.com/u/f45/11/05/63/75/off11.png\"  > "));[/color]
       
       plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("  </font></h1><br> ") );
       


Mais bon forcement ça ne fonctionne pas. Le compilateur arduino ne me détecte aucune erreur mais lorsque je veut accéder a mon ethernet shield j'ai une erreur comme quoi impossible d'accéder au serveur ... le code ne fonctionne donc pas mais pourquoi ? on dirais que quelque chose bloc la fonction "image" dans cette partie du code ...

Et en même temps je cherche comment mettre en place plusieurs boutons, j'ai beau cherché je ne trouve pas comment avoir deux boutons, a chacune de mes tentatives le compilateur arduino me trouve une erreur ... pourquoi c'est jamais simple  =(

jfs

Si je mets cette adresse directement dans mon navigateur :

http://i25.servimg.com/u/f25/11/05/63/75/off10.png

J'ai rien....  :smiley-mr-green:
Pas d'aide par MP !!!

Concernant le fonctionnement du forum tout se trouve dans les messages épinglés en tête de page.

chicotore

Oui parce que je vient de les supprimer sur servimg, mais même si tu fait un copier coller de la première image cela ne fonctionne pas

Code: [Select]
plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("<center><img src=\"http://i25.servimg.com/u/f25/11/05/63/75/domo_d10.png\"  > "));

Voila si tu colle ça a la place de ON et de OFF je n'est pas accès a mon ethernet-shield ... et dès que je remet ça

Code: [Select]
plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("ON"));

ça refonctionne .... c'est a rien y comprendre  :smiley-yell:

al1fch

As-tu essayé, chicotore, d'augmenter un peu la taille du buffer ?

Sauf erreur de ma part avec cette librairie on commence par rassembler toute la page web dans un buffer puis on envoie le contenu du buffer.

L'explication du défaut constaté serait alors la suivante :
Le navigateur bloque parce qu'il attend la fin de la page.... qui ne lui a pas été envoyée !!
C'est le cas quand le buffer n'est pas assez grand pour accepter le ou les les derniers
Code: [Select]
plen=es.ES_fill_tcp_data_p(buf... Chaque 'fill ....buf' rajoute des octets jusqu'au  moment ou le buffer est plein.
Les octets 'excédentaires" sont perdus et jamais envoyés au client.
S'il ne manque que le dernier ">" de la page le navigateur attendra longtemps....
(Quand ça passe profites en pour voir le code source dans le navigateur, mesurer la taille en octets.et voir si 5OO suffit)

chicotore

J'avais déja pensé au buffer justement, je l'avais donc passé a 800 comme ceci

Code: [Select]
#define BUFFER_SIZE 800
static uint8_t buf[BUFFER_SIZE+1];
#define STR_BUFFER_SIZE 22
static char strbuf[STR_BUFFER_SIZE+1];


Mais toujours pareil, cela ne fonctionne pas   :smiley-yell:

chesnel

est-ce que qqun pourrais m'éclairer sur un point ? Quel est l'intérêt que la page internet soit générer directement par l'arduino ? Je trouve que nous sommes extrèmement limité niveau programmation avec cette méthode :S

chicotore

Tu veut faire comment sinon pour rester dans un concept "arduino autonome", c'est a dire sans PC qui tourne derrière ?

Héberger tous sur un FTP et utiliser l'ethernet-shield pour interroger un fichier txt contenants des variables par exemple ?

chesnel

par exemple :) En ce qui concerne le stockage d'information provenant d'arduino j'utilise une base de donnée MySQL  et du php. Mais je peux comprendre que cela implique l'apprentissage dans d'autre langage. Mais si tu veux quelque chose de simpa et plus "flexible" une solution.. un peu d'html et un endroit ou héberger ta page :) 

chicotore

Mouais enfin pour le moment j'aimerais déjà faire fonctionner 2 ou 3 boutons  :smiley-mr-green: et c'est pas gagné vu que j'arrive même pas a afficher mes images  :smiley-yell:

jfs


par exemple :) En ce qui concerne le stockage d'information provenant d'arduino j'utilise une base de donnée MySQL  et du php. Mais je peux comprendre que cela implique l'apprentissage dans d'autre langage. Mais si tu veux quelque chose de simpa et plus "flexible" une solution.. un peu d'html et un endroit ou héberger ta page :) 


Je suis assez d'accord avec cette solution pour un page conséquente, malgré la latence que peut connaitre le réseau suivant les hébergeurs.

Par contre pour une petite page avec trois ligne de texte et un bouton, le mini serveur que peut faire l'Arduino est un bonne solution.
Pas d'aide par MP !!!

Concernant le fonctionnement du forum tout se trouve dans les messages épinglés en tête de page.

chicotore


chesnel

Comme tu présente le problème non... Mais je peux te rediriger vers un tuto qui met en pratique l'ethernet Shield et arduino comme serveur pour contrôler 7 Led Différentes.

http://www.mon-club-elec.fr/pmwiki_mon_club_elec/pmwiki.php?n=MAIN.ArduinoEthernetServeurControleLEDx7

Ce site regorge d'informations et de tutoriels pour arduino c'est avec ce tuto que j'ai commencer avec mon ethernet Shield. De plus, il affiche une image :) J'espère que ça t'aidera

chicotore

Quote
Comme tu présente le problème non


C'est a dire ? j'ai expliqué mon problème en détail au dessus ....

Go Up