Anda di halaman 1dari 4

A.

Instalacin y configuracin del


entorno del simulador Cooja
A.1.

Introduccin

Este apndice describe los pasos que hay que seguir para tener instalado y
configurado el entorno de Cooja para poder realizar simulaciones en las que se
puedan incluir nodos de tipo AvrZigbit. Se proporciona todo el material necesario
(archivos fuente y distribucin de Contiki) para llevar a cabo dicha labor.

A.2.

Configuracin del entorno de Cooja

Cooja es el simulador de red que viene incluido dentro de la distribucin del


sistema operativo Contiki. Para la realizacin de este proyecto, se hace uso de la
ltima versin disponible hasta la fecha de dicho sistema operativo, la versin 2.6.
En la ruta ~/contiki-2.6/tools/cooja se sitan todos los archivos que forman
parte del simulador. Para poder dar soporte al tipo de nodo AvrZigbit en Cooja
es necesario incluir varios elementos en la ubicacin apropiada o modificar otros
ya existentes. A continuacin se detalla cada uno de ellos y su lugar dentro del
simulador1 :
Archivo compilado y empaquetado de Avrora, el emulador a nivel hardware de
los microcontroladores de la familia AVR. Cooja lo utilizar para emular a un
nodo AvrZigbit dentro de una simulacin, ejecutando instruccin a instruccin
el programa que se le ha cargado en memoria. En la ruta ./apps/avrora/lib
se debe copiar el archivo avrora-small.jar que se facilita.
Archivos que dan soporte en Cooja al nuevo tipo de nodo. En este caso, se
deben copiar a la ruta ./apps/avrora/src/se/sics/cooja/avrmote los
siguientes ficheros:
AvrZigbitMoteType.java.
AvrZigbitMote.java.
1

Se considerar como directorio base a partir del que se indicarn las rutas de los distintos
archivos el siguiente: ~/contiki-2.6/tools/cooja (Se supone que Contiki se ha instalado en
el directorio personal del usuario)

161

A. Instalacin y configuracin del entorno del simulador Cooja


AvrZigbitCompileDialog.java.
En el directorio ./apps/avrora/src/se/sics/cooja/avrmote/interfaces,
se copian los archivos fuente que implementan las interfaces del nodo AvrZigbit:
AvrZigbitRadio.java.
AvrZigbitSerial.java.
AvrZigbitClock.java.
AvrZigbitID.java.
Otros:
cooja.config: Este fichero de configuracin le comunica a Cooja que hay
un nuevo tipo de nodo (AvrZigbit) que ser emulado con Avrora, as como
el nombre del ejecutable que se utilizar para ello. Se deber copiar a la
ubicacin ./apps/avrora.
MicaZMote.java: Es una modificacin del que ya viene includo por
defecto para que se adapte a la nueva API de Avrora. Se deber copiar a
la ubicacin ./apps/avrora/src/se/sics/cooja/avrmote.
Radio802154.java: Este archivo se ha modificado para que en el plugin
Timeline del simulador se muestre correctamente cundo se produce
una transmisin, una recepcin o una interferencia de un paquete radio.
Debido quizs a un error de la distribucin, esto no suceda. Se deber
copiar a la ubicacin ./java/se/sics/cooja/emulatedmote.
rf230bb.c: Este archivo fuente no pertenece a Cooja, sino al ncleo de
Contiki. Es el driver que maneja el dispositivo radio AT86RF230 en dicho
sistema operativo. Se detect un error en su implementacin que haca que
no se comportara de igual manera que el hardware real. Por esto, cualquier
ejemplo que se intentaba compilar para esta plataforma y se probaba en
el simulador, daba resultados incorrectos. Este error ha sido subsanado
para el correcto desempeo de su funcin. El archivo fuente se deber
copiar en la ubicacin ~/contiki-2.6/cpu/avr/radio/rf230bb.
Una vez configurado el entorno, se puede proceder a ejecutar Cooja y realizar
una simulacin. Para una informacin ms detallada de su uso y sus principales
caractersticas, remtase al apndice 2.

A.3.

Configuracin del entorno de Avrora

Para dar soporte en Avrora al tipo de nodo AvrZigbit se han creado una
serie de ficheros fuente que ya se han descrito y explicado en varios captulos de la

162

A.3 Configuracin del entorno de Avrora


memoria. Una vez se hayan ubicado en el sitio correcto, se proceder a compilar
Avrora, que crear el empaquetado que Cooja utilizar en sus simulaciones para
emular al nodo a nivel de instruccin.
Los distintos archivos fuente que se han creado o modificado y la ruta donde
se debern ubicar se precisa a continuacin2 :
Soporte de la MCU y de los temporizadores/contadores del nodo AvrZigbit.
Se ubicarn en la ruta ./src/avrora/sim/mcu y son los siguientes:
ATMega1281.java.
ATMegaClassic.java.
ATMegaTimer.java.
Soporte del dispositivo radio que incluye la mota AvrZigbit. Se situarn en la
ruta ./src/avrora/sim/radio:
RF230Energy.java.
RF230Radio.java.
Medium.java.
Integracin de la nueva plataforma. Se copiar en la ruta ./src/avrora/sim/platform:
AvrZigbit.java.
Otros:
Defaults.java: Este archivo define las plataformas y microcontroladores
soportados por Avrora. Al incluir el nuevo tipo de nodo, se debe aadir
la plataforma AvrZigbit y la MCU ATMega1281. Se ubicar en la ruta
./src/avrora.
SensorSimulation.java: Representa un tipo de simulacin particular
donde mltiples nodos, cada uno con su MCU, radio y sensores, se
ejecutan en paralelo. Cada nodo puede ejecutar un programa diferente.
Todos juntos forman una red de sensores inalmbricos que pueden
comunicarse unos con otros via radio. Aunque no sea necesario para el
correcto funcionamiento de Cooja, s es fundamental si se quiere utilizar
Avrora de manera independiente para simular ms de un nodo AvrZigbit
en la misma simulacin. Se situar en la ruta ./src/avrora/sim/types.
Una vez se han situado todos los archivos anteriores en sus respectivas
ubicaciones, se procede a compilar Avrora. La distribucin trae su propio Makefile,
por lo que no es necesario crearlo. Slo ser necesario dar la orden make para
2

Se considerar como directorio base a partir del que se indicarn las rutas de los distintos
archivos el siguiente: ~/avrora (Se supone que Avrora se ha instalado en el directorio personal
del usuario)

163

A. Instalacin y configuracin del entorno del simulador Cooja


llevar a cabo dicha accin. Una vez termina la compilacin, si no ha habido ningn
error, el siguiente paso es crear el empaquetado que aglutinar toda la funcionalidad
del emulador en un slo fichero para que pueda ser portado con facilidad. Para ello,
primeramente, se deber crear una carpeta en el mismo nivel donde se encuentran
la carpeta src (fuentes), bin (compilados), etc. llamada jars. Con la distribucin
de Avrora tambin se facilita un pequeo script (makejar.bash) que construye el
empaquetado a partir de los compilados. Para proceder, slo es necesario teclear la
orden:
bash makejar.bash nombre_empaquetado
Cuando finalice de ejecutarse el script, en la carpeta jars se habr creado el archivo
avrora-nombre_empaquetado.jar que ser el que hay que copiar en Cooja
para que pueda utilizarlo en la simulacin de nodos AvrZigbit.

164

Anda mungkin juga menyukai