One Resta Xbee Gu.docx

  • Uploaded by: Heller Arias
  • 0
  • 0
  • May 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View One Resta Xbee Gu.docx as PDF for free.

More details

  • Words: 4,364
  • Pages: 7
What is XBee? ● How to choose your XBee? ● How to use your XBee? ● How to use your XBees (plural)? entre eux, plusieurs solutions sont possibles. Nous explorerons ici le protocole Zigbee qui permet de communiquer par ondes radio, c’est-à-dire sans fil. Je m’efforcerais dans un premier temps de présenter les caractéristiques de ce protocole et d’éviter certaines confusions (partie 1). Ensuite je présenterais des cas pratiques avec et sans la carte Arduino (parties 3 et 4). Pour en savoir plus sur la carte Arduino, vous pouvez consulter ma page Arduino. À noter que ces cas pratiques ne concernent pour l’instant (01/2013) que la série 1 du module XBee. Nous aborderons des domaines variés faisant appel à des notions plus ou moins avancées en réseaux informatiques. Loin d’être un obstacle, ce sera l’occasion d’apporter quelques éléments de compréhension dans l’apprentissage classique des systèmes informatiques (partie 2). N’hésitez pas à me faire part de vos remarques pour améliorer ce document, rectifier certaines erreurs sur la page contact. – PDF : xbee-arduino.pdf (4.7M0) – SOURCES : ./ressources/xbee-arduino (images, textes, codes, schémas) – URL : http ://jeromeabel.net/ressources/xbee-arduino – LICENCE : GNU/GPLv3 1

Table des matières 1 Présentation du XBee 3 1.1 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 Pourquoi choisir le sans fil ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.3 Xbee ou Zigbee ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.4 ZigBee et 802.15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.5 Séries 1 et 2 ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.6 Antennes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.7 Communication avec l’ordinateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.8 Alimentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.9 Matériel nécessaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2 Notions de réseaux 13 2.1 Protocoles de communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.2 Communication série . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.2.1 Duplex / transceiver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.2.2 Liaison série / parallèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.2.3 Synchrone / asynchrone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.2.4 Baud / bits par seconde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.2.5 Norme RS 232 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.3 Réseaux sans fils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3 Configuration 24 3.1 Montage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.2 Connaître son matériel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.3 Terminal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.4 Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.5 Commandes AT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.6 Adressage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.7 Entrées / sorties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.8 Mode API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4 Montages 30 4.1 XBee > XBee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 4.2 XBee > XBee/ordinateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.3 XBee/Arduino > XBee/ordinateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.4 XBee/Arduino > XBee/Arduino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 5 Ressources 36 5.1 Livres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 5.2 Manuels et références . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 5.3 Téléchargements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 5.4 Sites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 2

1 Présentation du XBee Les produits MaxStream XBee™ sont des modules de communication sans fil très populaires fabriqués par l’entreprise Digi International. Ils ont été certifiés par la communauté industrielle ZigBee Alliance en 2006 après le rachat de MaxStream par Digi International. La certification Zigbee se base sur le standard IEEE 802.15.4 qui définit les fonctionnalités et spécifications des réseaux sans fil à dimension personnelle (Wireless Personal Area Networks : WPANs). Nous verrons plus loin chacun des termes qui peuvent poser problème. Les principales caractéristiques du XBee : – fréquence porteuse : 2.4Ghz – portées variées : assez faible pour les XBee 1 et 2 (10 - 100m), grande pour le XBee Pro (1000m) – faible débit : 250kbps – faible consommation : 3.3V @ 50mA – entrées/sorties : 6 10-bit ADC input pins, 8 digital IO pins – sécurité : communication fiable avec une clé de chiffrement de 128-bits – faible coût : ˜ 25€ – simplicité d’utilisation : communication via le port série – ensemble de commandes AT et API – flexibilité du réseau : sa capacité à faire face à un noeud hors service ou à intégrer de nouveaux noeuds rapidement – grand nombre de noeuds dans le réseau : 65000 – topologies de réseaux variées : maillé, point à point, point à multipoint

1.1 Applications

Le ZigBee semble avoir été conçu pour réaliser ce qu’on appelle l’Internet des objets, un ensemble d’objets communiquants voir "autonomes", une extension d’Internet aux objets physiques. La domotique est l’exemple le plus parlant. S’en entrer dans les détails car ce n’est pas le propos ici, la vision d’un monde où tout doit être connecté, du frigo aux enfants, se rapproche pour ma part plus du cauchemar que du rêve. Les technologies de communication sont aussi utilisées par des groupes mercantiles et cyniques qui ne cessent de faire reculer la démocratie. Voir à ce propos le chapitre "Intrusion" page 53 de ma présentation sur la vie des objets. Heureusement, des artistes s’approprient ces technologies et les utilisent à des fins plus poétiques. 3 Ici un couple d’oiseaux de papier communiquent ensemble. Quand l’un est manipulé, l’autre s’allume (Jie Qi messenger). Dans Robotics drums, des servo-moteurs contrôlés à distance tapent sur 18 percussions Darbukas pour créer des rythmes inédits dans la ville. 4 Une autre application peut s’avérer très utile : programmer à distance une carte Arduino. En effet, d’habitude on relie sa carte avec câble USB, mais comment faire quand la carte est située à trois mètres de hauteur comme c’est le cas dans mon projet Chimères Orchestra ? La programmation à distance est donc la solution : programming Arduino Wirelessly.

1.2 Pourquoi choisir le sans fil ? À première vue, le sans fil présente bien des avantages. Il permet de ne pas encombrer un espace de travail, d’équiper des appareils mouvants, de communiquer dans des endroits innacessibles. Cependant, il faut aussi prendre en considération d’autres paramètres : – La communication sans fil ne sera jamais aussi fiable qu’une communication filaire. Le signal peut être déformé par d’autres ondes et par des obstacles. – Par conséquent, commencez toujours à tester votre système avec une communication filaire. – À moins de récupérer l’énergie des ondes électromagnétiques ambiantes (Free Energy), vous aurez toujours besoin d’un fil pour alimenter votre module. – L’environnement semble aujourd’hui saturé d’ondes électromagnétiques, on parle de pollution électromagnétique. Le XBee génère des radiations électromagnétiques alors pourquoi en rajouter ? – La communication n’est pas 1-1 entre l’émetteur et le récepteur. En effet les ondes radio rayonnent en cercle autour de l’émetteur. Seuls les appareils décryptant le bon protocole peuvent différencier les informations provenant d’un module Zigbee, d’un module Bluetooth ou de routeurs Wi-Fi, pourtant tous modulés par la même fréquence de 2,4Ghz. 5 Par exemple, l’artiste Benjamin Gaulon démontre dans son projet 2.4Ghz qu’il est possible de recevoir dans l’espace public le signal des vidéos de surveillance sensé rester privé ... Note : certains éléments de cette rubrique s’inspirent de la page 178 du livre Making Things Talk de Tom Igoe.

1.3 Xbee ou Zigbee ?

Bee signifiant "abeille", le choix du nom donne l’image qu’il peut y avoir plusieurs petits modules connectés ensemble comme une colonie d’abeilles. Au début, on peut confondre les termes XBee et ZigBee. En fait, comme expliqué au début de l’article, le ZigBee est un protocole de communication qui s’appuie sur le travail du groupe IEEE 802.15.4 et définit par le groupe de professionnels ZigBee Alliance. Le XBee est une marque, un produit qui utilise le protocole ZigBee. Do you bien compris ? 6 Le XBee étant devenu populaire, sa forme si particulière est aujourd’hui reprise par des fabricants de puces Bluetooth. Comme il existe beaucoup de shields arduinos et d’adaptateurs XBee, cela sera sans doute compatible avec les puces Bluetooth.

1.4 ZigBee et 802.15 Dans cet image, on voit bien la répartition des rôles entre le standard 802.15 et le protocole ZigBee. Tout cela est expliqué dans la partie 2 qui traite des réseaux, des protocoles et des couches du modèle OSI.

1.5 Séries 1 et 2 ? Plusieurs produits XBee existent, ce qui peut créer quelques confusions. Il faut retenir qu’il y a deux catégories de XBee : la série 1 et la série 2. Les modules de la série 1 ont souvent un "802.15.4" qui s’ajoutent à leurs noms. 7 Les modules de la série 2 sont disponibles en plusieurs versions : XBee ZNet 2.5 (obsolète), le ZB (l’actuel) et le 2B (le plus récent). Vous avez aussi des XBee Pro, qui font la même chose, mais avec de plus grandes capacités, notamment la portée qui semble pouvoir aller jusqu’à 1000 mètres ! Pour en savoir plus, télécharger le tableau de comparaison des modules XBee : http ://www.digi.com/pdf/chart_xbee_rf_features.pdf. Ce qu’il faut retenir : – 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). 8

1.6 Antennes Vous aurez aussi à choisir le type d’antennes du module. En effet, les ondes radios ont besoin d’antennes pour émettre et recevoir les signaux. Ce qu’il faut retenir : – wire : simple, radiations omnidirectionnelles ; – chip : puce plate en céramique, petite, transportable (pas de risques de casser l’antenne), radiations cardioïdes (le signal est atténué dans certaines directions) ; – U.FL : une antenne externe n’est pas toujours nécessaire ; – RPSMA : plus gros que le connecteur U.FL, permet de placer son antenne à l’extérieur d’un boîtier.

