Réseau de capteurs : Différence entre versions

De Wiki d'activités IMA
m (Flash du programme sur l'OpenMote)
m (OpenMote et RiOT OS)
Ligne 13 : Ligne 13 :
  
 
https://github.com/RIOT-OS/RIOT/wiki/Introduction
 
https://github.com/RIOT-OS/RIOT/wiki/Introduction
 +
 +
http://www.riot-os.org/files/riotlab-tutorial.pdf
  
  

Version du 6 janvier 2016 à 18:05

Contexte

OpenMote et RiOT OS

http://www.riot-os.org/

http://www.openmote.com/software/riot.html

https://github.com/RIOT-OS/RIOT/wiki/Board:-OpenMote

https://github.com/RIOT-OS/RIOT/tree/master/boards/openmote

https://github.com/RIOT-OS/RIOT/wiki/Introduction

http://www.riot-os.org/files/riotlab-tutorial.pdf


Dans un premier temps, nous cherchons à faire un "Hello World" sur les OpenMote. Il faut installer un OS léger sur ces puces. Il existe plusieurs systèmes comme FreeRTOS (pour le temps réel), Contiki ou encore RiOT. Ces deux derniers sont intéressants pour notre application où nous cherchons à mettre en place un réseau maillé entre nos noeuds de capteurs (protocole RPL). Nous décidons de partir sur RiOT car il est plus récent et plus léger (en théorie).

Compilation d'un programme example de RiOT

apt-get install gcc-arm-none-eabi
export PATH=${PATH}:/usr/bin/arm-none-eabi-gcc
git clone https://github.com/RIOT-OS/RIOT.git

Flash du programme sur l'OpenMote

Avec RiOT, la méthode préconisée pour flasher la carte est d'utiliser une interface JTAG. Nous allons se passer de cette interface (nécessitant un adaptateur payant) pour flasher la carte via l'UART. On récupère le script :

git clone --recursive https://github.com/OpenMote/openmmote-bsl.git

Nous avons dû modifier le code source du fichier openmote-bsl.py, en remplaçant la ligne :

#openmote_bsl_path = "../../tools/openmote-bsl"
openmote_bsl_path = "."

Nous pouvons maintenant flasher l'OpenMote avec la commande :

python openmote-bsl.py /path/to/file.bin --board openbase

/!\ Attention il faut éxecuter cette commande en étant dans le dossier d'openmote-bsl.