Les modules XBees sont des émetteurs-récepteurs sans fil extrêmement populaires. Ils présente un certain nombre d'avantages :
Le schéma ci-dessous montre plusieurs configurations. Il est très important de noter que : Pour que 2 modules puissent communiquer entre eux ils doivent avoir le même Channel ET le même PAN ID
On peut donc dire que sur le schéma ci-dessus :
Le canal par défaut est le canal C. Il est possible de configurer le canal entre 0x0C et 0x10.
Le PAN-ID est une valeur codée sur 16 bits, il peut donc être compris entre 0x0000 et 0xFFFF (de 0 à 65 535).
Vous aurez besoin d’un module "XBee USB Explorer" (voir photo ci-dessous). Cette platine fonctionne avec tous les XBee des series 1 à 2.5 (standard et la version Pro), et donne un accès direct à la série et broches de programmation sur l'unité XBee.
Il se peut que vous ayez besoin d’un driver afin que votre OS reconnaisse le XBee USB Explorer. Vous le trouverez à l’adresse suivante :
ou
La société DIGI qui commercialise les modules XBee met à disposition en libre téléchargement le logiciel X-CTU permettant de reconfigurer les modules XBee. Vous trouverez ce logiciel à cette adresse :
Installez tout d’abord le logiciel X-CTU, puis branchez le XBee USB Explorer muni d'un module XBee. Si c’est la première fois que vous effectuez cette opération, Windows installera les drivers nécessaires.
Exécutez ensuite le logiciel X-CTU, et cliquer sur le bouton "Discover radio modules" :
Sélectionner le port COM correspondant au "XBee USB Explorer" :
Vérifier le paramétrage du port COM, normalement les paramètres par ci-dessous conviennent (9600 8N1) :
Sélectionner le module détecté et cliquer sur le bouton "Add selected devices" :
Cliquer sur le module affiché :
Généralement les paramètres à modifier sont CH et ID. Pour que 2 modules puissent communiquer entre eux ils doivent avoir le même Channel ET le même PAN ID
Pour ce premier montage, nous allons faire communiquer une carte Arduino avec un PC équipé du module "XBee USB Explorer" :
La loupe met ici en évidence la position que doivent avoir les cavaliers quand le programme fonctionne.
Attention : Lorsque les cavaliers sont présents le module XBee se retrouve en "conflit" avec le convertisseur USB <=> Série de la carte Arduino. Il est alors impossible de programmer la carte si les cavaliers sont présents.
Pour téléverser le programme dans la carte, il faut retirer le premier cavalier XB_TX (rang 0)
Programme de la carte Arduino UNO :
////////////////////////////////////////////////////////
///////////////// Programme Emetteur ///////////////////
////////////////////////////////////////////////////////
void setup()
{
Serial.begin (9600); // initialisation de la communication Série à 9600 bauds
}
void loop()
{
Serial.println("Bonjour XBEE !"); // Envoie d’une chaine de caractères
delay(1000); // Attendre 1s
}
Coté PC pour visualiser les données reçu, il faut utiliser un terminal (Putty, YAT, …). Le logiciel XCTU dispose également d’un terminal intégré :
Cliquer sur l’icône représentant un terminal :
Cliquer sur l’icône « Open » :Vous devez obtenir le résultat ci-dessous :Vous pouvez essayer de modifier le canal (CH) ou le PAN ID du module coté PC pour constater que la communication ne fonctionne plus si ces 2 paramètres ne sont pas identiques sur les 2 modules.
https://learn.sparkfun.com/tutorials/exploring-xbees-and-xctu