Vous êtes sur la page 1sur 6

Compte rendu N°2

Réseau de Capteurs sans fils

Réalisé par :
ABDERAHIM
ghada ERRAHEM
louay
1. Objectifs :
Ce TP à comme but :
 Faire les premiers pas pour la découverte du protocole JenNet et ses APIs.
 Démarrer le réseau en démarrant le nœud coordinateur.
 Faire joindre un routeur au réseau.
 Envoyer des commandes de type TOR au routeur.
2. Manipulation :
Les noeuds dans le réseaux peuvent être soit :coordinateur ou routeur ou End Device.
Le coordinateur est un noeud central, il représente le 1èr noeud dans le réseau il fixe le
PAN.ID,App.ID CANAL (de 11 à 26)
La connexion est assurée entre deux noeuds si elles ont le même PAN.ID
Le routeur peut relier entre 2 noeuds.
Dans le code :
- CB : Call Back => une fonction prédéfinie dans la pile
- CbConfigNetwork : permet de configuerer les paramètres et les fixer (PAN.ID, CANAL,APP.ID)
- Démarrage à froid reset quand la carte fonctionne / sans alimentation
- Démarrage à chaud : démarrage après mise en veille
- CBInit : initialisation des paramètres
- Disable pullups : les boutons sont des entrées
- eJenie_start(x) => lancer la pile avec x une constante eJenie_Coord ou
eJenie_Rotor ou eJenie_End

Le nœud coordinateur :
1)
gJenie_NetworkApplicationID =0X12345678
gJenie_PanID = 0X 1234U
2) Le cordinateur opére su le canal numéro 12.

Démarrage du nœud coordinateur :


On lance le réseau dans vJenie_CbInit qui s’occupe de initialisé via la fonction
eJenie_Start()
On ajoute ce code au call back vJenie_CbInit dans le but de tester le bon démarrage du
nœud coordinateur et d’envoyer un message à travers le port série.
1)
2)

3)

Lorsque le réseau est démarré, le message « Network up » est affiché sur Termite à partir du
callback vJenie_CbStackMgmtEvent, l’évènement de la pile est E_JENIE_UP.

Connexion d’un nœud routeur au réseau :


On utilise l’évènement E_JENIE_CHILD_JOINED pour signaler la connexion d’un routeur au
coordinateur.
1)
2)

Gestion de boutons (envoi de données Coordinateur  routeur)


On utilise 3 boutons sur le coordinateur pour commander des LEDs sur le routeur.

1) On ajoute des fichiers pour gérer les boutons :

2)
Pour allumer et éteindre une LED, on envoie A pour allumer ou E pour éteindre suivie du
numéro du LED
O- @ Indudes
/• Et acticos yes r•Ds ä ’
O--AN i06 t_3N_Coord ... . .
.?r?15'
( psData=>piuSDazi[S]."A')(j swïtcW (psData->pau°Data(l])] case 'i' ’
•rädI_DIOSetOatput(E_ädI_DIOl6_INT,O);
ΠANI061.1M Coordi

vü5I_DIO5et0uuputlZ_ëdI_DIOl?_INT,0); break;
cash 'c':
v%dI_DIG5etOutput(E_RHI_ÖIOlB_IÑT,0):
ü @ euild

if(psData—>pai?Data}8] 'E')

•rêdI_DIOSet0utput(O,I_ädI_DIOl6_INT};

case '2':
•rñdI_DIO5etOutput(O,Z_ädI_DIOl"_INT}; b’’ak’
case '3
vüI_DIOSet tp t(0,É_AÉI_ÔIÖi8 I:FT):

6;. ir oistat i)
ÿZNü}t*•_S@Aô âtzi{Ro:zCerMAC,ÔäCai,S,TXOFTION_SILENI}r
eiie
Æ eÙ *• SeATJb iA{RouterMAC,datal ,S,TXOFTION_oZLÆNT);.
oistat=i—oistat;

,6 /* Hax Patton been ieieasea ’ *


f ((:a5Æ attonReadData & ÆDIION_ _MASW}

/ actïon rr d t üt S •/

ïf {D Stet l}_
'quoi •.*Wei\doaI(RoutexmAC,data2, ,TXOPTiON FILENT):
elle
éUem*‹e ÆêsAJDa.t@(RouterMAC.dataS+S.S,TXOPŒION_5ZLÆNI);

/• Has bottcn o bee- ieieased ° •,


*f (u3ÆattonReaaData & ÆIFPTON 3 IVEW) —

' '* *outc action ccriea or•da.uc a-u ko

if (D35tat )
éJ‹-öïe ADatà{RouterMAC,detz3,S,TXOFTIOM_5ILEMT);

eJëdts_SemiAQätA RoaterMAC,data3+, ,TXOFTTON_5,LENI):

/• Ncte t.e current 1:a cn readinG *


-a€Æutto = -a3ÆüttomReudDabz;