[TUTORIEL] Module Wifi Roving Networks RN-XV

Informations et questions sur les composants tiers de la boutique (émetteur/récepteur RF, capteurs...)

[TUTORIEL] Module Wifi Roving Networks RN-XV

Message non lude Stéphane » Mar 30 Oct 2012 17:24

Bonjour,

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 !
Avatar de l’utilisateur
Stéphane
 
Messages: 179
Inscription: Lun 2 Mai 2011 09:40

Re: [TUTORIEL] Module Wifi Roving Networks RN-XV

Message non lude doms » Sam 16 Mar 2013 22:20

Bonjour,

je viens d'acquérir le shield avec la carte Wifi. Je me suis posé la question de la configuration Wifi faite dans le serial manager et d'être obligé de le refaire dans le sketch. Je ne voyais du coup pas l'intérêt de faire la conf en dur pour le microcontroleur de la carte wifi pour passer outre ensuite ou pour remettre la même chose.

Donc, même si les exemples donnés avec WiFly contiennent bien le crédential and co, si vous avez fait la manip de configuration de la carte Wifi, il est inutile de faire le :

Code: Tout sélectionner
WiFly.join( sid, passphrase )


Le code suivant (donné également est suffisant) :

Code: Tout sélectionner
#include <SPI.h>
#include <WiFly.h>

void setup() {
  Serial.begin(9600);
  WiFly.setUart(&Serial);
 
  WiFly.begin();
 
  Serial.print("IP: ");
  Serial.println(WiFly.ip());
}


Par contre, je n'arrive pas à téléverser le code quand le switch est sur micro (async pb) sur un arduino uno rev 3 avec le logiciel arduino 1.0.5. Donc, passage en mode USB, téléversement, puis repassage en mode micro et enfin reset de la carte.

Doms.
doms
 
Messages: 1
Inscription: Sam 16 Mar 2013 22:10


Retourner vers Composants tiers

Qui est en ligne

Utilisateurs parcourant ce forum: Yahoo [Bot] et 2 invités

cron