Différences entre versions de « Arduino Wireless Shield »

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche
Ligne 71 : Ligne 71 :
 
== Adressage ==
 
== Adressage ==
  
There are multiple parameters that need to be configured correctly for two modules to talk to each other (although with the default settings, all modules should be able to talk to each other). They need to be on the same network, as set by the '''ID''' parameter (see "Configuration" below for more details on the parameters). The modules need to be on the same channel, as set by the '''CH''' parameter. Finally, a module's destination address ('''DH''' and '''DL''' parameters) determine which modules on its network and channel will receive the data it transmits. This can happen in a few ways:
+
Avec l'utilisation des paramètres par défaut, tous les modules doivent être capables de communiquer ensembles.<br />
 +
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 dela de deux modules ou établissement de plusieurs "réseaux" 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 (although with the default settings, all modules should be able to talk to each other). They need to be on the same network, as set by the '''ID''' parameter (see "Configuration" below for more details on the parameters). The modules need to be on the same channel, as set by the '''CH''' parameter. Finally, a module's destination address ('''DH''' and '''DL''' parameters) determine which modules on its network and channel will receive the data it transmits. This can happen in a few ways:
  
 
* If a module's '''DH''' is 0 and its '''DL is less than 0xFFFF''' (i.e. 16 bits), data transmitted by that module will be received by any module whose 16-bit address '''MY''' parameter equals '''DL'''.
 
* If a module's '''DH''' is 0 and its '''DL is less than 0xFFFF''' (i.e. 16 bits), data transmitted by that module will be received by any module whose 16-bit address '''MY''' parameter equals '''DL'''.
Ligne 79 : Ligne 84 :
 
Again, this address matching will only happen between modules on the same network and channel. If two modules are on different networks or channels, they can't communicate regardless of their addresses.
 
Again, this address matching will only happen between modules on the same network and channel. If two modules are on different networks or channels, they can't communicate regardless of their addresses.
  
For the "Series 2" modules you must chose which firmware put on the module to give it Coordinator, Router or End Device functionality. Series 2 use only serial low (SL) and serial high (SH) for addressing.  
+
For the "Series 2" modules you must chose which firmware put on the module to give it Coordinator, Router or End Device functionality. Series 2 use only serial low (SL) and serial high (SH) for addressing.
  
 
== Configuration ==
 
== Configuration ==

Version du 25 décembre 2012 à 15:56

Description

WirelessProtoShield.jpg

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

Schemas: arduino_WirelessShield_Proto_v3-schematic.pdf

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

WirelessShield SD switchMicro detail.jpg

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

WirelessShield SD switchUSB detail.jpg

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 dela de deux modules ou établissement de plusieurs "réseaux" 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 (although with the default settings, all modules should be able to talk to each other). They need to be on the same network, as set by the ID parameter (see "Configuration" below for more details on the parameters). The modules need to be on the same channel, as set by the CH parameter. Finally, a module's destination address (DH and DL parameters) determine which modules on its network and channel will receive the data it transmits. This can happen in a few ways:

  • If a module's DH is 0 and its DL is less than 0xFFFF (i.e. 16 bits), data transmitted by that module will be received by any module whose 16-bit address MY parameter equals DL.
  • If DH is 0 and DL equals 0xFFFF, the module's transmissions will be received by all modules.
  • If DH is non-zero or DL is greater than 0xFFFF, the transmission will only be received by the module whose serial number equals the transmitting module's destination address (i.e. whose SH equals the transmitting module's DH and whose SL equals its DL).

Again, this address matching will only happen between modules on the same network and channel. If two modules are on different networks or channels, they can't communicate regardless of their addresses.

For the "Series 2" modules you must chose which firmware put on the module to give it Coordinator, Router or End Device functionality. Series 2 use only serial low (SL) and serial high (SH) for addressing.

Configuration

Here are some of the more useful parameters for configuring your Xbee module. For step-by-step instructions on reading and writing them using AT commands, see the:

Make sure to prepend AT to the parameter name when sending a command to the module (e.g. to read the ID parameter, you should send the command ATID).

Command Description Valeurs valides Valeur par défaut
ID The network ID of the XBee module. 0 - 0xFFFF 3332
CH The channel of the XBee module. 0x0B - 0x1A 0X0C
SH and SL The serial number of the XBee module (SH gives the high 32 bits, SL the low 32 bits).Read-only. 0 - 0xFFFFFFFF (for both SH and SL) different for each module
MY The 16-bit address of the module. 0 - 0xFFFF 0
DH and DL The destination address for wireless communication (DH is the high 32 bits, DL the low 32). 0 - 0xFFFFFFFF (for both DH and DL) 0 (for both DH and DL)
BD The baud rate used for serial communication with the Arduino board or computer. 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: although the valid and default values in the table above are written with a prefix of "0x" (to indicate that they are hexadecimal numbers), the module will not include the "0x" when reporting the value of a parameter, and you should omit it when setting values.

Here are a couple more useful commands for configuring the XBee module (you'll need to prepend AT to these too).

Command Description
RE Restore factory default settings (note that like parameter changes, this is not permanent unless followed by the WR command).
WR Write newly configured parameter values to non-volatile (long-term) storage. Otherwise, they will only last until the module loses power.
CN Exit command mode now. (If you don't send any commands to the module for a few seconds, command mode will timeout and exit even without a CN command.)

For more details on configuring the XBee module, see the 802.15.4 modules product manual or the ZB modules product manual from 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.