1.7 Communication avec l’ordinateur Pour établir une communication avec l’ordinateur, il y a deux options : l’assemblage de différents éléments

comme sur l’image ou le XBee USB Explorer. J’ai choisi la première option car un peu moins cher et plus flexible. L’inconvénient est que ça nécessite un peu de soudure (3 minutes) et un petit montage sur plaque à essais. Bref, cela revient au même. La communication en direct sans passer par une Arduino vous permet de configurer rapidement votre XBee. On verra plus loin dans les cas pratiques (partie 4) qu’on peut aussi configurer le module en le branchant à l’Arduino. Donc se procurer un explorateur n’est pas indispensable, mais c’est à conseiller pour débuter car c’est tout de même plus simple. La communication entre l’ordinateur et le XBee se fait via une liaison série, que je détaille dans la partie 2. 9

1.8 Alimentation L’alimentation doit être comprise entre 2,8V et 3,4V. Dans mes montages j’utilise l’alimentation stabilisée 3.3V. Dans d’autres exemples, il semblerait qu’assembler deux piles 1,5V ensemble soit suffisant. Pour être plus autonome, on peut trouver des montages sur le Web avec le régulateur de tension LM7833 qui sort directement une tension de 3,3V ou bien avec le LM317 qui permettrait avec des valeurs de résistances adaptées d’obtenir ce que l’on souhaite, mais je ne l’ai pas testé. 10

1.9 Matériel nécessaire Vous trouverez une liste intéressante de magasins en ligne sur codelab.fr/177. Je vous conseille de prendre tout dans le même magasin pour limiter les frais de transports et en France ou en Europe pour éviter les taxes (TVA) qui ne sont pas incluses dans certains pays, je pense surtout aux magasins situés aux États-Unis. En gros, essayez d’éviter Sparkfun. Synthèse de ce dont nous aurons besoin : – Modules XBee x 2 (au moins 2 pour créer une connection !) : série 1 ou 2, antennes filaire ou à puce – XBee Explorer USB (Platine d’interface USB pour modules "XBEE") : en option si vous choisissez la carte FT232 – Breakout Board for FT232RL USB to Serial (Module "FTDI Basic Breakout" - 3,3V) – Câble mini-USB/USB – Breakout board XBee x 2 (Platine d’interface pour modules "XBEE") – 2mm XBee socket x 2 – Break away headers x 1 – Fils prédécoupés de prototypages x 1 – Plaques à essais x 2 (solderless boards) – Potentiomètres 10K – LEDs x 4 (n’importe lesquelles) – Bouton poussoir x 1 – Résistances : 10K, 330 Ohms – Coupleurs deux piles 1.5V x 2 – Breadboard Power Supply 5V/3.3V (si besoin) – Connceteur embase jack/T pour pile 9V – Pile 9V – Piles 1.5V x 2 – Cartes Arduino x 2 – Xbee Shield (si besoin) Exemple de réalisation pour voir comment tout s’articule :

11 12

2 Notions de réseaux Comme l’ordinateur, Internet est une oeuvre collective, composée de briques, d’astuces mathématiques, physiques et électroniques. Pour utiliser les réseaux informatiques de façon constructive, il faudrait connaître un minimum leur fonctionnement. Rester sur la couche applicative, celle la plus proche de l’utilisateur ne nous permet pas d’appréhender les concepts et les mots clés auxquels nous sommes confrontés quand nous devons nous-même gérer notre propre réseau. Je mettrais l’accent sur deux notions qui nous serviront directement à appréhender le XBee : les protocoles et la communication série.

2.1 Protocoles de communication Entre 1960 et 1964, l’idée géniale de commutation de paquets est formulée conjointement par Leonard Kleinrock, Donald Davies et Paul Baran. Paul Baran part du constat qu’un réseau centralisé est vulnérable. Si un noeud tombe en panne, l’information n’arrivera pas à son destinataire. C’est l’époque de la guerre froide, ces questions sont stratégiques. Une architecture distribuée avec des noeuds interconnectés parait la solution la plus flexible et la plus fiable. 13 Le message à envoyer est découpé en paquets (datagram). On leur ajoute généralement une étiquette composée de son adresse, celle du récepteur et son ordre dans le message original. Il est envoyé par des chemins divers évitant les congestions du réseau. Le destinataire remet ensuite le message dans l’ordre grâce aux étiquettes. On oppose cette technique à la commutation de circuits utilisée par le réseau téléphonique qui bloque un circuit pour une seule communication. Avec la commutation de paquets les ressources sont mutualisées, une ligne physique achemine différents bouts de messages provenant de différents expéditeurs. Le modèle Internet qui est une simplification du modèle OSI donne une cohérence à la construction et l’envoie de messages. Il propose une architecture en couches, on parle aussi de pile (stack), définies et délimitées avec les notions de service, de protocole et d’interface. Chaque couche effectue des tâches spécifiques (services) et doit respecter certaines règles pour communiquer avec les couches inférieures et supérieures (protocole). Noter que le "P" à la fin des acronymes HTTP, TCP, UDP, PPP, POP, IP, ICMP, FTP signifie bien "protocole". Cette notion est donc centrale. On fait souvent une analogie avec les langages humains : dire "bonjour" pour commencer une conversation ne se fait pas de la même façon selon les cultures, les protocoles sont différents. De même, je ne serais peut-être pas sensible aux protocoles de séduction des koalas, ce qui serait regrettable tant cet animal a l’air sympathique. Le modèle OSI nous permet de ne plus confondre le Web et Internet : le Web, via le protocole HTTP, 14 est seulement une des nombreuses applications fonctionnant sur Internet, qui lui est un ensemble de réseaux interconnectés.

Les protocoles peuvent être ouverts et devenir des standards. Ils sont alors décris dans des textes publics dont nous avons accès et qui sont approuvés par des organismes de normalisation nationaux, internationaux ou privés. L’intérêt est de poser un référentiel commun pour rendre le système ouvert, stable et modulaire. Vous verrez en fouillant sur le Web, beaucoup d’acronymes concernant les documents et organismes. Il est intéressant d’avoir une petite idée de ce que signifient les plus connus : RFC, IEN, ISO, ANSI, AFNOR, IETF, IEEE. Le protocole UDP par exemple, est décrit dans la RFC 768 (Requests For Comments) datant de 1980 selon les mécanismes définis par l’IETF. C’est une évidence, mais il y a bien des hommes et une histoire derrière ces protocoles. Dans la construction d’un paquets, les données utiles, celles de l’utilisateur ou du processus sont entourées, on dit encapsulées, par des informations gérées par les protocoles inférieures, comme les en-têtes (header). Celles-ci répondent aux besoins de chaque protocole et identifie le paquet à travers le réseau. 15 Chaque en-tête a des champs spécifiques qui ont une taille précise mesurée en octets et qui sont codés. Par exemple, dans l’en-tête IPv4, un champ codé sur 8 bits définit le protocole utilisé par la couche supérieure, la couche transport. S’il s’agit d’un paquet UDP, ce champ est 00010001, soit 17 en décimal ou 0x11 en hexadécimal. Une liste des nombres utilisés permet de déterminer le protocole. Ces champs peuvent être visualisés par des programmes qui analysent les paquets ou "sniffers)" comme Wireshark. Nous aurons besoin plus loin de connaître la composition de la trame ZigBee.

2.2 Communication série Pour transmettre des données, il faut : – coder les données (émetteur) pour qu’il y ait le moins de pertes possibles ; – les acheminer via un support physique ; – les décoder (récepteur) suivant les mêmes règles. Au niveau physique, il s’agit surtout de l’envoi en série d’états électriques binaires (0 ou +5V par exemple). Le signal numérique est converti en signal analogique par des modems et transporté sur des supports filaires à base de cuivre ou de fibre optique, ou bien à travers le milieu aérien pour les transmissions non filaires. La transmission numérique des données est un ensemble de techniques fascinantes, qui consiste à trouver la meilleure solution pour transmettre les niveaux électriques représentant les bits. 2.2.1 Duplex / transceiver La communication avec le module XBee s’établit par une communication série asynchrone. C’est très pratique, il suffit de quatre fils : deux pour l’alimentation (la masse et le +), un pour la réception et un pour l’émission. En effet le XBee permet de recevoir et d’émettre des données en même temps, on dit qu’il est full duplex, contrairement à la radio FM qui envoient les informations dans un seul sens (simplex) et au talkie-walkie qui ne permet pas à deux émetteurs de parler en même temps (half-simplex). On dit aussi que le XBee est un transceiver qui est la contraction de TRANSmitter (émetteur) et de reCEIVER (récepteur). 16 2.2.2 Liaison

Related Documents

Xbee Adp Manual3v
April 2020 9
Xbee 2.5 Datasheet
December 2019 11
Xbee Explorer 1
December 2019 9

More Documents from "MC. Rene Solis R."

Threads 2.3
December 2019 19
Threads 2.2 Supplement
December 2019 20
Threads 1.6
December 2019 26