Club robotique de Sophia-Antipolis

Accueil > POBOTpedia > Communications > Réseaux ZigBee > Un réseau sans-fil avec des XBee

Un réseau sans-fil avec des XBee

configuration des modules et différentes utilisations

samedi 3 janvier 2009, par Julien H.

Les modules XBee sont des circuits de communication sans-fil utilisant les protocoles 802.15.4 et Zigbee, permettant de réaliser différents montages, d’une liaison série RS232 classique à un réseau maillé (mesh) auto-configuré.

Un composant XBee série 1 coûte désormais moins de 20 euros.

Différents protocoles ont été implémentés sans que le packaging - désormais reconnaissable entre tous avec ses coins coupés - ne change. Il faut donc faire attention sur la série que vous utiliserez : le 802.15.4 des débuts jusqu’aux nouvelles Séries 2, ZNet 2.5 et ZB Zigbee. Les modules de séries différentes ne peuvent pas communiquer entre eux.

Selon les modèles et les pays, ils utilisent la bande des 2,4 gigahertz (comme le Wifi ou le Bluetooth) ou les 900 MHz. Selon leur puissance, ils émettent à une distance comprise entre 30 mètres et 1,5 kilomètre.

Ils sont développés à l’origine par la société Maxstream, devenue Digi. Vous pouvez toujours trouver en vente les premières séries du module marquée Maxstream.

Le débit peut atteindre 250 kbps, mais si on les utilise pour réaliser une liaison série sans fil, les débits standards sont compris entre 9600 bps à 38400 bps. La vitesse et la bande passante ont des effets sur les erreurs de transmission et ne sont pas possibles à obtenir dans tous les environnements.



 Matériel pour un premier test

Nous allons utiliser ici des modules de la série 1, qui porte le nom du protocole IEEE : "802.15.4" (moins évolué que Zigbee mais déjà bien pratique). Pour l’usage que nous en ferons dans cet article, le modèle n’a pas d’incidence et vous pouvez réaliser ces mêmes tests avec une version 2 ou supérieure (à condition d’utiliser des XBee de la même série bien sûr).

PNG - 935.1 ko
Modules XBee
vue du dessus et vue du dessous

 Documentation technique

Le minimum à savoir est... minimal, car il faut surtout s’occuper de connecter les modules à vos équipements, et pas du tout besoin de savoir comment le protocole sans-fil fonctionne. C’est un peu comme pour un câble série : vous devez savoir quelle est la patte qui émet et la patte qui reçoit sans forcément vous préoccuper de la façon dont le courant électrique va traverser le fil de cuivre, même si certains devront s’en préoccuper pour des utilisations particulières.

Cette simplicité est un des principes qui ont fait le succès de ces modules, et que la société qui les conçoit s’emploie à conserver. Mais bien sûr on va aussi exploiter les possibilités de point-à-point ou de maillage (1 XBee écoutant plusieurs XBee).

Pour le détail, une datasheet est disponible sur le site de Digi ou des différents distributeurs.

 Interfaces

