viernes, 24 de mayo de 2013

Ultima entrega - Red ad hoc

Se simulo una red ha doc en 3D con matplotlib.

Para la creación de este código se trabajo con un compañero, dejando la estructura igual lo que cambiaba era la aplicación.

La idea

Este programa puede simular el aparecimiento de una enfermedad en un pais, donde los nodos intrusos es cuando una enfermedad aparece en una ciudad, y los nodos son los "hospitales" que se encuentran cercas y se comunican para pedir medicinas, por ejemplo.

Los Nodos

Para esta parte del código lo primero que se hizo fue poner nodos estáticos a manera de ejemplo, esto mas que nada para entender el como se trabajaba con 3D.

El código que nos ayudo para esta tarea lo pueden encontrar en la documentación.


Resultado de correr el ejemplo de la documentación.

Una vez entendiendo el comportamiento y el como se dibujaba se creo una clase que simulara el mismo comportamiento. Esto con el fin de estructurarlo y manipularlo mas sencillo.


Nota: El metodo crea_nodo_test() no esta funcionando en la version final, porque esta la usábamos cuando estábamos en la fase de pruebas. 

Uniones

Con los nodos ya establecidos teníamos que saber que nodos se comunicaban con que nodos, para ellos se definió un variable radio la cual simulaba el radio imaginario de cada nodo, si un nodo estaba dentro del rango dibujamos un linea que los uniera.




Nodo Intruso

Teniendo los nodos ya unidos y estáticos  ahora tenemos que crear un nodo intruso, el cual el objetivo de los sensores es detectarlo y mandar aun mensaje a sus vecinos.

El nodo intruso, aparece en diferentes lugares simulando que aparece una enfermedad en varias partes del mundo, o animales, etc.

La logica es sencilla, el intruso aparece y si esta dentro del radio(x,y,z) de un nodo, este alerta a sus vecinos.





En esta parte del codigo hacemos las llamadas a los metodos



Teniendo la base de la Red lo que sigue es enviar mensajes y estar actualizando los estados de los nodos.



CODIGO COMPLETO






VIDEO