Le simulateur Cooja
Cooja est un simulateur fourni avec Contiki. Il permet de simuler un réseau de capteurs.
Grâce à ce simulateur, nous pouvons tester rapidement un code écrit en langage C, sans avoir besoin de flasher
de vrais capteurs. Nous pouvons répartir un nombre quelconque de noeuds sur une zone donnée. Nous
visualisons alors en temps réel (ou accéléré) la topologie du réseau.
Dans une simulation nous avons plusieurs fenêtres :
1. La fenêtre Network : En haut à gauche de l’écran, dans cette fenêtre s’affiche la
représentation graphique du réseau, nous montre tous les noeuds dans le réseau simulé.
figure :Interface graphique du le simulateur Cooja.
2. La fenêtre Simulation control : C’est la fenêtre responsable du contrôle de la simulation où nous pouvons
lancer, mettre en pause et recharger de notre simulation (démarrage
/ mise en pause / arrêt).
3. La fenêtre Notes : En haut à droite est l’endroit où nous pouvons mettre des notes
pour notre simulation.
4. La fenêtre Mote Output : sur le côté droit de l’écran, Ce module est très important car
c’est ici que sont imprimées les sorties des capteurs. Un champ de texte permet d’entrer
un filtre pour cibler un capteur ou un type de message en particulier.
5. La fenêtre Timeline : En bas de l’écran, nous affiche tous les événements de communication dans la
simulation dans le temps, très pratique pour comprendre ce qui se passe dans le réseau.
Lorsqu’on démarre la fenêtre de simulation on obtient l’affichage suivant :
La première ligne : Nous montre l’adresse Rime du noeud.
La deuxième ligne : Nous donne l’adresse MAC du noeud ainsi que son identifiant.
La troisième ligne : Nous montre le mécanisme par défaut ContikiMac, La couche MAC est
responsable pour éviter les collisions au moyen de la radio et de retransmettre les paquets
si il y avait une collision.
La quatrième ligne : Désigne le nom du processus qu’a démarré.
installation Contiki
Contiki est un système d’exploitation pour les réseaux de capteurs sans fil. Cooja
est un émulateur réseau basé sur Contiki qui permet d’exécuter des programmes sur
Contiki sans avoir besoin du matériel.
Pour éviter d’installer tout l’environnement de développement, nous allons
utiliser une machine virtuelle (VM) nommée « Instant Contiki ».
Etapes à suivre pour mettre en place la VM :
1- Télécharger la machine virtuelle nommée : « Instant Contiki 2.7 ».
Le site : [Link] ou
[Link]
Il s’agit d’un fichier de grande taille, un peu plus de 1 Gigaoctet. Une fois télécharger,
décompressez le fichier et placez le répertoire décompressé sur le bureau
2- Pour faire tourner cette machine virtuelle, il faut télécharger un lecteur des machines
virtuelles comme VirtualBox ou VMPlayer. Si vous utilisez VirtualBox, il faut vérifier
que l’option « PAE/NX » est activée (Settings → System → Processor)
3- Une fois que vous avez installé le lecteur des machines virtuelles avec la machine
Instant Contiki, vous allez avoir besoin du login et mot de passe.
Dans ce cas vous utilisez le mot de passe : user.
4- Lancer l’émulateur Cooja : Pour lancer l’émulateur “Cooja”, il suffit d’aller dans le
répertoire “contiki/tools/cooja”, ensuite d’exécuter la commande : « ant run »
Lorsque Cooja est compilé, nous obtiendrons une fenêtre bleue vide.
Exécuter l’exemple “Hello, World”
Cet exemple est basé sur un réseau formé de deux nœuds qui affichent uniquement le
message « Hello, Word ». Pour pouvoir utiliser ce programme avec l’émulateur Cooja,
il faut suivre les étapes ci-dessous :
- Créer une nouvelle simulation : File → New simulation
- Compiler le programme « hello-world » et créer 2 Motes :
Motes → Add motes → Create new mote type → Sky mote. Dans le champ « contiki
process».
sélectionner le programme à compiler « contiki/examples/ hello-world /hello-world.c».
Ensuite, créer 2 motes à l’aide du bouton Create.
- Lancer la simulation avec le bouton « Start »
Explication du code :