Pages: [1]   Go Down
Author Topic: Ethernet shield afficher une image  (Read 1656 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 7
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,
Je fais à appel à vous car je dois réaliser un projet en informatique pour le bac, j'ai choisit d'utiliser une carte programmable tel que Arduino et réaliser un serveur web qui permet de superviser une éolienne.
J'arrive à me connecter en local et en publique, à afficher une page html mais impossible d'afficher les images de la pages html... smiley-confuse Je suis sur que c'est possible mais comment ?  smiley-razz

Merci d'avance pour m'aider à trouver une solution.  smiley
Logged

Offline Offline
Faraday Member
**
Karma: 33
Posts: 4975
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,
Je fais à appel à vous car je dois réaliser un projet en informatique pour le bac, j'ai choisit d'utiliser une carte programmable tel que Arduino et réaliser un serveur web qui permet de superviser une éolienne.
J'arrive à me connecter en local et en publique, à afficher une page html mais impossible d'afficher les images de la pages html... smiley-confuse Je suis sur que c'est possible mais comment ?  smiley-razz

Merci d'avance pour m'aider à trouver une solution.  smiley
bonjour
tu utilise quelle base pour le serveur web ?
si c'est TinyWebServer, il faut ajouter des types mimes dans le fichier TinyWebServer.cpp

comme ça dans la section  :
Code:
FLASH_STRING(mime_types,
  "HTM*text/html|"
  "TXT*text/plain|"
  "CSS*text/css|"
  "XML*text/xml|"
  "JS*text/javascript|"

  "GIF*image/gif|"
  "JPG*image/jpeg|"
  "PNG*image/png|"
  "ICO*image/vnd.microsoft.icon|"
  "SVG*image/svg+xml|"
  "MP3*audio/mpeg|"
  "WAV*audio/x-wav|"
  "AVI*video/msvideo|"
  "MID*audio/x-midi|"
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 7
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Oui j'ai essayé d'utiliser TinyWebServer, mais même la démo n'affiche pas d'image...
Je veux bien que l'on m'explique comment ça fonctionne  smiley ou bien si il y a un autre système.

Merci d'avance smiley-wink 
Logged

Offline Offline
Faraday Member
**
Karma: 33
Posts: 4975
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Oui j'ai essayé d'utiliser TinyWebServer, mais même la démo n'affiche pas d'image...
Je veux bien que l'on m'explique comment ça fonctionne  smiley ou bien si il y a un autre système.

Merci d'avance smiley-wink 
recupere le zip
remplace ta version avec celle ci
charge l'exemple fileupload
tu mets sur une carte sd les fichiers contenus dans le dossier html de l'exemple file upload
la carte sd sur le shield ethernet
en appelant l'adresse IP depuis un navigateur , l'image s'affichera (exemple 192.168.1.157 ou 192.168.1.157/index.htm)

zip ici
http://cjoint.com/13ma/CCDj6aECoov.htm
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 7
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

C'est exactement ce que j'ai fait et lorsque je charge le programme sur la carte il me dit qu'il y a une erreur au niveau de la bibliotheque "TyniWebServer", en gros il me suffirai d'installer cette librairie, mais je ne sais pas comment il faut faire, j'ai cherché sur notre ami "google" mais il n'y a pas beaucoup d'information à ce propos.  smiley-confuse

Merci d'avance  smiley (en espérant ne pas trop vous embêter avec mes questions de débutant)  smiley-sad-blue
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 53
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour moi j'affiche une image sur ma page web comme ceci , Je suis avec la librairie Webduino  et je l'affiche à partir d'une carte SD avec l'arduino .
Si ca peut t'aider :
Code:
void loadImage(WebServer &server, char* image){      // Charge l'image
  server.printP(http200Ok);
  server.println();
  server.printP(httpContentJPG);
  server.println();
  server.println();
  Fimage = SD.open(image, FILE_READ);
  int c;                               
  while ((c = Fimage.read()) >= 0) {      // lis toute les données , on stock dans int c ,car read retourne un int .
    server.print((char)c);
  }
  Fimage.close();
}

void image(WebServer &server, WebServer::ConnectionType type, char *url_tail, bool tail_complete)
{
  loadImage(server , "toto.jpg"); 
}
Logged

Offline Offline
Faraday Member
**
Karma: 33
Posts: 4975
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

C'est exactement ce que j'ai fait et lorsque je charge le programme sur la carte il me dit qu'il y a une erreur au niveau de la bibliotheque "TyniWebServer", en gros il me suffirai d'installer cette librairie, mais je ne sais pas comment il faut faire, j'ai cherché sur notre ami "google" mais il n'y a pas beaucoup d'information à ce propos.  smiley-confuse

Merci d'avance  smiley (en espérant ne pas trop vous embêter avec mes questions de débutant)  smiley-sad-blue

dans le dossier d'installation arduino, il y a un sous dossier nommé libraries
tu créé un sous-sous dossier nommé TinyWebServer
tu copie le contenu du zip dans ce nouveau dossier.

tu relance l'ide et tu va dans fichier ---> exemples ----> TinyWebserver ----->FileUpload
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 7
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok, je prends note de ces solutions, je testerai ça la semaine prochaine car les cartes se trouvent au lycée.
En tout cas le programmes ne comporte plus aucunes erreurs !!  smiley
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 7
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bon j'ai fait ce que tu m'as dit, placé le TinyWebServer dans le dossier librairie, relancé le l'IDE puis charger le programme sur l'Arduino et là les problèmes arrivent puisque il me dit qu'il y a de nombreuses erreurs dans le programmes. J'ai aussi essayé le programme de Roxas77 mais pas trop concluant non plus, faut que j'essaye encore plus, faire des essais, etc...
Logged

Offline Offline
Faraday Member
**
Karma: 33
Posts: 4975
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bon j'ai fait ce que tu m'as dit, placé le TinyWebServer dans le dossier librairie, relancé le l'IDE puis charger le programme sur l'Arduino et là les problèmes arrivent puisque il me dit qu'il y a de nombreuses erreurs dans le programmes. J'ai aussi essayé le programme de Roxas77 mais pas trop concluant non plus, faut que j'essaye encore plus, faire des essais, etc...
bonjour
si tu veux de l'aide, poste ici le rapport de compilation (la zone où apparaissent les erreurs)
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 7
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Voilà ce que j'obtient comme erreur :

Code:
FileUpload.ino:11:19: error: Flash.h: No such file or directory
FileUpload.ino: In function 'void send_file_name(TinyWebServer&, const char*)':
FileUpload:58: error: no match for 'operator<<' in 'web_server << (const __FlashStringHelper*)({...})'
FileUpload:66: error: no match for 'operator<<' in 'Serial << (const __FlashStringHelper*)({...})'
FileUpload:70: error: no match for 'operator<<' in 'web_server << (const __FlashStringHelper*)({...})'
FileUpload.ino: In function 'void file_uploader_handler(TinyWebServer&, TinyWebPutHandler::PutAction, char*, int)':
FileUpload:102: error: no match for 'operator<<' in 'Serial << (const __FlashStringHelper*)({...})'
FileUpload:118: error: no match for 'operator<<' in 'Serial << (const __FlashStringHelper*)({...})'
FileUpload.ino: In function 'void setup()':
FileUpload:127: error: no match for 'operator<<' in 'Serial << (const __FlashStringHelper*)({...})'
FileUpload:145: error: no match for 'operator<<' in 'Serial << (const __FlashStringHelper*)({...})'
FileUpload:148: error: no match for 'operator<<' in 'Serial << (const __FlashStringHelper*)({...})'
FileUpload:153: error: no match for 'operator<<' in 'Serial << (const __FlashStringHelper*)({...})'
FileUpload:157: error: no match for 'operator<<' in 'Serial << (const __FlashStringHelper*)({...})'
FileUpload:167: error: no match for 'operator<<' in 'Serial << (const __FlashStringHelper*)({...})'
FileUpload:171: error: no match for 'operator<<' in 'Serial << (const __FlashStringHelper*)({...})'
FileUpload:174: error: no match for 'operator<<' in 'Serial << (const __FlashStringHelper*)({...})'

Merci d'avance ! smiley
Logged

Offline Offline
Faraday Member
**
Karma: 33
Posts: 4975
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Voilà ce que j'obtient comme erreur :

FileUpload.ino:11:19: error: Flash.h: No such file or directory


Merci d'avance ! smiley
il manque la librarie flash
meme manip que que pour les autres libraries
la prendre ici
http://cjoint.com/13av/CDdqbreGdIm.htm
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 7
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

C'est bon ça marche enfin, merci !!
Mais j'ai une autre question, est il possible de faire un serveur php avec arduino ? Si c'est possible j'ouvrirai un autre fil.  smiley

Merci
Logged

Offline Offline
Faraday Member
**
Karma: 33
Posts: 4975
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

C'est bon ça marche enfin, merci !!
Mais j'ai une autre question, est il possible de faire un serveur php avec arduino ? Si c'est possible j'ouvrirai un autre fil.  smiley

Merci
bonjour
tant mieux si ça a fini par tomber en marche  smiley-mr-green
A mons sens il est illusoire de vouloir embarquer "un moteur php" sur l'arduino, ce n'est pas prevu pour cela
il faut rester dans du simple, ne pas oublier que le debit ethernet avec utilisation de la SD est faible, je l'avais mesurer (je ne sais plus où) , maos il me semble de memoire que ça tournait < 100Ko/s
Logged

France
Offline Offline
Faraday Member
**
Karma: 55
Posts: 5347
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Mais j'ai une autre question, est il possible de faire un serveur php avec arduino ?
Réponse simple : NON

PHP est un langage interprété destinait à tourner sur des serveurs dédié avec de la RAM, du CPU et surtout un OS linux/windows.
Ici tu fait de l'embarqué donc tu traites tes données directement en C++ (c'est un peu comme faire du CGI-BIN sur un serveur web classique).
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Pages: [1]   Go Up
Jump to: