Club robotique de Sophia-Antipolis

Accueil > POBOTpedia > Communications > Réseaux ZigBee > Retour d’expériences XBee/Romeo V2

Retour d’expériences XBee/Romeo V2

mercredi 15 mai 2013, par Llorenç

Voici un court retour d’expériences concernant l’utilisation d’une carte Roméo V2 (base Arduino avec connecteurs additionnels) pour une communication entre deux XBee.

Il nous faut :
 une carte Romeo V2 (elle possède deux ports série dont un lié au XBee)
 deux modules RF 802.15.4 XBee
 une platine d’interface USB pour modules "XBee"
 un émulateur de terminal (Telnet, TeraTerm, ou même X-CTU)

Pour commencer il faut établir une liaison avec le premier XBee monté sur la platine USB reliée à votre ordinateur.

Sous Windows

Pour cela, il nous faut déterminer sur quel port com le XBee est découvert. Sur Windows faites System + R (appuyez sur la touche entre Ctrl et Alt et la touche R), puis entrez devmgmt.msc et validez : la fenêtre du gestionnaire de périphériques s’ouvre.

Dépliez la rubrique Ports (COM et LPT). Si vous ne voyez rien c’est que vous n’avez aucun port com sur la machine. Sinon ceux déjà présents sont listés.

On monte le premier XBee sur la platine USB et on la relie au PC via un câble USB.

Vous devriez voir apparaitre une nouvelle entrée du type ’’USB Serial Port (COM...’’
(il y aura peut être quelques messages du système indiquant une installation). S’il s’agit d’une première connexion ou d’une nouvelle famille de puces non référencées par votre version de Windows, il faut installer les pilotes de votre carte d’interface USB (voir le site du fabricant).

Sous Linux et autres Unix

Il faut lister le contenu de /dev avant connexion et après connexion. La différence des deux vous indiquera quel est le port série (/dev/ttyUSB0 ou /dev/ttyACM0 ou encore un autre selon votre carte d’interface USB).

Test par un terminal série

Ouvrez votre émulateur de terminal avec le numéro de port trouvé.
Pour remettre à zéro le Xbee, il faut le passer en mode commande et envoyer une remise à zéro (ràz, reset) via la commande ’ATRE’.

 Entrez trois signe plus (’+++’) et attendez une seconde de voir la réponse OK (sans appuyer sur la touche entrée (retour chariot).
 Entrez ATRE suivit d’un retour chariot. Le XBee vous répond OK
 Entrez ATWR suivit d’un retour chariot. Le XBee vous répond OK

On vient de faire un "reset to factory settings" et de sauver la modification.
Faire la même chose avec l’autre XBee : ils auront alors la possibilité de se parler l’un à l’autre.

 Mettre un XBee sur la carte Romeo.
 Téléverser le programme ci-dessous.

/*
  Réception de données XBee (Romeo V2)
*/

void setup() {
  pinMode(13, OUTPUT);  //we'll use the debug LED to output a heartbeat
  Serial.begin(9600); // la console Arduino
  Serial1.begin(9600); // la liaison série avec le XBee
}

void loop()
{
  digitalWrite(13, HIGH);
  // attente de quelque chose à lire
  while (Serial1.available () == 0);
  Serial.println(Serial1.read(), HEX);
  digitalWrite(13, LOW);
}

Ouvrir la console Arduino (Outils=>Moniteur série).

Tapez ce que vous voulez depuis l’émulateur, vous devriez voir apparaitre votre prose sur la console Arduino.

Bonnes expérimentations.

Un message, un commentaire ?

modération a priori

Attention, votre message n’apparaîtra qu’après avoir été relu et approuvé.

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.