Arduino Wireless Shield
Description
Le shield Wireless shield permet à un Arduino d'établir une communication sans fil en utilisant un module "Wireless". Il est basé sur les célèbres modules Xbee de Digi (également disponible chez MCHobby) mais peut également être utilisé avec d'autre module disposant d'une interface compatible.
Le module sais communiquer sur une distance de 30m en exterieur et jusqu'a une distance de 90m en intérieur (en ligne directe sans obstacle).
Le shield peut être utilisé comme remplacement de la connexion série/usb ou vous pouvez le placer en mode de commande pour configurer le module pour configurer les nombreuses options de diffusions (broadcast) de maillage réseau (Mesh).
Le shield permet un accès direct au brochage du module XBee par l'intermédiaire de points de contact (procédé communément appelée "breaks out" en anglais). Il dispose également d'un régulateur de tension et de toute l'électronique nécessaire pour un fonctionnement optimal du module XBee/ZigBee.
Pour ne pas perdre d'espace inutilement, la surface restée libre est garnie comme une plaque de prototypage standard (c'est le "+ proto"). Finalement, les différents broches d'Arduino sont montées en Stacking Header (pour ajouter un autre shield au dessus du Wireless Shield) et accessible via des pastilles de prototypage (pour un raccordement facile sur la zone de prototypage)
Le shield dispose d'un interrupteur permettant au module Wireless (sans-fil) de communiquer avec le module de conversion usb-serie d'Arduino ou directement avec le microcontroleur Arduino.
schémas
Fichiers EAGLE: arduino_WirelessShield_Proto_v3-reference-design.zip
Interrupteur USB / Série
Les broches importantes
En préalable, voici une description de quelques broches importante des modules Wireless tels que XBee.
DOUT :
La broche DOUT du module wireless (XBee par exemple) signifie "Data Out" en anglais. Cela correspond à la sortie des données du module XBee.
Même si cela semble évident, cette sortie de donnée du module Wireless doit être raccordée sur une broches d'entrée de données afin de pouvoir lire les données envoyée par le module XBee.
Un exemple concret sera la broche RX (Réception de donnée) de votre Arduino.
DIN :
La broche DIN du module wireless signifie "Data In" en anglais. Cela correspond à l'entrée des données sur le module XBee.
Cette broche doit donc être raccordée sur la sortie de donnée d'un autre composant. Un exemple typique est la broche TX (sortie de donnée) d'un Arduino.
Pour résumer :
XBee DOUT <--> Arduino RX
XBee DIN <--> Arduino TX
Position Micro
Quand l'interrupteur est en position Micro, la broche DOUT du module Wireless est connecté sur la broche RX du microcontroleur; et DIN est connectée sur la broche TX du micro-controleur. Le module wireless va communiquer directement avec le micro-controleur.
Notez que les broches RX et TX du microcontroleurs sont toujours connectectées respectivement sur les broches TX et RX du convertisseur USB-vers-série de la carte Arduino. Les données envoyés depuis le microcontroleur seront transmissent au module Wireless (XBee) mais également vers l'ordinateur pas l'intermédiaire de la connexion USB.
Dans ce mode, le microcontroleur ne peut pas être programmé par l'intermédiaire de le connexion USB.
Position USB
Avec l'intérrupteur en position USB, la broche DOUT du module Wireless est connectée sur la broche RX (réception) du convertisseur USB-vers-série de la carte Arduino; et la broche DIN du module Wireless est connecté sur la broche TX (transmission) du convertisseur USB-vers-série.
Cela signifie que le module (ex: module XBee) communique directement avec l'ordinateur par l'intermédiaire du convertisseur USB-vers-Série. Dans ce cas de figure, le microcontroleur de la carte est ignoré (bypassé). Pour utiliser le shield dans ce mode, vous devez d'abord programmer le microcontroleur avec un sketch vide (comme présenté ci-dessous) (ou retirer le microcontroleur de la carte).
void setup() { } void loop() { }
Mise en réseau
Le Wireless Proto shield peut être utilisé avec différent modules utilisant le même brochage que les modules XBee.
Les instructions Modules XBee 802.15.4 ci-dessous (parfois aussi appelés "Serie 1" pour les distingués des modules Série 2, même si "Série 1" n'est pas ne nom officiel utilisé par Digi pour identifier cette gamme de produit) et la documentation XBee ZNet 2.5 ou Modules XBee ZB, tout deux connus comme des modules "Series 2", explique comment utiliser ces gammes de produit.
Fondamentalement, tous les modules disposent des même types de paramètres de configuration, mais diffèrent par la "fonction" qu'ils mettent en oeuvre et la topologie réseau qu'ils permettent de mettre en oeuvre (voir ce document de Digi International).
Seuls les modules d'une même famille peuvent communiquer ensemble.
Adressage
Avec l'utilisation des paramètres par défaut, tous les modules doivent être capables de communiquer ensembles.
Cela signifie que si vous prenez deux modules identiques, par défaut, ces derniers établiront automatiquement une communication sans fil et seront capables de dialoguer ensemble sans devoir modifier/configurer les paramètres XBee.
Au delà de deux modules ou pour l'établissement de plusieurs "réseaux"/connexions sans fil, il faudra passer par une étape de configuration.
Il y a plusieurs paramètres qui doivent être configurés correctement pour que deux modules puissent dialoguer ensemble au travers d'un connexion sans fils.
- Ils doivent être sur le même réseau, identifié par le paramètre ID (voir la section "Configuration" ci-dessous pour plus de détail).
- Les modules doivent être sur le même canal ("Channel" en Anglais), tel que configuré par le paramètre CH.
- Pour finir, l'adresse de destination du module détermine quel module et quel canal sur réseau recevra l'information qui sera transmise.
L'adresse de destination est configurée via les deux paramètres DH et DL.
Les paramètres DH et DL de l'adresse de destination (voir ci-dessus) peuvent être configurés de façon multiple:
- SI le DH d'un module est 0 et son DL < 0xFFFF (ex: 16 bits) ALORS les données émises par ce module seront reçues par tous les modules ayant une adresse 16 bits MY égale à la valeur de DL.
- SI DH d'un module est 0 et son DL = 0xFFFF, ALORS les données émises par le module seront reçues par tous les modules.
- SI DH est différent de 0 or DL > 0xFFFF, ALORS les données émises ne seront reçue que par le module ayant un numéro de série égal à l'adresse de destination mentionné par DH et DL (ex: celui ayant SH égal au DH du module émetteur et ayant son SL égal au DL du module émetteur).
Encore une fois, cette correspondance d'adresse n'arrivera qu'entre des modules partageant le même réseau et le même canal. Si deux modules sont sur des réseaux (ou des canaux) différents, ils ne pourront pas communiquer ensemble... qu'importe l'adresse.
Pour les modules de "Série 2", vous devez choisir quel firmware il faut installer sur le module afin de lui donner la fonctionnalité de Coordintateur (coordinator), Routeur (Router) ou de module terminal (End Device). La Serie 2 utilise uniquement SL (serial low) et SH (serial high) pour l'adressage.
Configuration
Voici quelque-uns des paramètres les plus utiles pour configurer un module Xbee. Pour le paramétrage par simple (étape par étape), lisez ou modifiez les valeurs en utilisant les commandes AT.
Vous pouvez consulter:
- Arduino Wireless Shield avec module XBee 802.15.4 traduction Française.
- guide to the Wireless shield with the 802.15.4 modules (Arduino.CC, en anglais).
- guide to the Wireless shield with the ZNet 2.5 modules.
Assurez vous de préfixer le paramètre avec AT lorsque vous envoyez une commande au module (ex: pour lire le paramètre ID, vous devez envoyer la commande ATID).
Commande | Description | Valeurs valides | Valeur par défaut |
ID | L'identification du réseau "network ID" du module XBee. | 0 - 0xFFFF | 3332 |
CH | TLe canal (channel) du module XBee. | 0x0B - 0x1A | 0X0C |
SH et SL | Le numéro de série (serial number) du module XBee. Lecture seule (ne peut pas être modifié). SH donne les 32 bits de poids fort, SL donne les 32 bits de poids faible. |
0 - 0xFFFFFFFF (pour SH et pour SL) | Différent pour chaque module |
MY | Adresse 16-bit du module. | 0 - 0xFFFF | 0 |
DH et DL | L'adresse de destination pour la communication sans fil (DH sont les 32 bits de poids fort, DL les 32 bits de poids faible). |
0 - 0xFFFFFFFF (pour DH et pour DL) | 0 (pour DH et aussi DL) |
BD | Le débit de transmission série en bauds entre le module et l'hôte (ordinateur, microcontroleur, Arduino, etc). |
0 (1200 bps) 1 (2400 bps) 2 (4800 bps) 3 (9600 bps) 4 (19200 bps) 5 (38400 bps) 6 (57600 bps) 7 (115200 bps) |
3 (9600 baud) |
Note: les valeurs indiquées dans la table ci-dessus sont préfixées avec "0x" pour indiquer qu'il s'agit de valeur hexadécimale. Lorsque le module retourne une valeur suite à une commande AT, cette dernière ne contient pas le préxise "0x"... tout comme vous devez omettre ce préfix lorsque vous configurer/modifiez la valeur d'un paramètre.
Commandes utiles
En complément du point précedent, voici quelque commandes utiles lors de la configuration d'un module XBee. Vous devez également préfixer les commandes avec AT.
Command | Description |
RE | Restaurer les paramètres d'usine par défaut (note: fonctionne comme les changements de paramètres, les modifications ne sont pas permanentes a moins d'être suivie d'une commande WR). |
WR | Enregistrer (WRite) les paramètres modifiés dans la mémoire non volatile (long-terme) du module. Sinon les paramètres ne resterons actifs que jusqu'à la prochaine mise hors-tension. |
CN | Quitter le mode de commande immédiatement. (Si vous n'envoyez pas commande, le module quitte le mode de commande au bout de quelques secondes même sans commande CN.) |
Pour plus de détails sur la configuration du module XBee, vous pouvez consulter le manuel du produit 802.15.4 ou le manuel des modules ZB de Digi International.
Où Acheter
Le Wireless Proto Shield est disponible chez MCHobby.
MCHobby dispose également d'une gamme XBee.
source: Arduino.cc
Source de cet article (tout ou en partie) issue de Arduino.CC, voir article d'origine pour licence applicable (habituellement Creative Commons Attribution-ShareAlike 3.0). Crédit arduino.cc dont MCHobby est distributeur officiel des produits.
Toute référence, mention ou extrait de cette traduction doit être explicitement accompagné du texte suivant : « Traduction par MCHobby (www.MCHobby.be) - Vente de kit et composants » avec un lien vers la source (donc cette page) et ce quelque soit le média utilisé.
L'utilisation commercial de la traduction (texte) et/ou réalisation, même partielle, pourrait être soumis à redevance. Dans tous les cas de figures, vous devez également obtenir l'accord du(des) détenteur initial des droits. Celui de MC Hobby s'arrêtant au travail de traduction proprement dit.