Pages: [1]   Go Down
Author Topic: Lire une image sur la SDCARD du shield Ethernet  (Read 2719 times)
0 Members and 1 Guest are viewing this topic.
VAR
Offline Offline
Newbie
*
Karma: 0
Posts: 41
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonsoir à tous,

je suis en train d'essayer de comprendre comment marche le couple arduino mega et ethernet shield en essayant d'afficher une page web sur un navigateur.
Avec les nombreux exemples sur le net , j'y suis arriver ça marche relativement bien.
Après j'ai mis une petit sdcard dans le shield, j'ai stocké deux images dessus ledOn.png et ledOff.png et je voudrais les faire afficher dans la page renvoyée au navigateur et la heu...c'est chaud ;-)
Quel path utiliser dans le code HTML generé pour aller chercher l'image sur la sdcard.

Merci pour votre aide
Oldchap
Logged

-------
ARDUINO UNO
ARDUINO NANO
ARDUINO MEGA2560
mikroMMB

Ile-de-France (92 sud), France
Offline Offline
Edison Member
*
Karma: 24
Posts: 2055
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Dans ton esprit il faut décorréler le chemin donné dans la page HTML et le chemin sur la carte SD même si après le fait de les lier aide.

Quand tu insère une image dans une page HTML par une balise <img src="URL">, l'image va déclencher une nouvelle requête HTML généralement indépendante.
Ce qui veut dire que dans ton code Arduino tu dois identifier quelle est l'URL demandé par le navigateur :
Si le navigateur t'envoi la requête "GET /" ou "GET /index.html" ... => tu renvoie la page index.html qui peut éventuellement contenir des éléments dynamique (valeurs de variables, code dépendant de variables, etc....
Si cette page contient une balise <img src="ledOn.jpg"> alors il tu vas recevoir une requête "GET /ledOn.jpg".

Tu ne dois pas présupposer que les requêtes arrive dans un ordre ou pas.
Ton code de serveur Web doit être totalement indépendant car un navigateur ou un autre peuvent faire les requêtes différemment (par exemple si tu as plusieurs images dans la page, rien ne peut te permettre de prédire l'ordre dans lequel le navigateur va les demander.
Logged

Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC#
RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?

Offline Offline
Faraday Member
**
Karma: 34
Posts: 5088
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonsoir à tous,

je suis en train d'essayer de comprendre comment marche le couple arduino mega et ethernet shield en essayant d'afficher une page web sur un navigateur.
Avec les nombreux exemples sur le net , j'y suis arriver ça marche relativement bien.
Après j'ai mis une petit sdcard dans le shield, j'ai stocké deux images dessus ledOn.png et ledOff.png et je voudrais les faire afficher dans la page renvoyée au navigateur et la heu...c'est chaud ;-)
Quel path utiliser dans le code HTML generé pour aller chercher l'image sur la sdcard.

Merci pour votre aide
Oldchap
comme repondu par barbudo , ce n'est pas si simple aussi simplement  smiley-mr-green
ça a été un peu discuté ici
http://arduino.cc/forum/index.php/topic,70611.msg524451.html#msg524451
Logged

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

Bonjour,

On va finir par croire que je suis payé pour dire ça, mais sache qu'il existe une librairie tout prête pour ce genre de chose smiley-wink
http://code.google.com/p/webduino/

Après il te reste toujours la solution du fait maison, mais bon c'est un peu galère ...
Logged

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

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

Ok barbudor,Merci pour ton aide

Donc si j ai bien compris, il faut que je parse ma requête GET /ledOn.png et qu en suite par du code arduino j envoi le fichier stocké sur la sdcard par un client.print ?

Bon ok
Y a pas une petite librairie existante qui pourrait nous aider ;-))))
Logged

-------
ARDUINO UNO
ARDUINO NANO
ARDUINO MEGA2560
mikroMMB

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

Désolé skywodd je viens juste de voir ton post au sujet de la librairie
Merci je vais regarder cela de plus près
Logged

-------
ARDUINO UNO
ARDUINO NANO
ARDUINO MEGA2560
mikroMMB

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

