====== Manejador de Redes Inalámbricas inteligente y programable ====== ===== Integrantes ===== * Aarón Sibaja Villalobos, B56891 * Andrés Alberto Vargas Salguero, B06670 ===== Importancia del proyecto ===== Con el paso del tiempo y con la introducción de nuevas tecnologías de comunicación, nos encontramos en un mundo donde las redes juegan un papel casi que vital dentro del desarrollo de nuestras vidas. Cada día son más las personas que necesitan de alguna red para poder realizar ciertas actividades; desde realizar efectivamente trabajos hasta la comunicación con otras personas. La mayoría del tiempo las personas recuren a conexiónes inalambricas por su conveniencia, comodidad y fácil acceso. Sin embargo, cada persona tiene sus gustos y prioridades al respecto, que muchas veces depender de las actividades que necesiten llevar a cabo. Algunos prefieren la estabilidad de conexión cualquier cosa. Otras pesonas no consideran importante sacrificar este apartado, siempre y cuando se cuente con velocidades máximas de carga y descarga. También encontramos algunos que utilizan ciertos servicios de voz o streaming y requieren conexiones con baja latencia. Normalmente los manejadores de redes disponibles para los sistemas operativos vienen con estos paramentros de conexión establecidos por defecto por el desarrollador. Teniendo esto en cuenta, es de esperarse que las preferencias de los usuarios no sean atendidas de una manera completa, ya que lo que es primordial para algunos, no necesariamente lo será para otros. Justamente sobre este problema es que se está planteando la confección de un gestor de redes inalámbricas que sea flexible y programable para que cada usuario pueda ajustar según lo que desea o necesite. Que sea posible establecer listas de prioridades y que estas se diagnostiquen constantemente para brindarle la mejor experiencia de anejo de redes que sea posible. ===== Metodología final de desarrollo ===== {{https://raw.githubusercontent.com/asvaaron/NetworkManager/master/metodologia.png}} ===== Módulos ===== ==== Variables de red tomadas en cuenta ==== * SSIDs (Service Set Identifier) * Intensidad de señal (dBm) * Velocidad de Descarga * Velocidad de Carga ==== Demonio 1 ==== * Escanea redes en alcance * Extrae SSID e intensidad de señal * Toma sólo redes abiertas * Calcula velocidades de Internet * Guarda datos recolectados ==== Demonio 2 ==== * Recibe datos del Demonio 1 * Almacena en archivo.yml * Facil escritura y lectura mediante YAML ==== Función de pesos ==== * Asigna en un archivo pesos.yml el peso que tiene cada variable para el usuario * Escala de 1 a 5 * Lee el archivo.yml del Demonio 2 y promedia datos * Calcula la red más "óptima" para el usuario ===== Documentación Oficial ===== Enlace repositorio GitHub: [[https://github.com/asvaaron/NetworkManager|Repositorio GitHub]] Documento Final en PDF: {{:teaching:ie0117:proyectos2_2016_i:manejador-de-redes.pdf|Documento Final}}