Projet | ​​​​Mini projet - Arduino |  ​​​​​​​​​Réseau WWW - Yun client WIFI - échange de données

Yun !

Cette carte réalise les fonctions d'une carte Uno et d'un shield WIFI réunis.

Mais davantage, elle intègre deux processeurs. Un dans lequel nous chargerons notre programme écrit en langage C++ et un second qui l'interface avec le réseau internet et fonctionnant avec le système d'exploitation OpenWrt, une distribution de Linux pour systèmes embarqués.

​ Nous utilisons l'environnement ​​Arduino 1.5.7 BETA pour ce projet.

Préalables

​ Adapter l'IDE Arduino à la carte Yun. Voir ci-contre.

​ Une fois alimentée, 1 minute sera nécessaire afin que la connexion au réseau soit effective. L'adresse IP de la carte Yun sera alors lisible depuis l'IDE Arduino par le menu Outils / Port. Et nous pourrons nous assurer de la connexion avec la commande ping ip_address depuis la console de l'odinateur connecté également au même réseau.

​ Pour redémarrer le dernier programme chargé,  appuyer 2 fois sur le poussoir 32U4 RST situé près du connecteur RJ45, alors que le terminal de l'IDE est fermé.

Accès à une page web avec la carte Yun

Dans ce paragraphe, on montre que la carte Yun est capable d'importer des données issues du web.
  1. Montrer tout d'abord à l'aide du navigateur de l'ordinateur que la page web située à l'URL http://sin.nexgate.ch/site/ard.txt existe bien sur le web.
  2. Ouvrir le programme Exemples/Bridge/HttpClient dans l'IDE Arduino et y remplacer la chaîne de caractères http://www.arduino.cc/asciilogo.txt par l'URL précédente.
  3. Exécuter le programme et montrer que l'affichage dans le terminal de L'IDE Arduino est conforme   à celui du départ.

Importation d'un caractère depuis une page web

Il s'agit de lire un caractère (0 ou 1) enregistré sur la page web http://sin.nexgate.ch/bt3/bts.txt. Le script http://sin.nexgate.ch/bt3/bts.html réalise l'enregistrement.

  1. Montrer qu'il est possible de changer la valeur enregistrée sur le web avec le navigateur.
  2. Adapter l'URL dans le programme C++ afin d'afficher le caractère  dans le terminal Arduino.
  3. Adapter le programme afin d'allumer ou d'éteindre la led rouge - reliée à la broche 13 - sur la carte Yun selon la caractère (0, 1) enregistré sur la page web.

Importation de plusieurs données depuis une page web

La page http://sin.nexgate.ch/led38/led38.txt contient des données. Le script http://sin.nexgate.ch/led38/led38.1.html réalise l'enregistrement. Nous exploiterons la méthode client.parseInt() qui recherche le prochain entier reçu dans la mémoire cache de la carte Yun.

  1. S'assurer avec le navigateur qu'il est possible de modifier les valeurs enregistrées.
  2. Adapter le programme C++ afin d'afficher le premier entier dans le terminal Arduino.
  3. Afficher tous les entiers puis poursuivre afin d'afficher la somme des données.

Exportation d'une ou plusieurs données sur une page web

Le script php ci-contre réalise cela.

  1. S'assurer avec le navigateur que le script http://sin.nexgate.ch/bt3/bts.php?st=1 enregistre le caractère 1 sur la page http://sin.nexgate.ch/bt3/bts.txt
  2. Recommencer avec http://sin.nexgate.ch/bt3/bts.php?st=0
  3. Adapter le programme C++  afin d'exporter sur la page web, l'état logique présent sur une des broches de la carte Yun. Ouvrir ou enlever les références au terminal pendant l'exécution.
  4. S'assurer que la page http://sin.nexgate.ch/bt3/gau.html affiche la donnée correctement: il y a quelques secondes de délai.
  5. Adapter le programme C++  afin d'exporter sur la page web, la tension présentée sur une des broches analogiques de la carte Yun.

Dispositif

carte Arduino Yun / cordon micro USB 

Led rouge sur carte Yun

Script php

Ce script enregistre sur la page web d'URL http://sin.nexgate.ch/bt3/bts.txt
la donnée qui lui est passée en paramètre.