Telecharge la librairie TinyWebServer, et en plus de faire tout plein de choses interessantes, elle a deja un exemple qui correspond à ce que tu veux faire...
Si tu veux éditer le .htm pour afficher une deuxième image, sache qu'il n'y a pas de chemin sur la cart SD ce qui veut dire que tes fichiers htm ou jpeg etc... doivent être à la racinne et ensuite la balise html sera par exemple <img src=logo.jpg>
Logged

Offline Offline
Faraday Member
**
Karma: 34
Posts: 5088
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Telecharge la librairie TinyWebServer, et en plus de faire tout plein de choses interessantes, elle a deja un exemple qui correspond à ce que tu veux faire...
Si tu veux éditer le .htm pour afficher une deuxième image, sache qu'il n'y a pas de chemin sur la cart SD ce qui veut dire que tes fichiers htm ou jpeg etc... doivent être à la racinne et ensuite la balise html sera par exemple <img src=logo.jpg>
bonsoir
sympa cette petite librarie
l'exemple upload avec l'image est impecc

« Last Edit: May 09, 2012, 06:29:17 am by Artouste » Logged

Offline Offline
Faraday Member
**
Karma: 34
Posts: 5088
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

et pour completer
l'ajout de type mime dans TinyWebServer.cpp est simple à faire
ce qui permet aussi de voir que le taux de transfert du shield ethernet qui partage en SPI la gestion de la SD atteint difficilement les 90 Ko/s  smiley-mr-green
Logged

Ile-de-France (92 sud), France
Offline Offline
Edison Member
*
Karma: 24
Posts: 2055
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
le taux de transfert du shield ethernet ... atteint difficilement les 90 Ko/s

Gloups!
Pas une bonne nouvelle.
Logged

Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC#
RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?

Offline Offline
Faraday Member
**
Karma: 34
Posts: 5088
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
le taux de transfert du shield ethernet ... atteint difficilement les 90 Ko/s

Gloups!
Pas une bonne nouvelle.

reste positif barbudor
c'est largement bien mieux que mes premieres connections internet avec un modem en 9600
et le minitel en 1200/75
 smiley-mr-green
Logged

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

Quote
le taux de transfert du shield ethernet ... atteint difficilement les 90 Ko/s

Gloups!
Pas une bonne nouvelle.
Fallait pas espérer atteindre du 4Mo/s smiley-wink
90Ko/s c'est déjà pas mal quand on regarde la puissance de l'ATmega, la vitesse du port SPI et tout le bouzin derrière la librairie Ethernet.
Logged

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

Offline Offline
Faraday Member
**
Karma: 34
Posts: 5088
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

petit fichier zip comprenant
ajout de quelques type mime dans la librarie TinyWebServeur
qq fichiers à mettre en racine d'une SD card.
la librarie là où il faut
lancer l'exemple Fileupload (verifier l'IP) .

ça ne casse pas 3 pattes aux canards d'infobarquee   smiley-mr-green  , mais ça permet de voir que cette petite lib est finalement bien sympa et assez souple smiley-mr-green

http://cjoint.com/?BEjtbJ8jUEF

testé sous ide 1.00
« Last Edit: May 09, 2012, 12:03:56 pm by Artouste » Logged

Ile-de-France (92 sud), France
Offline Offline
Edison Member
*
Karma: 24
Posts: 2055
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

et le minitel en 1200/75
<mode z-avez-pas-connu-ca-les-jeunes>ON</>
Ah le Minitel1B et le modem retournable qui m'avait permis de faire un BBS-Minitel hébergé sur un micro portable en basic (Canon X-07 ave un cable bricolé).
Après ca a été le 14400 importé "illégalement" car non certifié par France Telecom puis USRobotics 33600 et 56200... C'est loin tout cà.
<mode z-avez-pas-connu-ca-les-jeunes>OFF</>
Logged

Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC#
RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?

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

Merci à tous pour les infos
Bon apparemment va falloir que je dépoussière mon ZX80 et mon PET de commodore ;-))))
Le Minitel c était pas mal aussi
Allez je vais étudier cet petite lib
+++
Logged

-------
ARDUINO UNO
ARDUINO NANO
ARDUINO MEGA2560
mikroMMB

Pages: [1]   Go Up
Jump to: