choix d'accés données stockées dans carte SD

Bonjour à tous

Débutant avec Arduino, je réalise un projet où je stocke des mesures de températures et autres capteurs dans des fichiers .txt enregistrés dans la carte micro SD de mon shield ethernet.
Pour exploiter ces données je pense créer une tâche planifiée sur un serveur qui lancera toutes les nuits un script php qui récupèrera les fichiers .txt et enregistrera les mesures en bdd. Cela me permettra de créer des graphiques, …
Mon problème est au niveau de la récupération des données sur la carte: connaissant l’adresse ip de la carte arduino, y a t’il moyen d’accéder directement aux fichiers(donc d’explorer la carte SD) par le biais d’un script sur le serveur?
Si non, j’ai pensé à 2 solutions:

  • requête d’une page web à l’arduino, ouverture du fichier concerné et affichage de chaque ligne du fichier en réponse (lourd je pense)
  • mise en place d’une des solutions de serveur web pour arduino sur la carte. Ce serveur sera seulement utilisé pour permettre un accés depuis l’extérieur aux fichiers de la carte SD (quel impact sur les performances, l’utilisation de la carte?)

Laquelle de ces solutions, ou une autre à laquelle je n’aurais pas pensé me conseillerez-vous pour récupérer mes données?

Merci
– Okids ++

bonjour Allez faire un tour chez Ladyada :D là http://www.ladyada.net/learn/arduino/ethfiles.html voir aussi ce topic pour les files type. http://arduino.cc/forum/index.php/topic,70611.0.html

Bonjour,

Si tu te base sur l’exemple de ladyada que Artouste te propose n’oublie pas d’installer la librairie sdfatlib :wink:

Sinon vu que tu stock toi même les données tu doit connaitre le nom des fichiers (ou au moins leurs formats de nom ex: jour_mois_heure.log) ?
Donc un systéme php + socket et un mini protocole maison (ex: R te retourne le contenu du fichier, etc …) serait plus simple.

Bonjour et merci à vous 2 pour vos réponses.

J'avais justement prévu d'installer la librairie sdfatlib pour pouvoir faire un peu plus de choses avec la carte SD. L'utilisation du script sur le lien de ladyada(merci Artouste) est donc une bonne solution pour moi et je la garde derrière l'oreille mais j'utilise déjà les sockets avec php pour me connecter à ma carte et récupérer les mesures de mes capteurs à un instant donné. Par contre je ne voyais pas comment récupérer des fichiers.

Skywodd peux-tu m'éclairer un peu sur ce que tu appelles "mini protocole maison"? Ca me permettrai de laisser la gestion des données au php/mysql et de garder l'arduino uniquement aux relevés et actions à effectuer.

okids: Skywodd peux-tu m'éclairer un peu sur ce que tu appelles "mini protocole maison"? Ca me permettrai de laisser la gestion des données au php/mysql et de garder l'arduino uniquement aux relevés et actions à effectuer.

En gros tu crée ton propre protocole de communication selon tes besoins, par exemple :

structure d'une requête (socket php -> arduino) : [START (0xFF) | LONGUEUR (de la commande - sur 4 octets) | COMMANDE | ACK (0x00)] avec par exemple comme commande : R NOMDUFICHIER -> demande le contenu du fichier D NOMDUFICHIER -> supprime le fichier ... etc

Structure d'une réponse (arduino -> socket php) : [START (0xFF) | LONGUEUR ( de la réonse - sur 4 octets) | REPONSE ACK (0x00)]

Comme c'est toi qui décide de la forme des requêtes et de la réponse tu peut faire quelque chose qui colle à tes besoins sans problème.

Sinon, mais il faut maitriser le langage PHP un minimum, tu peux utiliser les fonctions CURL (de php) pour te connecter à n’importe qu’elle URL (ta arduino par exemple) pour récupérer le texte de ton fichier.