Nous avons besoin d’interfacer le XBee avec des microcontrôleurs (pour que les robots communiquent entre eux) et aussi avec un simple PC (pour avoir une possibilité de télécommande ou de télémétrie.

Pour se connecter avec un microcontrôleur, on va simplement relier les pattes RX,TX de notre µC aux pattes Din et Dout et alimenter le module en 3,3 volts. Quelques autres pattes sont intéressantes, nous les détaillerons ultérieurement.

Voici le schéma réalisé par Yannick pour son propre circuit. Vous pouvez vous en inspirer pour votre propre microcontrôleur mais notez que c’est vraiment simple du côté XBee, il n’y a aucun composant supplémentaire.

PNG - 93 ko
Connexion d’un XBee à un PIC16F628
(et profitez-en bien, ce n’est pas tous les jours que vous verrez un PIC dans nos pages)

Alimentation

L’intérêt du protocole 802.15.4 est d’être fait pour une puissance faible, avec une consommation réduite permettant de conserver un équipement autonome pendant une année, contrairement aux équipements Bluetooth par exemple.

Donc l’alimentation est un point essentiel. Au début, c’est vrai que ce 3,3 volts est un peu embêtant, car nous sommes habitués à utiliser des composants TTL en 5V (comme nos cartes à base de microcontrôleurs Atmel). Mais on s’y fait très bien et de plus en plus d’équipements sont en 3,3 volts.

En attendant, il existe des adaptateurs entre 5v et 3,3v. Et Yannick nous propose un circuit permettant d’alimenter en 3,3 volts un module XBee à partir d’une pile grâce à un convertisseur DC-DC "step-up" (le Max856 de chez Maxim) :

PNG - 46.8 ko
Alimentation 3,3 volts
utilisation d’un convertisseur pour monter la tension d’une pile.

Shield XBee pour Arduino

Comme nous utilisons parfois des cartes Arduino, nous pouvons également utiliser une carte d’extension dédiée aux modules XBee qui ajoute des leds, un convertisseur 3,3 volts et des cavaliers de configuration permettant de conserver la liaison USB-série : le "Arduino Xbee shield".

PNG - 1 Mo
XBee shield pour Arduino
carte d’extension qui se branche directement sur la carte Arduino.

Son utilisation est très simple : il faut mettre les cavaliers vers l’intérieur (i.e. selon inscription "XBee/USB", se mettre en position "Xbee") et désormais les pattes RX/TX de votre Arduino sont connectées au Shield XBee. Cela implique que vous devez changer de position (USB) quand vous voulez reprogrammer la carte.

Interface avec un ordinateur

Pour se connecter à un ordinateur (PC ou Mac), on réalise très facilement un circuit adaptateur en connectant un chip USB/série au module XBee. On trouve pour quelques euros des circuits à base de FTDI qui en plus offrent des leds indiquant la mise sous tension, la transmission / réception et l’appariement avec un autre module, toutes ces choses pratiques qu’on oublie souvent.

PNG - 1.1 Mo
Adaptateur USB Xbee
disponible chez Sparkfun, NKC electronics et tous les autres distributeurs Arduino habituels.

Mais si vraiment vous voulez le faire vous-même, suivez l’exemple très bien présenté de Totof :

 Jouons avec les modules XBee

Il est temps de laisser de côté tous ces fils, ces câbles, ces composants et de passer aux travaux pratiques, avec un peu de logiciel.

Premier test

Par défaut, les circuits XBee sont faits pour se trouver tous seuls, s’apparier et fonctionner en liaison série. Les paramètres sont les suivants : 9600 bauds, pas de parité, pas de contrôle de flux, 8 bits et 1 bit de stop. On va le constater avec une Arduino.

Côté Arduino, rien d’autre que ce code :


void setup()

Serial.begin(9600) ;

void loop()

Serial.print(’H’) ;
delay(1000) ;
Serial.print(’L’) ;
delay(1000) ;

Et côté PC, le bon vieil hyperterminal :

PNG - 25.1 ko
Configuration de la communication série
Il faut choisir le bon port COM : celui du module USB et pas celui de l’Arduino.
PNG - 5.1 ko

Le résultat est bluffant, puisqu’on dispose pour 30 euros d’une communication série sur plus de 100 mètres. Ce qui permet déjà de ressortir tous ses projets de mesure de température, alarme de boite aux lettres, etc..

Et pour un robot, on peut envisager de le contrôler ou de recevoir des tonnes de télémesures sans s’emmeler dans des fils qui s’enroulent autour :)

Second test

Mais que se passe-t-il si on utilise 3 modules ? Pour ce test, on va écrire un code avec un identifiant unique pour chacun, et un compteur.


int xbee_id = 0x01 ; // ou 0x02

int count1 = 0 ;
int count2 = 0 ;
int count3 = 0 ;

Chacune des cartes mobiles émet son adresse toutes les secondes.


// toutes les secondes, envoie mon code
Serial.write(xbee_id) ;
delay(1000) ;

