Le RN-XV est un module WiFi de chez Roving Networks, permettant à votre Arduino d'accéder aux possibilités (finies) de votre réseau local, et pourquoi pas aux possibilités (infinies) de l'Inter(net/web/blag/sphere/node/book...) !
Pour cela rien de plus simple, suivez la recette

[Matériel nécessaire]
- Arduino UNO (x1) dispo : ici
- Wireless Proto Shield (x1) dispo : ici
- Module Roving Networks (x1) dispo : ici
- Arduino IDE v1.0.1 dispo : http://www.arduino.cc
[Première configuration]
Lors de cette première étape, nous utiliserons le module Wifi directement via l'USB, pour montrer un exemple simple de configuration.
Téléchargez la librairie WiFly disponible ici au format zip. Mettez-la en place comme indiqué ici, puis redémarrez votre IDE Arduino.
Commençons par charger dans l'Arduino un sketch de base qui n'utilise pas le port série. Dans notre cas, nous utiliserons le sketch Blink, donné dans les exemples de base de l'IDE.
Ensuite, nous assemblerons le module et le wireless shield, en prêtant bien attention à ce que l'antenne soit tournée vers l'extérieur du wireless shield. Positionnez l'interrupteur du shield sur position USB, emboîtez le sur l'Arduino, et branchez le tout.
Maintenant, dans l'IDE Arduino, sélectionnez le port port série, et ouvrez une liaison série.
Les réglages sont les suivants : 9600 bauds, Pas de fin de ligne.
----
Mise à jour - IDE 1.0.5
Avant d'utiliser le module, retirez-le et programmez l'Arduino avec un programme vide. Cela évite que l'Arduino interfère avec la liaison série.
- Code: Tout sélectionner
void setup () {
}
void loop (){
}
----
Envoyez ensuite la séquence suivante :
- Code: Tout sélectionner
$$$
Le module devrait répondre par :
- Code: Tout sélectionner
CMD
Repassez ensuite en mode NL & CR dans les réglages de la liaison série.
Entrez ensuite les commandes suivantes :
- Code: Tout sélectionner
set wlan phrase <mot de passe du réseau>
set wlan ssid <ssid du réseau>
save
reboot
Attention, les mots de passe et le ssid du réseau sont à entrer sans les "< >".
Le module devrait répondre ainsi :
- Code: Tout sélectionner
WiFly Ver numVersionCourante, 02-13-2012 on RN-171
MAC Addr=00:06:66:71:3a:38
Auto-Assoc leSSIDdemonReseau chan=1 mode=WPA2 SCAN OK
Joining leSSIDdemonReseau now..
*READY*
Associated!
DHCP: Start
DHCP in 4244ms, lease=86400s
IF=UP
DHCP=ON
IP=192.168.1.24:2000
NM=255.255.255.0
GW=192.168.1.1
Listen on 2000
Ouvrez une invite de commande et faites un ping sur l'adresse IP renvoyée par le module pour vérifier qu'elle répond.
Et voilà, votre module est donc maintenant pleinement fonctionnel au sein de votre réseau wifi !
Pour toutes les commandes utilisables, consultez le document disponible ici.
----
Mise à jour - IDE 1.0.5
Il n'est pas forcément nécessaire de passer la commande "reboot".
Passez directement après le "save" un "join <ssid>" (sans les < et >) pour rejoindre le réseau.
- Code: Tout sélectionner
join freebox_OFF
Auto-Assoc freebox_OFF chan=11 mode=WPA2 SCAN OK
<4.00>
Joining freebox_OFF now..
Associated!
DHCP: Start
DHCP in 3088ms, lease=43200s
IF=UP
DHCP=ON
IP=192.168.10.30:2000
NM=255.255.255.0
GW=192.168.10.1
Listen on 2000
En cas d'erreur, on obtient une série de messages du type
- Code: Tout sélectionner
join Snootlab
Auto-Assoc Snootlab chan=1 mode=WPA2 SCAN OK
Joining Snootlab now..
<2.32>
Disconn from Snootlab,AUTH-ERR
Auto-Assoc Snootlab chan=1 mode=WPA2 SCAN OK
Joining Snootlab now..
Disconn from Snootlab,AUTH-ERR
Auto-Assoc Snootlab chan=1 mode=WPA2 SCAN OK
Joining Snootlab now..
Disconn from Snootlab,AUTH-ERR
Auto-Assoc Snootlab chan=1 mode=WPA2 SCAN OK
Joining Snootlab now..
Disconn from Snootlab,AUTH-ERR
Cela fonctionne autant avec des réseaux b/g (points d'accès classiques) que b/g/n (points d'accès plus récent et nouvelles box).
----
[Utilisation d'un exemple de la librairie]
Prenons pour acquis que vous avez déjà effectué une première configuration, telle celle ci-dessus.
Débranchez votre montage, séparez l'Arduino du reste. Uploadez le sketch "WiFly_WebServer", disponible dans les exemples de la librairie WiFly.
Modifiez l'onglet "Credentials.h", en remplacant les paramètres réseaux par défaut par les vôtres.
Supprimez la ligne :
- Code: Tout sélectionner
Serial.begin(9600);
Ensuite, remplacez la ligne
- Code: Tout sélectionner
WiFly.begin();
par ceci :
- Code: Tout sélectionner
Serial.begin(9600);
WiFly.setUart(&Serial);
WiFly.begin();
Compilez, puis chargez dans votre Arduino.
Par la suite, débranchez votre Arduino, assemblez le reste du montage, mettez l'interrupteur sur la position "MICRO", et rebranchez le tout.
Vous pouvez ouvrir un terminal série pour suivre l'évolution des choses.
Connectez vous via votre navigateur web préféré à l'adresse IP de votre module, vous devriez avoir les valeurs des entrées analogiques de l'Arduino affichées, ça marche !
[Conclusion]
Ces petits modules wifi permettront d'interagir sans problème avec les équipements de votre réseau, permettant une plus grande connectivité entre votre Arduino, vos ordis, votre box, TV et autres !
Amusez-vous à remonter vos informations météo sur un serveur web, et bien d'autres utilisations, la seule limite est votre imagination !