Redes de Computadores II - Seminario de Redes de Computadores
Segundo Semestre 2010

Tarea SunSPOT
Punch-o-Meter


Objetivos.

Esta tarea tiene por objetivos que:
  1. Se acerque a la programación de dispositivos inalámbricos.
  2. Usted se familiarice con el ambiente de desarrollo del lenguaje Java para programar sensores inalámbricos (en este caso, dispositivos SunSPOTs).
Descripción General.

Los dispositivos SunSPOTs son motes para redes de sensores inalámbricos desarrollados por Sun Microsystems. Estos dispositivos utilizan el estándar IEEE 802.15.4 para comunicación inalámbrica y tienen integrada la máquina virtual de Java (Squawk). Además, cada SunSPOT cuenta con acelerómetro, sensor de temperatura, sensor de iluminancia, 8 leds RGB y 2 switches.

Los SunSPOTs son distribuídos junto a un kit de desarrollo que trae las herramientas, tutoriales y ejemplos necesarios para realizar la programación de estos dispositivos. Uno de estos ejemplos es la aplicación "Bouncing Ball Demo" que presenta de manera lúdica la utilización de los leds, el acelerómetro y la radio. En esta aplicación la fila de LEDs representa una tubería, donde los LEDs de los extremos se mantienen encendidos en rojo para indicar que funcionan como topes manteniendo la pelota dentro de la tubería. La pelota es representada por un LED encendido, en color azul o verde, y que se desplaza por la tubería en función de la medición de aceleración del eje X del acelerómetro. También la aplicación puede funcionar con dos SunSpots, en esta modalidad uno de los extremos de la tubería de cada dispositivo está abierto y la pelota puede pasar de un dispositivo a otro dependiendo de la inclinación que se aplique. Para más información sobre esta aplicación, revise el tutorial del sdk encontrado bajo la carpeta de instalación del sdk (\SunSPOT\sdk\doc\Tutorial\EctoplasmicBall.html). Revise la guía de instalación del software.

Ejes
Figura1. Ejes del acelerómetro en el SunSPOT.

Tarea.
Dado que esta aplicación ya implementa muchas de las cosas necesarias para esta tarea, usted deberá entender el funcionamiento de esta aplicación y modificarla para enviar la máxima aceleración medida por uno de los SunSPOT (nodo puño), y recibirla en otro de los SunSPOT (nodo despliegue), este ultimo debe representar dicho valor como un nivel utilizando los leds, luego dicha representación se resetea utilizando uno de los switches.

Nodo Puño:
Debe tomar mediciones de la aceleración en el eje X, detectar el máximo valor (sobre cierto umbral) en cierto periodo o en una cierta cantidad de muestras y transmitirlo al nodo despliegue

Nodo Despliegue:
Debe recibir la aceleración medida por el nodo puño y representar la magnitud de dicha medición mediante los leds, como si estos fuesen una barra, es decir a un valor bajo se prenden pocos leds, a un valor alto, se prenden artos leds, luego de un despliegue, los leds deben poder apagarse presionando uno de los botones para así estar preparado para tomar otra medición.

Diagrama
Figura 2. Funcionamiento


Considerar:


Forma de entrega.