Lorsqu’il reçoit un code, tout module doit incrémenter le compteur correspondant :


case 0x01 :
count1++ ;
break ;
case 0x02 :
count2++ ;
break ;
case 0x03 :
count3++ ;
break ;

Le module relié au PC permettra d’interroger chacun des modules embarqués sur une Arduino pour connaitre la valeur de leurs compteurs, en envoyant ’ ?’ sur la liaison série.


int reception = Serial.read() ;
switch(reception)
case ’ ?’ :
Serial.print("(") ;
Serial.print(count1) ;
Serial.print(",") ;
Serial.print(count2) ;
Serial.print(",") ;
Serial.print(count3) ;
Serial.println(")") ;
break ;
...

Ainsi, on va pouvoir observer ce qui se passe en allumant et éteignant successivement un ou plusieurs modules.

Une fois chargé les programmes dans chacune des Arduino (en pensant à passer en mode USB pour le transfert et à changer l’ID dans le code avant compilation), on peut ouvrir un terminal série (ici, Docklight pour visualiser les valeurs décimales, hexadécimales ou ASCII) et observer ce qui se passe.

Tout d’abord, le GRAND avantage des XBee, c’est que les programmes ne plantent pas quand la connexion série est rompue, par exemple quand on éteint un des modules : la liaison série sur le microcontrôleur n’est pas ouverte avec un module précis mais avec le module XBee directement connecté, qui lui reste alimenté puisque branché sur la même alimentation. C’est vraiment pratique car le plus embêtant dans une liaison série classique, c’est de débrancher la carte et de faire planter tout le programme par une bête exception (ok, ça peut se gérer mais bon...)

Voici le résultat en images de ce second test. On a paramétré Docklight pour qu’il envoie le caractère ’ ?’ sur la liaison série du module USB toutes les 5 secondes.

Tout d’abord, on va allumer l’Arduino 01 : au bout de 2 secondes, on commence à recevoir ses "bips" (c’est notre Spoutnik moderne) puisqu’on observe 5 "01" (1 par seconde) dans la console en mode hexadécimal.

PNG - 3.3 ko

On éteint l’Arduino 01 et on allume l’Arduino 02 :

PNG - 5.4 ko

Pareil, 5 ’02’ sans avoir rebooté le module connecté à l’USB ! après un temps de démarrage de quelques secondes (promis, la prochaine fois je sors l’analyseur logique).

Premier test "critique" : on rallume l’Arduino 01, les deux sont donc allumées en même temps, soit 3 modules XBee en fonction. C’est éloquent : on reçoit à la fois les 01 et les 02 sur notre module branché au PC.

PNG - 12.1 ko

Second test "critique" : qui de la réception ? On va émettre depuis le PC l’identifiant ’03’ (Docklight nous permet de le faire juste en cliquant sur un bouton paramétré) :

PNG - 1.6 ko

Et bien ça marche : on s’aperçoit que les deux cartes Arduino ont incrémenté leur compteur n°3, preuve que le caractère a été reçu par les 2 modules.

PNG - 6.2 ko


 Conclusion

On a donc SANS AUCUNE CONFIGURATION fait communiquer ensemble 3 cartes distantes de plusieurs mètres, de manière bidirectionnelle et multi-réception : ce qu’un module envoit, tout le monde peut le recevoir.

Il est donc désormais facile d’imaginer de contrôler des robots mobiles en envoyant à la fois des consignes communes de synchronisation puisque chacun des XBee va recevoir le message, ou bien en envoyant l’identifiant du module ciblé, d’en contrôler un en particulier, tout en laissant les autres robots libres de connaître les consignes envoyées.

C’est un grand progrès qui est accessible à tout le monde. On verra prochainement comment protéger tout ça en limitant la réception à des modules appariés, ou à un groupe de modules qui partage le même identifiant de groupe.

Portfolio

