XBEE - 1 : Premier test - validation de la liaison radio

(1968 mots dans ce texte )  -   lu : 3828 Fois     Page Spéciale pour impression

 Pour imprimer, cliquez sur l'icône ci-dessus

Dans ma grande niaiserie, j’imaginais que les modules RF XBEE étaient comme les RF-433Mhz…

J'ai vite déchanté!

Pour mémoire, les modules RF-433 Mhz (et aussi les RF-315 Mhz) sont simples à mettre en œuvre :

On les raccorde ; on charge la librairie RCSwitch sur Arduino et on utilise les fonctions Serial.available, Serial.read et Serial.write, etc… et le tour est joué.

 

Avec les modules XBEE on peut faire beaucoup plus de choses, ne serait-ce qu’en matière de topologie réseaux :

-         Liaison point à point (pair);

-         Liaison Etoile  (star);

-         Liaison Maillée (mesh);

-         Etc…

 

 topo_xbee.jpg

 

Cela suffit pour compliquer considérablement la découverte et la mise en œuvre de ces modules.

Voici quelques pistes issues de mes premières "expérimentations".

- Quelle que soit la topologie construite (pair, star, etc...) il faut un coordinator et un seul.

- Le logiciel X-CTU : Un outil incontournable.

Son installation (uniquement sous windows et Mac-OS X) commence par un téléchargement d’une vingtaine de minutes.

xctu.jpg

Attention, l’interface graphique a changé comparativement à ce que l'on trouve sur les forums. Très déroutant au début !

Il permet de découvrir la configuration de livraison des modules, de paramétrer ces modules dans diverses configurations, de tester via sa console le fonctionnement en "live".

Au lieu de celà, pensant que la configuration livrée permettait une utilisation immédiate, comme ce fût le cas avec les modules RF-433, je me suis embarqué immédiatement (mal m'en a pris...) dans des essais entre Arduino et Raspberry qui ont duré des jours et des jours.

Jusqu'à ce que je grandisse...

Las de galérer (j'ai même longtemps pensé que l'un des deux modules était en panns), je suis reparti de zéro. En fait, ces premiers test m'ont aidé à découvrir les fonctionalités essentielles du logiciel. Outre le paramétrage des liaisons radio (vitesse, type de réseau, la nature et l'affectation des modules : coordinator, router et end-device) j'ai découvert les outils permettant un test du projet avant le déploiement. De sorte que, si par la suite les liaisons sont inopérantes, on est au moins sûr d'une chose: ce n'est pas à cause de la qualité de la liaison radio.

Le matériel:

Dans la configuration définitive, je dois mettre en oeuvre:

tableau_matos_.jpg

 

Pour ce premier test j'ai du acquérir un second dongle USB, pour des raisons de praticité.

 

Passons maintenant à la réalisation du premier test.

Objectif : avant toute chose, faire communiquer les deux modules en émission/réception locale entre les ports USB de deux PC. Le logiciel adéquat (XCTU) est installé sur chaque PC

Tentative de communication entre les deux modules a l’aide des utilitaires proposés par XCTU dans son mode « console».

Module 1 (serial #8485) coordinator sur module usb A (Ordinateur Portable, Win7)

Module 2 (serial #8481) router sur module mini usb A (Station PC, WinXP)

Pour chacun des 2 modules:

1) reset complet

a- Load default firmware settings default_settings.jpg

b- Write radio settings (obligatoire sinon, pas de mise à jour effective) write_settings.jpg

 

2) Update firmware: update_firmware.jpg

a– Coordinator :

 update_firmw_1.jpg

b– Router:

 update_firmware_2.jpg

Eléments significatifs du paramétrage “standard”

Seul le Node Identifier NI a été documenté ;

les autres paramètres d’origine ont été laissés en l’état.

 

Module #8485 Coordinator :

 param_std_coord_1.jpg

 param_std_coord_2.jpg

Pan ID : Il est conseillé de modifier cette valeur afin d’éviter l’interférence avec d’autres réseaux XBEE du voisinage. Ce sera pour plus tard, et seulement si nécessaire.

 param_std_coord_3.jpg

MY : Valeur attribuée (réservée ?)  au coordinator. Elle ne peut être modifiée.

NI : Seule valeur documentée afin de repérer plus facilement le module.

DL : FFFF = Broadcast à tous. Normal, c’est le coordinator !

 

Module #8481 Router :

 param_std_router_1.jpg

param_std_router_2.jpg

MY : Valeur attribuée au router. Non modifiable.

NI : Seule valeur documentée afin de repérer plus facilement le module.

DL : 0 = c’est le MY du coordinator!

NB : les paramètres de transmission série n’ont volontairement pas été modifiés car ce n’était pas nécessaire dans le cadre d’un premier test.

 

TEST 1 - PROCEDURE :

Le dongle USB « coordinator » est branché sur le portable ;

Le dongle USB « router » est branché sur le PC

XCTU est démarré. Sélectionner le module XBEE à connecter au PC :

 img_test_1.jpg

Cliquer sur le module trouvé afin de charger ses paramètres :

 img_test_2.jpg

Puis passer en mode « console »

 img_test_3.jpg

Le test peut démarrer :

 img_test_4.jpg

De chaque côté : un clic sur l’icône « Ouverture de la connexion série avec le module radio ».

Les deux modules sont prêts à dialoguer :

 img_test_4_bis.jpg

 Note : c’est l’opération que j’oublie souvent de réaliser, ce qui donne :

 img_test_5.jpg

 

Envoi de messages croisés entre les deux machines:

La manière la plus simple et la plus parlante de réaliser ce premier test consiste a écrire un court message, par exemple :

-         Allo ? sur le PC

-         J’écoute ! sur le portable

Puis à faire en sorte qu’ils soient émis en permanence sur leurs machines respectives. Ainsi, on peut vérifier aussi la bonne transmission en déplaçant le portable. Malin, non ?

 img_test_6.jpg

On sélectionne « loop infinity » puis on clique sur la croix verte :

 img_test_8.jpg

On saisit un message sans oublier le CRLF (Return) à la fin.

La méthode est identique sur les deux machines. Il n’y a que le message qui diffère :

 img_test_8_2.jpg

Et on valide.

Il reste à cliquer sur le message puis sur « démarrer la séquence »:

 img_test_9.jpg

 

Le message apparaît en bleu sur la console émettrice et en rouge sur la console réceptrice.

 img_test_10.jpg  img_test_10_bis.jpg

 

Lançons maintenant le message sur l’autre machine :

 img_test_11.jpg

Conclusion :

Cette étape préparatoire est indispensable pour qualifier le fonctionnement de la liaison radio entre deux modules. En particulier, le chargement des paramètres par défaut puis la mise-à-jour du firmware.

J'ai perdu beaucoup de temps en sautant cette première étape!

Maintenant, le résultat est satisfaisant. La transmission fonctionne simultanément.

Il reste à déplacer le portable pour contrôler les distances de transmission ainsi que l'incidence des obstacles.

Autre série de tests à effectuer :

- Intervertir les modules.

- varier la transmission de 2400 bds à 56000 bds

- Vérifier la différence entre un module « à antenne externe » et un autre « à antenne PCB »

Dernier point: XBEE n'est pas le seul à exploiter la bande de fréquence des 2.4 Ghz:

frequences_proches_titre.jpg

frequences_proches.jpg

Par exemple, certaines radio-commandes de modèles réduits émettent dans cette bande.

J'ai testé mon four à micro-ondes à pleine puissance: Ouf, tout va bien !

 




Retour à la sous-rubrique :

Autres publications de la sous-rubrique :