XBee API pour pilotage à distance
Extrait du PoBot
http://www.pobot.org
XBee API pour pilotage à
distance
- Robopedia - Programmation - Apprendre - Communications - Réseaux ZigBee -
Date de mise en ligne : samedi 14 mars 2009
PoBot
Copyright © PoBot Page 1/7
XBee API pour pilotage à distance
Sommaire
Principe
Matériel et circuit
TP n°1 : recevoir une informat
TP n°2 : allumer une led
version mise à jour en avril 2011
Nous avons déjà utilisé précédemment les XBee très simplement pour faire une liaison série sans fil entre plusieurs
modules (voir cet article), mais maintenant on va s'attaquer au mode "API" pour piloter à distance les ports
entrée/sortie numérique ou analogique de plusieurs modules XBee sans utiliser de microcontrôleur supplémentaire.
Cet article est le résultat de nos ateliers hebdomadaires. Nous avons tout appris de zéro concernant les XBee grâce
aux différentes explications qu'on trouve sur Internet. Remercions tous ceux qui ont documenté leurs projets et qui
contribuent par des fichiers, des codes sources, des articles. Parmi eux :
Tom Igoe pour son livre "Making Things Talk [http://www.makingthingstalk.com]"
Daniel Menesplier pour sa doc en français sur son site web [http://daniel.menesplier.free.fr/documents.htm]
le wiki de l'ITP (NYU) pour son article [http://itp.nyu.edu/varwiki/BigScreens/XBee] similaire à celui-ci et qui m'a
bien aidé à terminer l'expérimentation.
Principe
On va tester les deux sens d'accès aux données connectées sur un XBee :
recevoir une information distante (patte en sortie du XBee)
contrôler une led à distance (patte en entrée du XBee)
Matériel et circuit
Voici le matériel nécessaire pour cette manip' :
Produit Quantité Fournisseur Prix
modem RF XBee serie
1
2 Matlog [http://www.matlog.com/wireless/modules-zigbee-et-802154/] 2 x 18
Euros
adaptateur USB /
XBee
1 Matlog [http://www.matlog.com/wireless/modules-zigbee-et-802154/cartes-interfaces-pour-modules-xbee.html] 30 Euros
alimentation 3,3 volts 1 NKC Electronics [http://www.nkcelectronics.com/breadboard-power-supply-18v—5v-185.html] $ 9.90
Copyright © PoBot Page 2/7
XBee API pour pilotage à distance
breadboard 1 Gotronic [http://gotronic.fr/catalog/circuits/circuitframe.htm] 8,80
Euros
led, résistance, bouton
pression
1 Gotronic
La majorité de ces produits ont été offerts au club pour ses expériences pédagogiques, merci !
On a donc :
un XBee connecté par USB à un ordinateur
un XBee connecté à une led (sortie) et un capteur (entrée).
Voici le XBee installé sur une carte USB :
Adaptateur USB "sparkfun"
un des plus courants
Interface XBee/USB
Une autre version, cette fois de Droids.it, vendue en France par Matlog.
Voici le XBee distant avec une led, un bouton et une résistance variable :
Copyright © PoBot Page 3/7
XBee API pour pilotage à distance
Circuit XBee
On utilise une résistance variable pour tester le XBee en réception d'une valeur analogique.
Notez qu'il faut une alimentation 3,3 volts. Il existe désormais de petites cartes qui permettent d'obtenir les tensions
fréquemment utilisées depuis une simple alimentation secteur universelle.
Alimentation 3,3 volts
Très important : tension de référence
Si vous souhaitez utiliser le convertisseur analogique/numérique d'un XBee, il faut absolument que vous
fournissiez une tension de référence sur la patte 14 : un simple fil entre la tension d'alimentation (3,3 volts) et
la patte 14 suffit.
TP n°1 : recevoir une information
Régler les paramètres radio
Nous avions déjà vu dans un précédent article comment modifier les paramètres des modules XBee. On va donc le
réutiliser pour spécifier les adresses d'émetteur, de récepteur et de réseau personnel, mais également pour régler les
paramètres des pattes d'entrée/sortie du XBee.
Côté PC, le XBee va tout d'abord recevoir des informations (détecteur de présence sur le XBee distant, ou
interrupteur). Il n'y a donc pas d'adresse de destinataire (DL 0) donc la configuration est très simple :
Commande Explication
+++ passage en mode configuration AT (sans retour chariot)
ATID5555 identifiant de réseau, commun à tous les modules
ATMY1234 adresse de cette carte, unique pour un même réseau
ATDL0 pas de destinataire dans ce TP, XBee juste receveur
ATDH0 pas de partie haute, adresse 16 bits
Copyright © PoBot Page 4/7
XBee API pour pilotage à distance
ATWR enregistrer
Côté platine d'essai, on va voir apparaitre des codes nouveaux : D0, IR, IU et IT. Il s'agit en fait de configurer le XBee
pour qu'il utilise les pattes d'entrées/sorties et les envoie sur l'UART (IU à 1) puis qu'il prenne une valeur en entrée
numérique sur une de ses pattes de données : D0, la patte de donnée (D) numéro zéro (0) toutes les IR
microsecondes (en hexa) et qu'il envoie la valeur au XBee dont il a l'adresse en destinataire (DL et DH si besoin) au
bout de IT échantillons.
IR temps d'échantillonnage en millisecondes, toujours rédigé en hexadécimal
IT nombre d'échantillons à envoyer (et à faire avant d'envoyer, ce qui multiplie d'autant IT par IR pour le délai entre deux envois
Dx la patte utilisée et surtout le mode : 2 pour une entrée analogique, 3 pour une entrée numérique
Ce qui donne dans notre cas :
Commande Explication
+++ passage en mode configuration AT (sans retour chariot)
ATID5555 identifiant de réseau, commun à tous les modules
ATMY5678 adresse de cette carte, unique pour un même réseau
ATDL1234 on enverra au XBee d'adresse MY 1 (celui du dessus bien sûr)
ATDH0 pas de partie haute, adresse 16 bits
ATD03 patte 0 en entrée numérique
ATIR64 échantillon toutes les 100 millisecondes
ATIT1 un seul échantillon envoyé
ATIU1 activer les envois sur l'UART des pattes I/O
ATWR enregistrer
Premier test
Avec un simple logiciel d'écoute de la liaison série (ici, Docklight comme souvent), on peut voir que le module distant
est bien en train d'envoyer une trame (qu'on appelle bizarrement API, d'où le titre de cet article) à notre module
"base", et sans que le XBee base ne demande rien, ce qui peut être déroutant car on aurait pu penser que la mention
"API" signifiait justement qu'il y avait des commandes d'accès aux valeurs par question/réponse (polling). Et bien non,
c'est toute mon erreur et j'espère que vous n'aurez pas fait la même grâce (à votre grande intelligence ou) à cet
article.
Copyright © PoBot Page 5/7
1 / 7 100%
Study collections
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !