lire une image sur une carte sd d'un ethernet shield

bonjour a tous
j'ai récemment acheté un shield ethernet officiel et je fais quelque test avec
j'ai mit un sketch pour se servir de l'arduino comme serveur web
la dessus pas de soucis
j'arrive me balader dans les pages html qui sont sur la carte sd sans problèmes
seulement je n'arrive pas a lire une photo qui est sur la carte sd via la page html
j'ai essayer de mettre l'images dans un dossier et a la racine
avec différents nom de fichier et extension mais impossible de la lire
dans le code source elle est bien présente mais l'arduino ne la trouve pas
avec vous quelques idées pour m’éclairai ?
un grand merci a vous

anthology:
bonjour a tous
j'ai récemment acheté un shield ethernet officiel et je fais quelque test avec
j'ai mit un sketch pour se servir de l'arduino comme serveur web
la dessus pas de soucis
j'arrive me balader dans les pages html qui sont sur la carte sd sans problèmes
seulement je n'arrive pas a lire une photo qui est sur la carte sd via la page html
j'ai essayer de mettre l'images dans un dossier et a la racine
avec différents nom de fichier et extension mais impossible de la lire
dans le code source elle est bien présente mais l'arduino ne la trouve pas
avec vous quelques idées pour m’éclairai ?
un grand merci a vous

bonjour
regarde ce topic

merci a toi ca va beaucoup m'aider
vive les exemples ^^
j'ai oublié de préciser
sur une arduino uno donc pas de .ino mais des .pde
mais je regarde le code pour prendre des bouts dedans

anthology:
merci a toi ca va beaucoup m'aider
vive les exemples ^^
j'ai oublié de préciser
sur une arduino uno donc pas de .ino mais des .pde
mais je regarde le code pour prendre des bouts dedans

.INO ou .PDE ça ne depend pas de la cible : uno,mega ou autre mais de la version de l'IDE selon si <1.00 = PDE sinon .INO

oui pas faux
mais j'ai pas toutes mes lib sur la 1.0.1 donc voila

Bonjour,

anthology:
oui pas faux
mais j'ai pas toutes mes lib sur la 1.0.1 donc voila

Arduino 0023 -> Arduino 1.0
A pars pour quelques fonctions il suffit juste de renommer le fichier .pde en .ino et c'est bon :wink:

(Liste des changements entre 0023 et 1.0.1 : Arduino 1.0 et UNO Rev3, les changements qui changent tout ! | Skyduino - Le DIY à la française)

oki ca roule je teste ca de suite

Pour les sketch il suffit de renommer les .pde en .ino
Pour les libs en general il suffit de trouver le .h principal de la lib et remplacer:

#include <WProgram.h>

par

#if (ARDUINO >= 100)
        #include <Arduino.h>
#else
        #include <WProgram.h>
#endif

j'ai chercher du coté de tinywebserver
j'ai fait une page de base pour commander des leds
les images passent niquel
si besoin je donne mon code
par contre j'arrive pas a lire des valeurs ( lm35 par exemple )

anthology:
j'ai chercher du coté de tinywebserver
j'ai fait une page de base pour commander des leds
les images passent niquel
si besoin je donne mon code
par contre j'arrive pas a lire des valeurs ( lm35 par exemple )

tu n'arrive pas afficher sur ta page internet une valeur lue par les entres ana ?

je sais pas du tout comment coder ça plutôt
les pages html contiennent un include vers du JS qui lui fait le lien avec l'arduino
et la j'avoue que je sais pas comment coder ca pour lire un lm35 ou autre
PS: je met mon code ??

anthology:
les pages html contiennent un include vers du JS qui lui fait le lien avec l'arduino
et la j'avoue que je sais pas comment coder ca pour lire un lm35 ou autre

Faut voir il attend quoi comme réponse le morceau de code JS ? Du xml, du Json, du texte, ... ?
Si il ne fait que demander un page qui lui répond avec les valeurs sous un certain format c'est pas compliqué à faire :wink:

anthology:
PS: je met mon code ??

Oui ça donnera un base de réflexion

alors voila tout est en pièce jointe vu que je peux pas mettre plus de 9500 caractères et que juste le code de l'arduino ya 500 lignes ^^

BlinkLed5_new.ino (14.6 KB)

MAIN.JS (5.15 KB)

