Vous êtes sur la page 1sur 5

Joindre un routeur au coordinateur – création du réseau

Après la création et la configuration du coordinateur, on doit joindre d’autres nœuds. Donc


comment peut-on joindre un nœud routeur au coordinateur et comment peut on se limiter à un
certain nombre des nœuds et ne pas autoriser à d’autres nœuds de joindre le réseau ?
Pour répondre à ces question, on va traiter la partie réseau tout en profitant l’interfaçage
entre PC et nœud Jennic 5148 et suivre qu’est ce qu’il se passe.
Joindre un routeur :
5.
a. l’identifiant de l’application(Application ID) est : 0x10850003.
l’identifiant du PAN (Personal area network) est : 0x8533.

b. le canal choisi par défaut (la fréquence porteuse par défaut) est 0.

c. la dimension de la table de routage est 100.


6.
a. la bibliothèque ajoutée par rapport au « STEP2_Common » est la bibliothèque
<<Button.h>>.

b. les variables locales :


Bool_t : C’est une variable booléenne qui indique si le réseau actif (1) ou non (0).
U8Button : C’est un bit de masque pour suivre l’état actuel du bouton. Il lire l’état
d’entrée pour tester l’output.
Au8Led : Sert à contrôler la diode led.
U8Tick : c’est une variable non signé à 8 bits qui sert à compter les interruptions du Tick
Timer.
U64Parent : stocker l’adresse MAC du nœud parent.
U64Last : Serve à stocker l’adresse MAC du dernier périphérique a envoyé des données.

c.
L’organigramme de la fonction « vApp_CbInit » :

d.
Au8Led[0]=0x00 : afin d’éteindre la LED
Au8Led[0]=0x02 : afin de faire clignoter la led
Au8Led[0]=0x04 : afin de clignoter la led avec une vitesse de clignotement
différent.
Au8Led[0]=0xff : afin d’allumer la led
e.
 Il s’agit d’une routine d’interruption (Arrivage d’une interruption matérielle qui  va être traité
par la suite au niveau de cette routine).
Au début, on va commencer par un Tick Timer initialisé à 0 et puis on va choisir un
masque selon la vitesse de clignotement qu’on veut : 0x02 => 00000010
On incrémente le Tick Timer et on génère un signal carré :
D7 D6 D5 D4 D3 D2 D1 D0
0 0 0 0 0 0 0 0 10 ms
0 0 0 0 0 0 0 1
0 0 0 0 0 0 1 0 10 ms

….. etc
W on fait la fonction AND avec le masque qu’on a choisie.
Remarque : En déplaçant du bit du poids faible au bit du poids fort, la vitesse de clignotement du
led va diminuer et selon notre besoin on fait notre choix du masque (0x02, 0x04 etc…).
f. on a une fonction Switch case : si le réseau est active, un message va être affiché.
Le nœud joint le réseau. Si on a obtenir le pointeur pour corriger la structure primitive on affecte
à la sortie de l’UART 0xFFFFFFFF.
7. Dans le code coordinator.c on trouve « Vprintf (‘eJenie_Start (coordinator)’)
Dans le code Rooter.c on trouve « Vprintf (‘eJenie_Start (Rooter)’)
 La différence est la configuration
Manipulation :
5. La diode clignote pour un instant donné puis elle se stabilise. Dans la phase de clignotement, le
coordinateur est entrain de préparer le réseau. Par la suite, la phase stable indique que le réseau
est prêt à être utilisé.
7.
On charge le programme à l’aide du « Flash programmer » puis on assure l’interfaçage entre le pc
et le nœud :
a. La valeur logique du variable booléenne « permitjoin » est 1 si on appuie sur Reset.
b. La valeur logique du variable booléenne « permitjoin » est 0 si on appuie sur Program.

c.

 Le bouton program permet d’assurer la configuration de permission de joindre le réseau.

8. On a choisie de changer le masque de 0x04 vers 0x06 :

On remarque que la vitesse de


clignotement diminue.

9. On change 16 par 18 :

10. Pour afficher « Bonjour »


chaque seconde, on doit ajouter une portion de
programme dans lequel un compteur et
fonction IF sont ajoutés :
L’affichage :

Création du réseau :
On crée le réseau de nœud et on teste.