mai 24

Les modules Xbee

Présentation

Ce sont des petits modules électroniques, compatible Arduino et Teensy, permettant d’envoyer des données « serie » sans-fil.
Il y a malheureusement plusieurs types de modules (serie 1, serie 2, XeeBee, Znet) créant je trouve une grande confusion.
La serie 1 est aussi appelé 802.15.4 et la serie 2 ZB ou ZigBee.

A priori, avec la serie 1 c’est automatique, les Xbbe communiquent même sans passer par la case programmation.
Pour les serie 2, vu les différents « mode » disponible, la programmation est indispensable.

Pour ma part, j’ai eu des résultats très « chaotiques », je déconseille donc l’utilisation de la serie 2, du moins pour un projet simple de envoie/réception de donnée.

(difference entre serie 1 et 2)

xbee-comparaisons

  • les modules des séries 1 et 2 ne sont pas compatibles entre eux ;
  • la portée et la consommation sont sensiblement les mêmes ;
  • le nombre d’entrées et sorties est différent et surtout la série 2 ne possède pas de sorties analogiques PWM ;
  • les topologies de réseaux possibles ne sont pas les mêmes :
    • Avec la série 1, l’architecture est simple : point à point (pair) ou multipoint (star).
    • La série 2 permet en plus de créer des réseaux plus complexes : maillés (mesh) ou en « arbre » (cluster tree).

xbee-reseaux

 

Hardware

De plus, différente version hardware existe aussi (antenne intégrée, connecteur antenne, antenne extérieur…)

xbee-antenne

 

  • wire :  min antenne omnidirectionnelle
  • chip : antenne intégrée, sous forme de puce (le signal est atténué dans certaines directions) ;
  • U.FL : antenne intégrée ( à vérifier) et une mini prise pour une antenne externe
  • RPSMA : plus gros que le connecteur U.FL, permet de placer son antenne à l’extérieur d’un boîtier.

Même le logiciel (Xctu) servant à programmer les modules à changé de version et de look… difficile donc de si retrouver avec les nombreux tutos présents sur le net, comme souvent qui ne précise pas avec quelle version de ce *** de Xbee il font leur tuto.

Le brochage des pins est le même entre la serie 1 et la serie 2

xbee-pins

Chaque XBee dispose d’une adresse 64 bits imprimé sur le dos.
Le début ou la partie « HIGH » de l’adresse seront 0013A200 (pré-attribué pour Digi). La dernière partie ou «LOW» de l’adresse sera différent pour chaque Xbee. Notez ces chiffres, ça peut servir pour la suite.

xbee-etiquette

 

Connexion

L’écarts des pins du Xbee n’est pas au pas standard (veroboard, breadboard…)
Il faut donc passer par des interface (Arduino ou USB) pour tester la bête.

Xbee-pin-board xbee-usb-board

 

Configuration

L’interface USB SparkFun, permet de le brancher directement sur un PC, afin qu’il soit reconnu par le logiciel dédié à sa configuration (voir plus bas).

xbee-usb-pc

Cette interface dispose d’un bouton permettant faire un « reset » du Xbee, en cas de problème de mise à jour par exemple.
Ce bouton fait juste un court-circuit entre la broche 5 et la broche 10 (gnd).

La connexion vers Arduino ou autre est des plus simple :

  • 1 = 3.3 Volt (pas de 5 Volt)
  • 2 = Digital OUT —> vers RX arduino (receive)
  • 3 = Digital IN —> vers TX arduino (transmitte)
  • 10 = GND

Avec Teensy 3.1, on peut utiliser un sketch permettant de faire un « pont » entre les données « serie » et le port USB.
Ce système permet d’utiliser la prise USB du Teensy pour le programmer mais surtout, de le faire reconnaître par le logiciel X-CTU, pour sa configuration.

Il suffit de connecter le Xbee au Teensy (parmis les 3 ports série disponible), de charger le sketch : Fichier/exemples/Teensy/USB_Serial/USBtoSerial, de mettre Teensy en mode serie : Outils/USB type = Serial. Une fois le teensy connecté en USB au PC, X-CTU devrait le voir.

Attention : bien prendre note de la vitesse serie indiqué dans le sketch lors de la recherche du Xbbe par X-CTU.

Programmation

La programmation des Xbee se fait via  un logiciel dédié, à savoir X-CTU.

Les modes

AT = Transparent

C’est le mode par défaut, le plus simple à configurer

API = Application Programming Interface

« …envoyer et recevoir des données vers et à partir de série UART de la radio. L’API est une alternative au mode transparent par défaut. L’API permet au programmeur la possibilité de: Modifier les paramètres sans passer en mode de commande (XBee seulement) Voir RSSI et l’adresse de la source sur un paquet par base de paquets Recevez la confirmation de livraison de paquets sur chaque paquet transmis… »

Le mode API n’est possible qu’avec une connexion locale en série et filaire avec l’ordinateur et Arduino, pas entre modules XBee.

COMMAND

Il permet de configurer le module : ses entrées, ses sorties, son adresse, l’adresse de destination de ses messages, etc.

Ouvrez le terminal choisi. Avant tout, il faut signaler au XBee que l’on veut quitter le mode TRANSPARENT pour entrer dans le mode COMMAND. Pour cela il faut prendre le coup de main, suivez bien ces instructions à la lettre :

  • Taper +++ et attendre 1 seconde sans appuyer sur aucune autre touche, le message OK devrait alors s’afficher comme sur l’image du terminal.
    Par ce OK, le XBee nous signale qu’il passe en mode COMMAND et qu’il est prêt à recevoir les messages de configuration.
  • Si vous attendez plus de 10 secondes sans appuyer sur une touche, le XBee revient en mode TRANSPARENT. V
    ous devez alors retaper +++ pour revenir en mode COMMAND.

Dans les télécommunications, l’ensemble de commandes Hayes est un langage de commandes spécifiques développé pour le modem Hayes SmartModem 300 en 1981. Les commandes sont une série de mots courts qui permettent de contrôler le modem avec un langage simple (composer un numéro de téléphone, connaître l’état de la ligne, régler le volume sonore…) Ce jeu de commandes s’est ensuite retrouvé dans tous les modems produits
(sources :http://fr.wikipedia.org/wiki/Commandes_Hayes , http://en.wikipedia.org/wiki/Hayes_command_set ).

Pour avoir un aperçu rapide des commandes disponibles pour le XBee, télécharger le guide de référence des commandes AT de Sparkfun .

Sources:

http://www.pobot.org/-Reseaux-ZigBee-.html

http://jeromeabel.net/ressources/xbee-arduino

https://docs.digi.com/display/XCTU/Configure+your+modules


Étiquettes :
Copyright 2017. All rights reserved.

Ecrit 24 mai 2015 par Pit dans la catégorie "Teensy/Arduino

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.

treize − un =