lum.htm (1.66 KB)

Pour lire une valeur analogique tu fait comme pour les led (pas testé par contre) :
Html :

<input type="text" name="analogStatus1" id="analogStatus1" value="" />

JS :

function analogStatus(txtbox, url) {
    $.ajax({type: "GET",
       cache: false,
       url: url,
       success: function(analog1) {
      analog1 = parseInt(analog1.trim());
      txtbox.value = analog1;
       },
       error: function(s, xhr, analog1, e) {
      console.log("Getting analog1 failed: "
             + s.responseText);
       }
      });
};

$(document).ready(
    function() {
      analogStatus($("#analogStatus1"), "/analogStatus1");
    }
}

Arduino :

// ...
{"/analogStatus1", TinyWebServer::GET, &analog1_status_handler },
// ...


boolean analog1_status_handler(TinyWebServer& web_server) {
  web_server.send_error_code(200);
  web_server.send_content_type("text/plain");
  web_server.end_headers();
  Client& client = web_server.get_client();
  client.println(analogRead(A0), DEC);
  return true;
}

un grand merci a toi
j'arrive a compiler sans problèmes
il faut que je fasse des modifs sur mon alim sinon l'arduino va faire PSCHIIIT
par contre j'ai un autre problèmes ^^

Taille binaire du croquis : 28 558 octets (d'un max de 32 256 octets)

tendu quand même avec si peu de code
une idée pour réduire tout ça??

en mettant le code pour 6 relevé de températures

Taille binaire du croquis : 29 024 octets (d'un max de 32 256 octets)

ca a pas beaucoup bouger mais je trouve quand même ça bizarre d'avoir un sketch aussi gros pour si peu de chose

anthology:
tendu quand même avec si peu de code
une idée pour réduire tout ça??

Ho que oui, déjà au lieu d'avoir une fonction par led (toute identique de surcroit et avec une partie inline) tu devrais juste faire une seule fonction qui gérerai toute les led.
De même dans le fichier javascript, regarde pour ma fonction analog, la fonction peut servir pour autant de capteur que tu veut = moins de code.

Fait une fonction qui répond à "/ledstatus" et qui reçoit un variable via le GET (genre num=1).
Coté arduino tu lit la variable et tu renvois la valeur qui correspond.

merci a toi pour ses explications
mais la j'avoue que je suis pas capable de le faire
après peut être mes librairies qui sont grosses etc
je peux plus mettre les fichiers sur la carte micro sd car j'ai pourri le mien
mais le code compile et tout donc normalement ya pas de soucis
ensuite j'ai déjà rajouté pour 6 capteurs ( me semble )
reste plus qu'a câbler avant de faire une platine
rappel moi quel est la distance maxi pour un lm35 ?
merci

anthology:
merci a toi pour ses explications
mais la j'avoue que je suis pas capable de le faire
après peut être mes librairies qui sont grosses etc

Les librairies font la taille quelle font tu ne peut pas y toucher :wink:

anthology:
je peux plus mettre les fichiers sur la carte micro sd car j'ai pourri le mien

?

anthology:
mais le code compile et tout donc normalement ya pas de soucis

Compiler != fonctionner, si ça compile c'est un bon point, mais il faut tester aprés pour voir si tout marcher :wink:

anthology:
rappel moi quel est la distance maxi pour un lm35 ?

Hein ? Distance maxi pour un capteur de température ?

pour la lib sd il me semble avoir croisé une lib sdfat lite qui logiquement est plus legere
j'ai oublier le mot adaptateur
j'ai mon adaptateur micro sd qui est mort donc pour mettre le site dessus c'est dur

oui la distance maxi entre un arduino et un lm35 en liaison filaire

anthology:
pour la lib sd il me semble avoir croisé une lib sdfat lite qui logiquement est plus legere

Je connais que Sdfatlib mais dans quelque soit la librairie elle demandera forcément beaucoup de ram (systéme de fichier FAT) :wink:

anthology:
j'ai oublier le mot adaptateur
j'ai mon adaptateur micro sd qui est mort donc pour mettre le site dessus c'est dur

Ha ok, je comprend mieux :grin:

anthology:
oui la distance maxi entre un arduino et un lm35 en liaison filaire

En théorie : 5 mètres
En pratique : Je sait pas, je dépasse jamais 30cm :sweat_smile: