Possibilité de l'arduino: interrogation à distance

Bonsoir,

je vais enfin pouvoir m'atteler à mon arduino, j'ai commandé les composants qui me manquait pour faire mes essaies. Mais j'aurais quelques questions au sujet de ces possibilités:

J'aimerais par la suite ajouter une carte Ethernet pour interroger mon arduino. A savoir qu'il va me servir à piloter un aquarium récifal et je voudrais à distance prendre nouvelle des certains paramètres lorsque je part en vacance, par exemple.

Avec cette carte Ethernet,est ce que c'est elle qui contient un site Web ou est-ce juste un serveur Web qui permet de récupérer des données stocker dans la Ram ou la SD? auquel cas il faut que je crée un site Web qui va chercher les info à l'adresse IP de mon arduino.

Est-ce que l'on peut éventuellement modifier des variables à distances? par exemple je vais avoir mes horaires d'éclairages en fixe mais si mes ventilateurs n'arrive pas à réduire la température en été il faut que je réduise le temps d'éclairage (je pourrais l'automatisé éventuellement mais est-ce possible).

Donc en faite je voudrais savoir si l'on peut interagir avec l'arduino depuis internet à travers la carte Ethernet. Une petite explication si possible ou le renvoie sur un tuto serait sympa.

Dans l'immédiat je ne vais pas avoir la carte ethernet, est-ce que je peut faire la même chose en port série (par l'USB).
J'ai vu qu'a partir de l'arduino qu'on pouvait, sur la console disponible dans le logiciel donc l'USB, envoyer des trames pour le débogage mais peut t'on aussi depuis la console envoyer des info dans l'arduino. je suppose que cela rejoint mes questions précédentes.

Merci de votre aide

Personne :cry:

En ultra-résumé, la carte ethernet qui est utilisable avec l'Arduino peut un peu tout faire, à condition de lui dire comment faire. C'est à dire qu'elle ne fait pas "serveur web", mais elle sait écouter sur le port 80 et VOUS allez lui apprendre à faire serveur web.

Dans votre cas, voilà ce que je ferais. Ce n'est pas la seule solution, ni même la meilleur, et j'espère que d'autres personnes vous donneront d'autres pistes pour que vous puissiez choisir la plus adaptée.

  • Installer un logiciel de monitoring sur un ordinateur. Son rôle sera d'interroger régulièrement l'Arduino en ethernet et y prendre des valeurs comme la température de l'eau, la température de l'air, l'activité des lampes, la luminosité ambiante, etc. Il produira alors de beaux graphiques en fonctions des valeurs, plus faciles à lire que des tableaux de chiffres. Perso, j'utiliserai "munin" disponible sous Unix et surement ailleurs.

  • Utiliser la carte ethernet en serveur TCP sur le port de "munin" et j'apprendrai à mon Arduino à répondre aux 3 ou 4 commandes basiques : config, list, fetch, etc. (qui permettent à l'ordinateur de récupérer les données via le réseau).

  • En plus des commandes basiques, j'ajouterai une commande perso du style "set", qui servira donc à définir ce que tu veux sur l'Arduino (allumer ou non les lampes, régler l'heure de la minuterie, etc.).

Pour plus d'infos, deux liens. Le premier sur le site de Munin (pas très sexy) et l'autre sur des exemples de graphiques (ah, c'est quand même plus joli !).

Munin : http://munin-monitoring.org/
Exemples : http://www.google.fr/images?q=munin

J'espère que ça vous donnera de (bonnes) idées ! :wink:
Frédéric

Merci beaucoup, je vais étudier sa avec attention, j'ai presque tout reçu de mon matos, je vais pouvoir attaquer les plans des cartes interface.

Si d'autre témoignage ou lien.

Merci

Je vien de regarder munin, bon regarde rapide je l'avoue, mais a première vu c'est un système qui va chercher les données et les affiches sous forme de courbes.

Dans ce principe je comptais stocker les données sur la carte mémoire SD de la carte ethernet. Et interroger l'arduino lorsque je me connecte à un site qui lui ira chercher les info lors de la connections. Pour les courbes je comptais utilisé ZedGraph.Web car je l'ai déjà utilisé pour mon BTS IRIS avec Visual studio.(Reconversion professionnel)

Mais je vais regarder ce que munin est exactement.

Au lycée on a pas fait beaucoup, malheureusement, d'embarqué et j'avoue que je me pause pas mal de question. Au boulot je vais pas tarder à y passer en plus.

Mais dans l'idée est-ce que j'ai faux:
Pour lui envoyer la commande SetHeure par exemple, il faut que dans mon code de l'arduino je contrôle ce qui entre par le port de communication. Ensuite je traite la commande en conséquence.

Idem pour interroger les variables, je ne vais pas directement les chercher mais c'est l'arduino qui me les donnes lorsqu'il traite l'éventuelle commande GetTruc que je lui aurait envoyé sur le port de com.

Dites moi si je me trompe

C'est bon j'arrive à dialoguer avec l'arduino depuis une interface crée en C# par le port serie.

Pour le moment je lui fait juste envoyer le contrôle du clavier du LCD keyboard shield et il me renvoie le message que je lui envoie depuis mon interface. L'envoie se fait par Serial.println("montexte");

Je suppose qu'avec l'interface Ethernet le principe sera le même?

Regarde ici :

http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1282763701/0

merci

Salut,

Tu peux embarquer un webserver dans ton arduino en utilisant la lib Webduino par exemple.
Je m'en suis servi pour connecter mon arduino directement à Internet (donc sans PC) pour avoir un état de mes lumières et les allumer/éteindre à distance en dynamique (méthode AJAX). Le code HTML est directement écrit dans la mémoire programme de l'arduino, d'où des limitations en terme de taille.
Il ne faut pas trop lui en demander (genre afficher des graphiques), mais ça peut être suffisant.

Il existe aussi une autre lib (Tiny Web Server: http://www.webweavertech.com/ovidiu/weblog/archives/000476.html), sans doute plus puissante car tu stockes tes fichiers sur la SD-Card (page html, photos...). Mais c'est aussi plus délicat pour faire un site dynamique. Quoique j'imagine qu'en chargeant la page en statique puis en incorporant les valeurs ensuite (méthode AJAX toujours), ça doit être faisable.

Gromain

Il y a de quoi faire c'est sympa.

Mais je pense que l'on peut crée un site en PHP ou ASP qui lui ira chercher les données dans l'adresse IP de l'arduino. Je pense bien sur à faire sa sur ma page Web de mon fournisseur d'accès par exemple. Aucun intérêt effectivement à faire sa en local avec un autre PC, se serait de l'énergie utilisé pour rien.