Sujet : communication sans fil XBee

Bonjour,
Tout d’abord, je me présente Nicolas 22 ans étudiant, je viens de découvrir votre site et je le trouve très intéressant.

Je me lance dans la robotique et j’essaie actuellement d’établir une connexion sans fil entre plusieurs systèmes (actionneur avec temporisation, gestion des données etc).

J’ai en 1er opté pour la modulation d’amplitude avec des modules des modules RT6-433 et RR3-433 (fréquence 433 MHz). Cependant, j’ai vite réalisé que je n’avais pas les compétences pour conditionner l’émetteur et le récepteur.

J’ai alors découvert les modules XBee ou il n’y a pas à s’occuper du décodage de trame (si j’ai bien compris). Dans le choix du microcontrôleur, j’ai opté pour la marque Arduino car ils sont simples d’utilisation et ont une interface « sexy ».

Mon système comprend donc:
-    Un module XBee Pro ZB (http://radiospares-fr.rs-online.com/web … 4/6672989/) pour communiquer (émettre et recevoir).
-    Un Shield « Arduino Wireless Shield » (http://radiospares-fr.rs-online.com/web … r/7485442/) pour adapter au microcontrôleur Arduino.
-    Un microcontrôleur Arduino Uno (avec connexion USB vers le PC pour le programmer).

Avec ces 3 éléments, je pense pouvoir accomplir une liaison sans fil comme dans l’article http://www.pobot.org/Reseau-sans-fil-XBee.html mais le problème est que dans l’article il est question d’un montage à « 30 euros d’une communication série sur plus de 100 mètres ». Or moi j’arrive à 36 (Xbee) + 22 (Uno) + 15 (shield) = 73 € on est loin des 30 €. Je me demande donc si j’ai fait une erreur ou non.

Pouvez-vous me dire si je suis dans le bon ou non ? Je suis également ouvert à toute idée d’amélioration sachant que je cherche à avoir le montage le moins couteux.

Merci d’avance pour votre aide.
Nicolas

2 Dernière modification par MarcD (09-06-2012 08:34)

Re : communication sans fil XBee

Bonjour,

L'article de Pobot parle de ce qui est nécessaire pour établir une liaison en utilisant les modules Xbee, donc il suppose que l'utilisateur dispose déjà du reste (Arduino, PC etc ;-)

Il y a deux (principaux) types de modules Xbee, celui à 36€ est le module Pro (plus de portée). L'Xbee 'standard' ne coute que 20€   http://www.lextronic.fr/P4513-module-ra … i-001.html

On n'est pas obligé d'utiliser un shield pour communiquer avec l'Arduino, puisque ce dernier possède déjà une sortie 3.3v.
On trouve pour quelques centimes d'euro des 'XBee Socket' permettant de mettre un module Xbee sur une breadboard. (Ce sont juste des connecteurs au même pas que les breadboard (2,54mm), il en faut 2.

Le shield a l'avantage de faire un montage propre et la conversion 3.3v, mais l’inconvénient est qu'il faut (parfois) l'enlever lorsqu'on upload un programme dans l'Arduino (le shield occupe le Tx/Rx du port série) Certaines cartes compatibles ont un jumper, mais par l'Arduino.

Si tu veux communiquer entre le PC et l'Arduino, il te faut aussi une platine USB et un module Xbee (du même modèle) à enficher dessus.  (ex: http://www.lextronic.fr/P2901-platine-d … -xbee.html) Cette petite platine à l'avantage de monter par une LED si un module Xbee est réellement associé. (Utile pour les robots: on sait tout de suite s'il est hors de portée)

Marc

3

Re : communication sans fil XBee

J'ajouterais en complément que les XBee ZB sont les versions ZigBee, et sont donc plus chers que les XBee dits "série 1", qui utilise le protocole 802.15.4 simple, sans la sur-couche ZigBee.

Pour un réseau dans lequel les distances entre les noeuds devant communiquer ne requiert pas le recours à une topologie maillée (ie avec routage des communications par des noeuds intermédiaires), les XBee S1 sont amplement suffisants, même sans utiliser les modèles pro.

Pour information je les ai utilisés à titre professionnel pour faire de l'instrumentation d'appartements dans le cadre de projets de recherche. En positionnant la "base" (ie le XBee relié au PC ou à la carte de traitement) au centre approximatif du périmètre couvert, nous avons même pu instrumenter un appartement de 180m2 dans un bâtiment ancien (ie murs en pierre) situé en centre-ville de Nice.

Un optimum consiste à choisir les modèles avec antenne whip (fouet) pour les capteurs/actionneurs et un modèle avec antenne déportée 1/4 d'onde pour la base. Le modèles avec antenne patch céramique peuvent convenir pour les points les plus proches de la base, mais attention au fait que leur lobe de rayonnement est plus restreint que les antennes whip, et donc à l'orientation du dispositif lors de son installation. On peut s'offrir le luxe d'un modèle pro pour la base, histoire de se garantir une marge de sécurité.

Donc on peut effectivement réduire le budget XBee aux environs de 30 Euros comme dit dans l'article.

De plus il est fait mention de RadioSpares comme fournisseur. Il faut savoir qu'ils sont en moyenne entre 15 et 20% plus cher que le tarif moyen des produits proposés (ils font partie de mes fournisseurs à titre professionnels). Eh oui, il faut bien payer à un moment donné la livraison le lendemain, l'étendue du catalogue et le port soit-disant gratuit smile

4 Dernière modification par MarcD (09-06-2012 14:55)

Re : communication sans fil XBee

En lisant les spécifications, je pensais que les modules avec antenne céramique avaient la même portée que la mini antenne fouet, il semble que cela ne soit pas le cas.

Chose curieuse, je passe bien d'une pièce à l'autre, même à travers deux murs de brique, mais pas dans la cuisine: je pense que la présence de tout un tas de truc inox (évier, four, hotte) et tous les ustensiles métal accrochés aux murs doit sérieusement perturber les ondes ? (tiens, une idée de projet Arduino à creuser: un testeur de qualité de signal :-)

Je vais considérer sérieusement pour le prochain module (qui deviendra maitre) l'idée du modèle à antenne déportée.

5

Re : communication sans fil XBee

On peut trouver quelques éléments de comparaison entre les différents types d'antennes des XBee dans ce document :
http://www.google.fr/url?sa=t&rct=j … 6M0jGHNrhA
Un autre lien intéressant : http://www.doityourselfchristmas.com/wi … tenna_Info

Pour ce qui est de la transmission indoor, il faut prendre en considération les éléments suivants :
- certains murs sont porteurs, et donc souvent en béton armé
- la brique ou le parpaing ne sont pas très pénalisants, mais le placo-plâtre peut l'être à cause des armatures métalliques utilisés pour son montage.
- pour les planchers, ne pas oublier qu'ils sont souvent constitués d'une dalle en béton armé
- quant  aux plafonds traditionnels, ils sont parfois faits en plâtre tiré sur Nerlatte (treillis serré en alu)
- la cuisine est un cauchemar à cause des diverses masses métalliques telles que : frigo, plaques de cuisson, évier inox, placards pleins d'ustensiles en alu,...

Quant à la transmission en extérieur, ne pas oublier que plus on monte en fréquence (et nous sommes ici en 2.4GHz), et plus l'eau et l'humidité sont des absorbeurs d'énergie radio. Une simple haie représente donc souvent un obstacle quasiment infranchissable du fait de son épaisseur (j'en ai fait l'expérience). De même, la pluie ou pire le brouillard, atténuent les transmissions dans des proportions parfois énormes.

Pour ce qui est du test de qualité de signal, c'est le RSSI qui est disponible sur une des pins du XBee (la pin 6 sauf erreur). Les cartes d'expérimentation comme celle du kit d'expérimentation (http://radiospares-fr.rs-online.com/web … 4/0436389/)  le visualisent d'ailleurs via un mini bargraph à 3 LEDs. Dans tous les cas, pas besoin d'un Arduino pour faire cela : il suffit d'un bête multimètre sur la pin en question.

6 Dernière modification par MarcD (09-06-2012 19:00)

Re : communication sans fil XBee

Merci pour les liens et le retour d'expériences: je ne savais pas que les haies faisaient un tel barrage! mais c'est vrai que c'est végétal, donc ça contient aussi du liquide.

Je vais aussi étudier la broche RSSI en lui pinçant mon petit oscillo (DSO Nano 2). C'est un petit 'gadget', mais bien suffisant pour un amateur comme moi et il m'a été souvent utile pour voir si un capteur fonctionnait réellement ou si c'était mon (parfois bizarre) prog qui était mal conçu :-)

7 Dernière modification par Nicolas71 (10-06-2012 11:34)

Re : communication sans fil XBee

Tout d’abord, merci MarcD et  Eric pour vos réponses.

Pour le choix du module, je pense prendre le module « Module radio XBee® XB24-AUI-001 » à 20 € XBee S1 (http://www.lextronic.fr/P5075-module-radio-xbee-xb24-aui-001.html ) car  je veux une antenne déportée et il dispose d’un connecteur uFL pour antenne (http://www.lextronic.fr/P18936-adaptateur-ufl--sma.html).

Je ne dois pas bien avoir compris l’intérêt du shield, il permet une adaptation compacte au module arduino et une conversion 3,3V, mais ça me semble cher pour 15 € sachant que si je remplace par les XBee Socket et un convertisseur on obtient la même fonction pour 4 € (vrai ou faux ?). Dans ce cas, il faut faire une carte driver est-elle complexe/couteuse a réaliser ?

Dans mon système je n’ai pas à communiquer avec mon PC, je peux donc me passer de l’adaptateur XBee PC ? Où le faut-il pour une configuration les XBee ?

Petite interrogation sur le module arduino Uno, je dois réaliser un actionneur il me faut donc au minimum une sortie analogique, mais je n’ai pas l’impression qu’une fois le shield dessus les sorties soient accessibles sur le typon.

Nicolas

8

Re : communication sans fil XBee

Je ne dois pas bien avoir compris l’intérêt du shield, il permet une adaptation compacte au module arduino

Ca permet juste d'empiler les cartes au lieu de faire des liaisons par fil. Je suis également de ton avis concernant le prix. Un peu cher pour un bout de PCB et 2 headers. J'ai l'impression que les shields Arduino ont tendance à être un poil chers pour ce que c'est.

une conversion 3,3V

Je suppose que tu parles de la conversion 5V -> 3V3 via régulateur.

Dans ce cas, il faut faire une carte driver est-elle complexe/couteuse a réalisée ?

Qu'appelles-tu une carte driver ? Pour connecter un XBee simplement à un Arduino, il y a ce module de chez Droid.it, et redistribué par Lextronic : http://www.lextronic.fr/P1901-platine-d … -xbee.html
Pour l'adaptation de niveau 5V/3V3 des signaux, il suffit de faire un pont diviseur pour le signal Arduino -> XBee et une liaison directe pour le signal inverse (3V3 est considéré comme un niveau 1 en logique TTL 5V).

Où le faut-il pour une configuration les XBee ?

Tu en auras besoin pour la configuration (via X-CTU, le plus simple, ou bien via un émulateur de terminal et les commandes AT si tu aimes les complications). On en trouve des très peu chers chez Sparkfun (revendu par Lextro aussi : http://www.lextronic.fr/P4117-platine-d … xbee.html)
ou bien celui-ci (http://www.lextronic.fr/P2901-platine-d … -xbee.html) qui est plus volumineux mais offre l'avantage de pouvoir servir de convertisseur USB/série (si on retire le XBee).

9

Re : communication sans fil XBee

J’appelle carte driver une carte qui fait la connexion entre le module ZB et le MC.

Je ne sais toujours pas quelle solution prendre pour réaliser la connexion MC-ZB et je dois dire, je suis un peu perdu dans le choix des shields ( le wireless ou le XBEE SHIELD ARDUINO http://www.matlog.com/calculateurs-micr … duino.html ou http://www.lextronic.fr/P1901-platine-d … -xbee.html ) ou le module d’interface (http://www.lextronic.fr/P2901-platine-d … -xbee.html)


Également, est-ce que je peux avoir accès aux sorties analogiques pour réaliser une commande d’actionneur ?

10

Re : communication sans fil XBee

Attention, les deux groupes de cartes que tu mentionnes ne font pas la même chose.

1/ Le shield XBee gère la connexion avec un Arduino, en s'occupant également de la génération du 3V3 à partir du 5V, ainsi que de la translation des niveaux TTL pour les Rx et Tx. La platine remplit les même fonctions pour moins cher, mais elle ne permet pas de faire un assemblage "mono-bloc" avec la carte Arduino.

2/ La platine USB (ce que tu appelles "module d'inerface") est une interface USB pour connexion d'un XBee avec un PC (ou une carte disposant d'un port USB host).

Également, est-ce que je peux avoir accès aux sorties analogiques pour réaliser une commande d’actionneur ?

Il n'y a pas de sortie analogique (ie dont la valeur du signal peut varier de manière continue sur un intervalle) mais deux sorties PWM, qui peuvent fournir un signal analogique après intégration via un classique filtre RC.