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... :~ Je suis sur que c'est possible mais comment ?
Merci d'avance pour m'aider à trouver une solution.
titou34:
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... :~ Je suis sur que c'est possible mais comment ?
Merci d'avance pour m'aider à trouver une solution.
bonjour
tu utilise quelle base pour le serveur web ?
si c'est TinyWebServer, il faut ajouter des types mimes dans le fichier TinyWebServer.cpp
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 ou bien si il y a un autre système.
titou34:
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 ou bien si il y a un autre système.
Merci d'avance
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)
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. :~
Merci d'avance (en espérant ne pas trop vous embêter avec mes questions de débutant)
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 :
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");
}
titou34:
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. :~
Merci d'avance (en espérant ne pas trop vous embêter avec mes questions de débutant)
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
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 !!
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...
titou34:
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)
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*)({...})'
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.
titou34:
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.
Merci
bonjour
tant mieux si ça a fini par tomber en marche
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
titou34:
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).