Le javascript est désactivé sur votre navigateur
 
Prononcer /'po.bot/
Accueil du siteComposants et techniqueCommunicationsRéseaux ZigBee
  publication inférieure à 7 jours
  publié < 7j sous cette rubrique
     
À propos de l'article
    Publié le 2 mars 2009
    par Julien H.

    Mis à jour le 25 juin 2011
Mots-clés de cet article
    Communications :
    XBee , USB (Universal Serial Bus) , Zigbee
Choisir votre langue :

Configuration simple des XBee

Dans le premier article concernant les XBee, nous avions montré comment nous pouvions facilement faire communiquer plusieurs cartes sans-fil avec des XBee series 1 sans aucune configuration.

C’était possible grâce aux réglages par défaut qui utilisent un même identifiant de réseau (3332 comme valeur pour ID) et une adresse broadcast (pas de destinataire particulier, tout le monde, comme une antenne de télé).

Maintenant, nous allons voir comment configurer des modules pour des besoins plus particuliers :
- s’isoler sur un réseau personnel différent (changer l’ID)
- s’assigner une adresse d’émetteur
- préciser une adresse de destinataire

 Matériel nécessaire

modules XBee 2 ... environ 50 euros
carte USB/XBee 2 ... environ 30 euros

Bien sûr plus vous avez de cartes, plus vous pouvez tester de combinaisons, puisque le but est de voir quand ça connecte, quand ça connecte pas et avec qui ça connecte.

 Préparation

Il faut un peu d’organisation : un hub USB pour brancher/débrancher les câbles des adaptateurs USB/XBee sans se tromper, et se rappeler le numéro de port COM de chacune des cartes.

Installez si ce n’est pas déjà fait le logiciel X-CTU distribué par Digi, la société qui conçoit les puces XBee (successeur de MaxStream, ce nom pouvant être encore écrit sur vos modules).

Prenez enfin de quoi noter les paramètres.

 Tests

Le premier XBee sera configuré ainsi :

Paramètre Valeur Rôle
ID 3332 adresse de réseau commun
MY 1234 l’adresse de ce XBee
DH 0 partie haute de l’adresse, indique qu’on veut utiliser les adresses sur 16 bits
DL FFFF adresse de destinataire : broadcast à tous

Le second XBee sera configuré ainsi :

Paramètre Valeur Rôle
ID 3332 adresse de réseau commun
MY 5678 l’adresse de ce XBee
DH 0 idem ci-dessus
DL 1234 adresse de destinataire : réponse au premier

Comme on le voit, le second module (on dira "remote" ou "distant") ne répond qu’au premier module (on dira "base"). On pourrait donc utiliser plusieurs modules distants. Le module base quant à lui a une adresse de broadcast (FFFF), ce qui lui permet d’atteindre tous les modules XBee qui sont sur le réseau personnel 3332 (paramètre ID identique pour tous). Bien sûr, il faudra changer la valeur de destinataire (DL) si on veut ne s’adresser qu’à un des modules.

Juste une note sur le paramètre ID : il ne s’agit pas du canal de communication dans le sens canal RF, c’est un autre paramètre qui permet de choisir parmi les 16 canaux 2.4GHz que gère le XBee, mais du PAN ID, où PAN désigne un réseau personnel (Personal Area Network).

Pour paramétrer ces valeurs, il suffit de connecter chacun des modules sur la plaquette USB et utiliser un outil de configuration (X-CTU distribué par Digi) ou un simple terminal (connecté à 9600 bauds par défaut).

On va utiliser des commandes dites "AT", une méthode qui n’a pas changé depuis les premiers modems filaires.

On ressort donc notre terminal série préféré, Docklight, et on le paramètre pour communiquer en 9600-N-1-8 sur le port COM (pour Windows) associé à la carte USB/XBee et on enregistre une série de commandes classiques :

Commande Rôle Résultat attendu
+++ démarre la connexion "AT" avec le module réponse OK dans 1 à 2 secondes (surtout pas de retour chariot)
ATID ou ATIDnnnn lit ou écrit l’adresse du réseau commun l’adresse courante si aucun paramètre, OK si l’adresse nnnn a été enregistrée, ERROR sinon
ATMY ou ATMYnnnn lit ou écrit l’adresse de ce module idem
ATDL ou ATDLnnnn lit ou écrit l’adresse du destinataire idem
ATWR sauvegarde les paramètres (sinon on perd tout quand on coupe l’alimentation) OK si les paramètres sont bien enregistrés
ATCN termine la connexion OK si on a bien terminé

Les commandes ATxx doivent être suivies d’un retour chariot ou \r pour les intimes et "carriage return" pour les anglophones. Pour nous qui utilisons un terminal série, c’est la valeur décimale 13.

Voici le résultat d’une session de vérification :

Vérifier la communication sans-fil

Jusque-là, rien de magique puisqu’on a utilisé une connexion filaire avec le XBee qui s’est comporté comme n’importe quel micro-contrôleur utilisant une liaison série. On va maintenant explorer le monde sans-fil avec la détection des autres modules alimentés autour de nous. Pour cela, on va utiliser une nouvelle commande AT : "ATND" comme Node Discovery ou "découverte des noeuds". Noeud désigne un module du réseau 802.15.4 sur lequel est basé le XBee.

Commande Rôle Résultat attendu
ATND recherche les modules XBee distant et affiche leurs informations voir ci-dessous le détail

Tout d’abord, précisons que le module XBee utilisé pour passer la commande ND n’est pas affiché dans le résultat, on a donc bien uniquement les modules distants. Voici ce que ça donne avec un module connecté :

Test de la commande ATND

Décryptons les informations affichées :

Ligne Valeur Signification
1 5678 adresse MY
2 13A200 numéro de série SH (partie haute)
3 40530CC7 numéro de série SL (partie basse)
4 21 force du signal radio (RSSI)
5 ’rien’ paramètre NI ou Node Identifier, un nom arbitraire qu’on peut donner au module

Vérifions les informations : le numéro de série est affiché sur le dessous d’un module, voici la comparaison :

Découverte des XBee distants
La commande "ND" (pour Nodes Discovery) montre tous les XBee distants (donc pas celui auquel on envoit la commande). Parmi les valeurs affichées, le numéro de série hardware, comme on peut le constater.

Concernant la force du signal, on peut effectivement rappeler que les modules XBee offrent la même possibilité que le Wifi que vous avez peut être déjà testé chez vous : la puissance du signal reçu. Ici, le RSSI (Radio Signal Strength Indicator) indique 0x21 soit -33 décibels d’atténuation. Si les deux modules sont côte à côte, je lis 0x17 soit -23 décibels d’atténuation.

Le paramètre NI est intéressant si vous faites un paramétrage particulier mais que les adresses MY que vous utilisez ne vous sont pas assez faciles à mémoriser, vous pouvez alors utiliser un nom plus significatif (CAPT TEMP ou BASE ou CMD RELAIS par exemple).

 
Répondre à cet article
Vous avez aimé cet article ? Merci de nous recommander !