Vos commentaires

  • Le 30 juin à 14:46, par edmarc En réponse à : Un réseau sans-fil avec des XBee

    Bonjour,
    Dans le cadre d’un projet scolaire je voudrais savoir combien de capteur/actionneur je peux connecté à un module Xbee ?
    Merci d’avance

    • Le 18 août à 18:46, par Eric P. En réponse à : Un réseau sans-fil avec des XBee

      Déjà répondu à cette question dans un autre article sur le XBee.
      Evitez le cross-posting : ça ne fait pas aller les choses plus vite ;-)

    Répondre à ce message

  • Le 18 décembre 2014 à 20:18, par diamse En réponse à : Un réseau sans-fil avec des XBee

    bonjour je souhaiterai d’être aider . En faite je faisais communiquer deux modules xbee series2 et à un certain moment j’ ai perdu la liaison entre les deux xbee.
    le deuxième xbee ne répond plus même si je l ’envoie la commande(+++) à partir de sa propre terminal.

    • Le 20 décembre 2014 à 18:46, par Julien H. En réponse à : Un réseau sans-fil avec des XBee

      Bonjour,
      Il faut d’abord vérifier l’alimentation du circuit et utiliser un adaptateur USB pour reconfigurer le XBee avec X-CTU. Si ça ne fonctionne plus, c’est qu’il est grillé.
      Cordialement,
      Julien.

    Répondre à ce message

  • Le 20 juin 2014 à 21:51, par paola En réponse à : Un réseau sans-fil avec des XBee

    bonsoir,
    il se trouve que je n’ai à manipuler que des grandeurs numériques.
    si cela concernait que deux xbee, là il n’y a pas de problème, pas besoin de passer sur un quelconque microcontrolleur, donc pas de configuration de l’arduino, car ATD0 3 avec ATD0 4 du récepteur et ainsi de suite. mais mon problème c’est quand ca passe à l’arduino car mon code a besoin de :
    if (Serial.read(signal1)=="HIGH" && Serial.read(signal2)=="HIGH")
    //allumer led vert
    else
    //allumer led rouge et faire sonner alarme
    merci beaucoup

    • Le 24 juin 2014 à 09:22, par Julien H. En réponse à : Un réseau sans-fil avec des XBee

      Bonjour,
      Les XBee ne fonctionnent pas de cette manière, ni Arduino d’ailleurs. On ne peut pas passer d’argument à la fonction Serial.read() pour indiquer quel signal on souhaite recevoir.
      De plus, cette fonction retourne un octet (byte) et pas une chaîne de caractères ("HIGH"). D’ailleurs je doute qu’on puisse tester avec == l’égalité des chaînes.
      Cordialement,
      Julien.

    • Le 24 juin 2014 à 10:24, par Eric P. En réponse à : Un réseau sans-fil avec des XBee

      Bonjour,
      Cette discussion s’est poursuivie par mail du fait du nombre des échanges, et j’ai effectivement expliqué à Paola que les choses ne fonctionnent pas du tout comme cela.
      De plus le problème semblant ne porter que sur des signaux logiques, j’ai suggéré de configurer tout simplement les XBee en IO passing, ce qui revient à connecter virtuellement les capteurs directement sur les IO de l’Arduino, et permet ainsi de ne pas avoir à gérer une communication série avec le XBee.
      Eric

    Répondre à ce message

  • Le 20 juin 2014 à 07:37, par paola En réponse à : Un réseau sans-fil avec des XBee

    bonjour,
    effectivement j’ai exactement 2 modules xbee et une carte arduino mega 2560.
    je dois relier les 3 capteurs sur le module distant et traiter ensuite ces informations par le biais de la carte arduino.
    seulement, mon problème est le suivant. comment différencier ces 3 signaux à la réception. le buffer de réception ne supporte qu’une seule donnée à la fois.
    je m’exprime autrement :
    en gros je voudrais avoir à la réception :
    Serial.read(signal1) ;
    Serial.read(signal2) ;
    Serial.read(signal3) ;
    chose qui est pratiquement impossible car les commandes de l’’arduino ne permettent de faire que : Serial.read("qu’un seul signal")....
    dans la mesure du possible, par faute de temps, j’évite d’opter pour le mode API ou la reconstitution des trames, je dois en fait finir le projet dans à peine une semaine.
    je vous conjure de bien vouloir me donner des idées je vous prie.
    Paola Elodie

    • Le 20 juin 2014 à 09:50, par Eric P. En réponse à : Un réseau sans-fil avec des XBee

      La lecture des signaux analogiques ne marche pas du tout comme cela. Le XBee utilise un protocole propre qui véhicule les valeurs de la (ou des) entrée(s) qu’on veut échantillonner via une structure de message définie dans sa documentation.
      Le Serial.read va permettre de lire se message en ensuite d’en extraire les mesures effectuées.
      Il faut également pour cela configurer le XBee de manière à spécifier quelles sont les ADC qu’on souhaite activer, avec quelle périodicité les mesures doivent être faites et transmises,...
      Il vous faut donc étudier la documentation du XBee (disponible sur le site du fabricant ainsi que sur le nôtre) ainsi que les divers articles que nous avons publiés sur le sujet.
      Cordialement.

    Répondre à ce message

  • Le 18 juin 2014 à 21:53, par paola En réponse à : Un réseau sans-fil avec des XBee

    bonsoir à tous
    compte tenu de la date de la dernière publication, je ne sais pas si mon message aura toujours une raison d’être mais bon, j’essaie toujours.
    en fait je dois réaliser un projet dans lequel je dois utiliser des capteurs et contrôler les résultats avec un microcontrolleur, notamment une carte arduino mega 2560.et tout cela par le biais de 2 modules xbee
    ma question est la suivante :
    est-il possible de relever 3 signaux simultanément (car j’utilise 3 capteurs dont je dois connaitre les états en un même temps).. et si oui, est il plus pratique de brancher les capteurs sur la carte arduino ou sur un xbee( je ne dispose que d’une seule carte arduino)
    merci beaucoup, votre réponse me sera plus que favorable

    • Le 18 juin 2014 à 22:42, par Eric P. En réponse à : Un réseau sans-fil avec des XBee

      Bonsoir,
      Si je comprends bien, vous avez :
      1/ une Arduino qui sert à traiter les informations fournies par 3 capteurs
      2/ 2 modules XBee pour les faire communiquer avec l’Arduino
      Si c’est bien cela, les capteurs ne peuvent donc pas être branchés directement sur l’Arduino, mais seront obligatoirement connecté au XBee distant. Celui-ci enverra par radio les mesures à l’autre XBee, relié à l’Arduino qui traite les données.
      Eric

    Répondre à ce message

  • Le 12 février 2014 à 20:46, par Damien En réponse à : Un réseau sans-fil avec des XBee

    Bonjour
    dans le cadre de mes études, je dois réalisé un projet comprenant un arduino DUE et deux capteur en liaison sans fil. Je précise que mes études se porte sur l’ingénierie automobile et non en électronique donc mes connaissances dans ce domaine sont assez limitées.

    Mon premier capteur, un simple bouton, transmet en Zigbee avec un module Xbee S2.
    Le second, un accéléromètre, transmet lui en IEEE 800.15.4.

    Je pensais que le ZigBee fonctionner avec le protocole IEEE 800.15.4. Donc ma question est de savoir si je peux capter l’accéléromètre avec le même récepteur ( aussi un Xbee S2) ?

    Si oui comment peut-on faire ?

    P.S : pour le capteur bouton j’ai programmé mon Xbee "récepteur" en coordinateur et le Xbee "émetteur" en router en utilisant juste une entrée DI0 pour mon bouton.

    Merci d’avance

    • Le 12 février 2014 à 22:45, par Eric P. En réponse à : Un réseau sans-fil avec des XBee

      Bonsoir,

      Attention à ne pas mélanger deux protocoles différents. ZigBee est un protocole basé sur 802.15.4 mais n’est pas du tout compatible avec lui. Il ajoute au 802.15.4 la possibilité de constituer des réseaux routés, c’est à dire permettant à des noeuds trop distants l’un de l’autre pour être en communication directe de l’être par l’intermédiaire d’un autre noeud du réseau, à proximité des deux précédents. Ceci est réalisé de manière automatique et transparente pour les applications. 802.15.4 ne permet pas cela, et seules les communications à portée sont possibles.

      Si vous avez un XBee S2 (ZigBee par conséquent) et un XBee 802.15.4 (appelé également S1) ils ne pourront pas communiquer ensemble ni même faire partie d’un même réseau.

      Il faut donc bien préciser la nature exacte des 3 XBee utilisés (celui de l’Arduino et les deux autres).

      Cordialement

      Eric

    • Le 13 février 2014 à 09:10, par Damien En réponse à : Un réseau sans-fil avec des XBee

      Merci pour la réponse aussi rapide.
      Je vais donc abandonner l’idée d’utiliser un seul récepteur, et utilisé le récepteur livré avec l’accéléromètre ( de chez axivity http://axivity.com/v2/index.php?page=product.php&product=wax3 ).

      Je pense branché ce récepteur au connecteur Native port de mon arduino DUE et récolter les données par ce port.

      Pensez vous cela possible ?
      Et où pourrais je trouver le détail du bus de donnée envoyé par l’accéléromètre en 802.15.4 MAC/PHY ?

      Merci encore

    Répondre à ce message

  • Le 13 septembre 2013 à 14:01, par Charleleo En réponse à : Un réseau sans-fil avec des XBee

    Oui je pensais à Xbee antenne patch, par contre je n’avais pas envisager vos derniere remarque.
    Dés que pourrais, je publierai mes essais
    a+

    Répondre à ce message

  • Le 13 septembre 2013 à 13:32, par Charleleo En réponse à : Un réseau sans-fil avec des XBee

    Merci,

    Construction en briques (region de toulouse). Donc Xbee à l’interieur et sans antenne ?

    A+

    • Le 13 septembre 2013 à 13:45, par Eric P. En réponse à : Un réseau sans-fil avec des XBee

      Ca peut passer, mais si "sans antenne" veut dire "antenne patch", je conseille fortement des essais préalables par temps de pluie pour tester la portée et la position des modules.

      Encore que s’il pleut, ça n’a pas d’importance si l’arrosage ne peut pas être commandé... sauf s’il se met à pleuvoir pendant un cycle et qu’on ne peut plus l’arrêter car la communication est mauvaise ;)

    Répondre à ce message

  • Le 13 septembre 2013 à 12:38, par Charleleo En réponse à : Un réseau sans-fil avec des XBee

    Re bonjour,

    Tout d’abord, merci de votre réponse.
    Je me suis mal exprimé concernant les sorties des XBEE. Effectivement, j’ai l’intention de les interfacer par une carte de puissance, couplée à des opto afin d’isoler le XB. Mon seul problème était de savoir si cela était possible.

    Pour la liaison radio, je pensais mettre les XBEE à l’extérieur, dans des boitiers étanches. Pour info, mes EV ne sont pas dans des coffrets enterrées.

    Dés que j’ai la possibilité (temp et argent), je ferais les essais conseillés. Je ne manquerais pas d’informer l’association en publiant mes résultats.

    Cordialement

    A+

    • Le 13 septembre 2013 à 13:19, par Eric P. En réponse à : Un réseau sans-fil avec des XBee

      Vous pouvez placer les XBee à l’intérieur si la maçonnerie est du type parpaing par exemple.

      Dans le cadre de travaux professionnels, j’ai pu faire des essais de transmission dans des bâtiments à structure béton ou pierre massive, et tant qu’il n’y a pas trop d’épaisseur cumulée, ça passe assez bien. Nous utilisions un XBee Pro équipé d’une antenne externe quart d’onde pour la base radio, et des XBee standard avec antenne fouet pour les modules distants. Dans le cas d’une construction de type villa en parpaing ou brique creuse, ça ne devrait pas être problématique.

      Un conseil : ne pas utiliser la version avec antenne patch intégrée, car la forme des lobes et le rendement de l’antenne en limitent beaucoup les performances. L’idéal est une antenne quart d’onde externe, mais l’antenne fouet ("whip") fonctionne assez bien également pour des distances raisonnables. Dans tous les cas, tenir compte de la forme des lobes pour le placement et l’orientation des modules si vous n’utilisez pas d’antenne externe.

      Bonne continuation.

    Répondre à ce message

  • Le 13 septembre 2013 à 10:52, par Charleleo En réponse à : Un réseau sans-fil avec des XBee

    Bonjour,
    Je commence à réfléchir à un projet de gestion d’arrosage. A l’heure actuelle, mes électrovalves d’arrosage, sont situées à une quinzaine de mètres de ma maison.

    En lisant votre article, il s’avère me semble t’il, que les XBEE, possèdent des sorties. Ma question est la suivante :ces sorties peuvent-elles être utilisées afin de commander mes électrovalves ?

    Je pense à une configuration ARDUINO + XBEE (pour émettre depuis la maison) et XBEE (récepteur dans local exérieur) pour commander les actionneurs.

    Ce projet n’est que dans sa phase de réflexion, je cherche une solution technique la plus appropriée.

    Merci d’avance

    • Le 13 septembre 2013 à 11:38, par Eric P. En réponse à : Un réseau sans-fil avec des XBee

      Bonjour,

      Les sorties des XBee ne peuvent pas du tout commander des électro-vannes d’arrosage pour les raisons suivantes :
      - elles ne peuvent débiter que des courants très faibles
      - les EV d’arrosage fonctionnent en 24V alternatif et consomment plusieurs 100aines de mA en action.

      Il faut donc en passer par une interface de puissance, à base soit de relais soit de triacs pour pouvoir commuter l’alimentation des EV via un XBee (ex : http://www.ebay.com/itm/8-Channel-5V-Relay-Module-Board-Shield-for-Arduino-PIC-AVR-MCU-DSP-ARM-/390594938127).

      La carte donnée en exemple fonctionne en logique 5V, et les relais sont activés par un état bas (stipulé par "5V active low" dans la doc). Les XBee fonctionnant en 3.3V, il faut donc prendre quelques précautions pour connecter les entrées de cette carte aux IOs du XBee. Le plus simple et fiable est d’utiliser un adaptateur de niveau comme celui-ci (http://www.adafruit.com/products/395).

      (suite dans le prochain commentaire, du fait de la limitation en longueur des commentaires)

    • Le 13 septembre 2013 à 11:41, par Eric P. En réponse à : Un réseau sans-fil avec des XBee

      (suite du précédent commentaire)

      Pour ce qui est de la liaison, attention à plusieurs facteurs qui perturbent les liaison radio dans la bande de fréquence des XBee (2.4GHz) :
      - l’affaiblissement causé par l’eau (et l’humidité) : j’en ai fait les frais en installant un portier radio distant de moins de 20m de la villa, et dont la liaison était coupée par... une simple haie (il y a beaucoup d’eau dans un végétal, et cela constitue une barrière sévère aux ondes radio)
      - l’enfouissement : en général les EV sont installés dans des coffrets enterrés. Si c’est également le cas ici, la transmission radio va être assez mauvaise. Si le XBee récepteur est hors sol dans un local, le problème ne se pose pas
      - le béton armé : les armatures en acier affaiblissent les transmissions radio et réduisent donc la portée en conséquence

      Si vous ne l’avez pas déjà fait, je vous suggérerais de procéder en premier lieu à des essais de liaison radio, pour vérifier que les conditions sont compatibles avec les limitations évoquées ci-dessus. Il suffit de configurer le XBee récepteur en mode loopback (ie relier tout simplement ses pins Rx et Tx), et d’envoyer des données depuis l’autre XBee, en vérifiant que rien ne se perd.

      Cordialement

      Eric

    Répondre à ce message

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 formulaire accepte les raccourcis SPIP [->url] {{gras}} {italique} <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document