jueves, 28 de febrero de 2013

Detección de diagonales

Identificar líneas diagonales y/o de ángulo arbitrario


Para esta entrada lo primero que se hizo fue corregir el código de detección de líneas para usar "arctang", una vez teniendo esto también se corrigieron algunas condiciones para poder encontrar los ángulos en todas las direcciones.
Algunos ejemplos del resultado, donde el lado izquierdo es la imagen original y el derecho es la imagen que dio como resultado el programa.
Las líneas rojas son diagonales, las verdes son verticales y las azules son horizontales:





El código es:


Otro ejemplo:



Liga al repositorio

Referencias

Diapositivas de la clase
Transformada de Hough

martes, 26 de febrero de 2013

QoS Routing in Wireless Mesh Networks with Cognitive Radios

El articulo trata sobre el análisis de QoS de una conexión de malla inalámbrica con radios cognitivos, lo que implica que se tenga que seleccionar una ruta y canal de distribución y programación. Esto es un problema difícil de resolver por la interferencia y la heterogeneidad. En este documento se presenta una aplicación distribuida con un protocolo de enrutamiento que puede seleccionar una ruta y asignar recursos para una solicitud de conexión para así satisfacer su ancho de banda de extremo a extremo. Con NS2 se muestran los resultados de la simulación.

La radio cognitiva es un paradigma de comunicaciones inalámbricas  en donde las redes que tienen los mismos nodos inalámbricos pueden cambiar los parámetros particulares de transmisión o de recepción para poder ejecutar su cometido de manera eficiente sin llegar a interferir con los usuarios autorizados.

http://eastaiza.wordpress.com/2011/07/28/7/
El ancho de banda es un parámetro básico de QoS y el foco de este artículo. Una solicitud de conexión QoS debe ser admitida si existe un camino con ancho de banda requerido. De lo contrario, deben ser rechazados. Un ancho de banda garantizado en la ruta de acceso en una red cableada puede ser fácilmente obtenido simplemente haciendo caso omiso de esos enlaces sin suficiente ancho de banda y la aplicación de un algoritmo de la ruta más corta en la red residual. Pero el enrutamiento en una red inalámbrica multisalto es mucho más difícil debido al impacto de la interferencia. Las comunicaciones entre un par de nodos puede consumir todo el ancho de banda. El ancho de banda disponible en cada enlace de nodo / está relacionada a interferencias causadas por sus vecinos dentro de la interferencia
 de rango. La radio cognitiva en el que se espera un gran volumen de tráfico para ser entregado, es capaz de utilizar espectros más eficientemente, por lo tanto, mejorar la capacidad de la red de manera significativa.
http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=4698708
En este trabajo se estudia el problema de enrutamiento QoS en WMN con radios cognitivas, lo que implica no sólo la selección de rutas sino también la asignación de canal y la programación. Aquí se presentan un protocolo distribuido de enrutamiento que es capaz de seleccionar una ruta y asignar canales y ranuras de tiempo para una petición de conexión para satisfacer su extremo-a-extremo requisito de ancho de banda. La eficiencia del protocolo que se propone se justifica por NS2.
Al parecer este es el primer articulo en el que se estudio QoS de redes en el contexto de las redes de malla inalámbricas con radios cognitivas.

Se considera un modelo de tráfico dinámico en el que las peticiones de conexión  llegan aleatoriamente. Cada solicitud de conexión tiene un requisito de ancho de banda B. Cuando una nueva solicitud de conexión llega, se tiene que encontrar un camino para el enrutamiento y reservar recursos (bloques de transmisión) a lo largo de la ruta de acceso para satisfacer su requisito de ancho de banda. Se supone que una conexión siempre usa una única ruta de acceso para la entrega de paquetes, es decir, no se permite dividir el tráfico.

Hay dos tipos de argumentos potenciales asociados con una ruta de acceso: contención interflujo y contención IntraFlow. Contención interflujo es causada ​​por la interferencia entre un enlace seleccionado para la nueva solicitud de conexión y otro enlace utilizado para un flujo existente. IntraFlow es causado ​​por la interferencia entre dos enlaces diferentes seleccionados para la nueva solicitud de conexión.

http://www.sciencedirect.com/science/article/pii/S0020025512003192

Para asignar los bloques de transmisión, cada nodo tiene la necesidad de seguir la pista de alguna información necesaria de todos los otros nodos de su vecindad interferencia, tales
como la disponibilidad de canales y el estado de bloque de transmisión en este protocolo, cada nodo transmitirá esta información a sus vecinos de dos saltos sobre el control común utilizando el control
la radio cada vez que hay algún cambio. Hay que tener en cuenta el canal de control común puede soportar una transmisión de gran rango. Por lo tanto, cada nodo puede obtener esta información de todos los nodos que potencialmente puede interferir con él.

Referencias

QoS Routing in Wireless Mesh Networks with Cognitive Radios



Experimentos de QoS

Para esta tarea yo elegí usar Ustream.tv en Infinitum WIFI y Ethernet y TvCable.


La primera prueba que hice es la de ancho de banda, para saber el ancho de banda utilice la herramienta "iperf" que permite obtener estadísticas en tiempo real, para esto utilice un python que me ayudara a determinarlo cada cierto tiempo.


El código es el siguiente:



Y así es posible ver de una manera más automatizada el ancho de banda.

Los siguiente es obtener la latencia, para esto use ping y también con un python extraje los datos necesarios, la latencia es la suma de los retardos temporales, también obtuve el jitter que es la variación en el tiempo de que los paquetes llegan. Y el ultimo fue el de la perdida de paquetes de esto saque un porcentaje también con ping. este es un problema bastante común. Este es el código que me ayuda a obtener las cifras:




Ethernet de infinitum

Para poder medir bien estas características  lo que hice es una gráfica que me ayuda a ver rápidamente si la característica esta dentro del rango permitido y que no haya daños en la comunicación. Como dice en la entrada de laboratorio el rango permitido de latencia es de 250 ms, cuando se pasa ese umbral la comunicación se vuelve molesta. Y para el jitter debiera ser ser menor a 100 ms. Si el valor es inferior a 100 ms el jitter puede ser compensado de manera apropiada. De otra manera debe ser minimizado.
Aquí una gráfica que muestra el umbral con lineas rectas y los valores obtenidos:



Vemos que en este caso la latencia siempre esta correcta, pero el jitter si esta arriba de lo que debería. De los paquetes no hay gráfica ya que no hay ninguna perdida de estos.
Hice una prueba más. en la que ahora si se muestra todo en orden:


Wifi Infinitum

Para esta prueba son las mismas consideraciones que la pasada, en cuanto a valores permitidos de latencia y jitter.



Aquí podemos ver que también el tiempo de latencia esta correcto, sin embargo en jitter hay un error ahí que hacer que se deteriore la comunicación, pudiera ser congestión de red, la perdida de sincronización o por diferentes rutas seguidas por los paquetes al destino.
En esta otra prueba, podemos ver que hay aun mas errores en la comunicación:




WiFi TvCable

Al estar probando con este internet, me di cuenta que los resyltados son muy parecidos a los de ethernet de Infinitum, aquí una gráfica:




Podemos ver que es mejor usar el ethernet o el internet de TvCable ya que ofrece una comunicación con más calidad a la hora de usar el servicio de USTREAM. En comparación ethernet de Infinitum con TvCable parece ser que Infinitum es inferior.

Refrencias

Ping


Detección de lineas

"Ahora agreguen a lo que tiene cada quien (aún sin andar googleando y sin usar librerías para visión) una rutina que detecta todas las líneas rectas horizontales y verticales."

Imágenes de entrada(izquierda) y sus salidas(derecha)






"Las líneas detectadas se marcan con tonos de rojo fuerte. Un tono para las horizontales y otro tono para verticales.
El programa imprime un listado que indica para las dos orientaciones la cantidad de pixeles pertenecientes líneas de esa orientación."




Código:



Retroalimentación de proyectos

En la clase de Cómputo Ubicuo de 19 de febrero todos los equipos expusieron el estudio de campo, en el que la mayoría hizo entrevistas y/o encuestas para obtener información sobre los usuarios potenciales de los productos que se están desarrollando así como sugerencias para su mismo producto.
La tarea para esta semana es dar una pequeña retroalimentación o critica constructiva en cuanto al producto que desarrollan y al estudio de campo que hicieron.

Alarma inteligente para auto

Liga a la presentación.

Las primeras observaciones es a las encuestas que hicieron ya que los formularios a llenar cuentan con campos que son de respuesta como si o no sin embargo es posible seleccionar los dos al mismo tiempo, creo que hay que tener cuidado con ese tipo de cosas, también por ejemplo hay un campo para texto en el que se debe de escribir una u otra palabra, yo eso lo haría con una lista desplegable para poder después analizar mejor los gráficos generados automáticamente  ya que si el usuario se equivoca no se tomara en cuenta su opinión o solo generara ruido.

Creo que hubiera sido de ayuda preguntar el precio que están dispuestos a pagar por un producto así, para poder adaptarse a el al momento de hacer el primer prototipo.
Mi sugerencia para este proyecto sería que usen el dispositivo móvil como un botón de pánico  que al momento de que el auto ha sido abierto sin permiso mande directamente una señal a la app de celular, y después se mande automáticamente una notificación a alguna estación de policías.
Y también sería tener como una especie de sistema en la red que usa todas las alarmas que están siendo usadas para poder disponer de estadísticas de robo de autos en cada zona.

http://www.zocalo.com.mx/seccion/articulo/se-dispara-robo-de-autos-estadisticas-se-vuelven-alarmantes


Seguridad en la computadora

Liga

Creo que en este estudio de campo faltaron muchas preguntas interesantes por hacer, como por ejemplo preguntarle al usuario si le parece molesto introducir contraseñas a la hora de desbloquear el equipo, y en la parte de entretenimiento también preguntar los tipos de servicios automáticos que serian del agrado del cliente, o preguntar si ellos creen que este software es en realidad necesario o que tan necesario. También preguntar si a alguien le ha pasado que usen su computadora sin permiso.

Otra cosa interesante aquí es saber como es que quieren identificar al usuario, si sera vía la cámara por la detección de rostro, o por el ritmo de tecleo, etc. Yo propongo que utilicen una red neuronal para que la computadora aprenda los modos de cada usuario.

En general creo que es una muy buena idea y bastante necesaria actualmente, ya que conozco mucha gente que ha sufrido de bromas en sus redes sociales cuando algún amigo le escribe alguna frase malintencionada.

Rastreo por GPS

Liga a la presentación

En este proyecto creo que es obvio que se enfoca a los niños y mascotas el uso del dispositivo, y creo que debería de decidirse de una vez por cual de los dos se enfocaran, ya que el diseño de mascotas debe de ser muy diferente a algo que usaran personas así como saber si sera un brazalete o un collar, creo que eso depende bastante de quien lo usara.
En estas encuestas se pudo haber obtenido el dato de si se quiere usar en mascota o en niños, y así habríamos sabido de una vez para quien se debe desarrollar el producto. Otra cosa que creo que falto es preguntar en caso de usarlo en niños, a las mamas si ellas usarían el producto.

Creo que cuando es para un niño seria bueno incluir una especie de botón de modo que el niño no tenga que esperar a que la madre se de cuenta que esta perdido, si no que sea capaz de mandar alguna señal y así la mama podría ver en donde esta su hijo e ir por el.
También seria bueno que contara con un código para apagado ya que si el niño es robado es posible que el ladrón quiera apagar el dispositivo, lo cual seria muy fácil pero con un clave de apagar es más complicado aunque no imposible seria bueno pensar una buena manera.

Galería inteligente

Liga a la presentación

En este estudio de campo me parece que falto preguntar si usarían su dispositivo móvil y la plataforma que este tiene así como si debería usar wifi o que tipo de conexión. También creo que sera interesante preguntarle al usuario si alguna vez a visto una galería inteligente ya que pude ser que no sepan ni de lo que se esta hablando. Y si no sabe mostrarle ejemplo de galerías inteligentes ya existentes en otros museos.

Otra observación seria preguntar en donde les gustaría ver este tipo de galerías inteligentes, en que lugares les parece más necesario y preguntar si es en verdad de utilidad tener algo así.

Casa inteligente

Liga a la presentación

Aquí creo que deberían de poder hacer preguntas más precisas en la encuesta, por ejemplo que hicieran preguntas directas del producto que se va a desarrollar, podrían enfocarse en el sistema para mantener seguras las puertas y ventanas, o alguna cosa especifica.

Creo que la edad de los encuestados no es la adecuada para alguien que tiene la necesidad de alarmas, yo creo que mas bien debió ser algo como entre 30-60 años, ya que por lo general de 20-30 años muchas personas aun no viven solas.


Pero me parece muy buena y original la idea del simulador de presencia que eso si podría espantar a los ladrones.

Auto con NFC

Liga a la presentación

En este estudio creo que el rango de edad también esta un poquito movido debería de ser de 20-50 mas o menos y no para el que ellos señalan ya que esta muy limitado.
En la encuesta pienso que falto agregar si cuentan con dispositivo móvil y el sistema operativo con el que este cuenta, además de preguntar si el carro que usa es compartido o es solo para una persona, y si las demás personas que usan el carro están dispuestas a aprender a usar la tecnología.

Creo también que seria buena idea que traten de enfocarse en cumplir con un objetivo del producto y no empiecen a agregar cosas que no son relevantes para así poder terminar el objetivo a tiempo. Falto también preguntar cuanto más esta dispuesto a pagar por este servicio.

Garage inteligente

Liga a la presentación

Me parece un proyecto muy interesante pero falto en el estudio de campo especificar la edad del publico al que va dirigido. Creo que falto preguntar también el precio que están dispuestos  apagar por esta tecnología así como preguntar si les gustaría integrarlo con algún otro servicio como abrir la puerta de la casa etc.
Creo que se podría hacer una aplicación para smartphone web que pueda integrarse con todo el sistema del garage.

Pienso que el proyecto podría ampliarse si se empiezan a hacer algunas otras cosas como por ejemplo prender los focos, o regar plantas, creo que seria lo mismo pero con una pequeña variación sin embargo podría dar mucha satisfacción al usuario.

lunes, 25 de febrero de 2013

Medición de QoS

Calidad de servicio (QoS) es la capacidad de transmitir en buenas condiciones un tipo de tráfico dado, en términos de disponibilidad, rendimiento, retardo de transmisión, la fluctuación, la tasa de pérdida de paquetes, etc.

La calidad de servicio es un concepto de gestión que se ha diseñado para optimizar los recursos de red (Sistema de Gestión de la Información) o un proceso (logística) y asegurar un buen rendimiento para aplicaciones. La calidad del servicio ofrece velocidades de los usuarios y los tiempos de respuesta siguiendo los protocolos implementados en la estructura.
Permite a los proveedores de servicios de redes participar formalmente con sus clientes sobre las características de transporte de datos en sus infraestructuras IP.

La calidad del servicio es un concepto subjetivo. Dependiendo del tipo de servicio propuesto, la calidad puede residir en la velocidad (descarga o transmisión de vídeo), tiempo (para las aplicaciones interactivas y de telefonía), disponibilidad (acceso a un servicio compartido) o la tasa de pérdida paquete (sin pérdida de influencia de voz o de vídeo, pero fundamental para la descarga).

Características

En una red, la información se transmite en forma de paquetes, pequeños elementos de transmisión de router a router hasta el destino. Todos los tratamientos por lo tanto operarán en estos paquetes.
Aplicación de la calidad de servicio requiere primero el reconocimiento de los diferentes servicios. Esto puede basarse en muchos criterios:

  • La fuente y el destino del paquete.
  • El protocolo utilizado (TCP / UDP / ICMP / etc.)
  • Los puertos de origen y de destino en el caso de TCP y UDP.
  • La fecha y la hora.
  • Congestión de la red.
  • La validez de encaminamiento.
  • Ancho de banda consumido.
  • La latencia.
Basándose en estos criterios, diferentes estrategias se pueden aplicar para garantizar una buena calidad, los parámetros clave para medir la calidad en el servicio de vídeos como Ustream son los siguientes:

Latencia

La latencia es también llamada retardo. Es un problema general de las redes de telecomunicación. Un ejemplo en los enlaces vía satélite la latencia es muy elevada por las distancias que debe recorrer la información. La latencia en VoIP se define como el tiempo que un paquete tarda en llegar desde la fuente al destino.
La latencia entre la fuente y el destino final de la comunicación debe ser inferior a 150ms. El oído humano es capaz de detectar latencias de 250 ms, cuando se pasa ese umbral la comunicación se vuelve molesta.
Cuando el problema de la latencia está en nuestra propia red se puede aumentar el ancho de banda o velocidad del enlace o dar cierta prioridad a esos paquetes dentro de nuestra red.

http://www.ravica.com/blog/netflow-probes/latency-using-netflow-from-the-nprobe-part-2-2/
Jitter

Jitter pasa en las redes de datos no orientadas a conexión y basadas en conmutación de paquetes. La información es discretizada en paquetes y cada paquete puede seguir una ruta diferente para poder llegar a su destino.
El jitter es definido como la variación en el tiempo de que los paquetes llegan, que es causada por congestión de red, la perdida de sincronización o por diferentes rutas seguidas por los paquetes al destino.
http://www.sciencedirect.com/science/article/pii/S1084804509000964
Las comunicaciones que son en tiempo real (como VoIP) son muy sensibles a este efecto. Es un problema muy frecuente en enlaces lentos y/o congestionados. Se cree que el aumento de mecanismos de QoS (calidad del servicio) como dar prioridad en las colas, la reserva de ancho de banda o los enlaces de mayor velocidad como por ejemplo 100Mb Ethernet, reducen los problemas del jitter en el futuro aunque este seguirá siendo un problema por bastante tiempo.
El jitter debiera ser ser menor a 100 ms. Si el valor es inferior a 100 ms el jitter puede ser compensado de manera apropiada. De otra manera debe ser minimizado.
Una solución ampliamente usada es la utilización del jitter buffer. El jitter buffer es básicamente asignar un pequeño almacén para recibir los paquetes y servirlos con un pequeño retraso. Si hay alguno paquete que no está en el buffer se descarta. Un aumento del buffer significa menos perdida de paquetes pero más retraso. Y una disminución significa menos retardo pero más perdida de paquetes.

Pérdida de paquetes

Las comunicaciones que son en tiempo real se basan en el protocolo UDP. Este protocolo no se orienta en conexión y cuando hay una pérdida de paquetes no son reenviados. La perdida de paquetes también puede ser producida por descartar paquetes que no llegan a tiempo al destino.
Pero la voz es predictiva y cuando se pierden paquetes aislados es posible recomponer la voz de una manera óptima. El problema es grande cuando hay pérdidas de paquetes en cadena.

http://giservices-la.com/perdida-de-paquetes/

El valor máximo de perdida de paquetes que se admite deber ser menor al 1% para que la comunicación no se vea afectada.
Una manera de evitar la perdida de paquetes de sonido es no transmitir los silencios.
Este problema esta relacionado con el jitter y el jitter buffer.

Ancho de banda

El ancho de banda de las comunicaciones es limitado y casi siempre esta compartido por muchas aplicaciones (correo electrónico, web, tráfico FTP, descarga de archivos, etc.).
El ancho de banda se puede definir como la cantidad de datos que es posible enviar a través de una conexión de red en un período de tiempo dado. El ancho de banda se mide en bites por segundo (BPS), kilo-bites por segundo (kbps), o mega-bites por segundo (mps).

http://interactivelectronic.wordpress.com/2011/01/16/ancho-de-banda/
Si se tienen problemas de ancho de banda es posible abordar el problema desde varios frentes como: Aumentar el ancho de banda esto normalmente se hace pagando más por el servicio y reducir el consumo de otras aplicaciones del internet.


Referencias

QoS
Calidad de servicios

jueves, 21 de febrero de 2013

String matching

Programa
  • "Program: Implement both BM and KMP in Python"
He implementado dos algoritmos en Python para poder encontrar un patron de caracteres en una cadena.
El primero que hice es el de KMP, para comenzar a hacer este algoritmo lo primero que hay que hacer es una tabla de fallos, esta tabla consiste en no permitir que se examine T (el texto) más de una vez. Esto se puede hacer si se compara un fragmento de la cadena donde se busca con un fragmento de la cadena que se busca, y esto nos da un sitio potencial para que haya una nueva coincidencia.
Ejemplos de Textos y su tabla de fallo:

La palabra a buscar es ANA
La tabla de fallos es [-1, 0, 0]

La palabra a buscar es BCABCBABCABC
La tabla de fallos es [-1, 0, 0, 0, 1, 2, 1, 0, 1, 2, 3, 4]

Después en el algoritmo de KMP teniendo esta tabla cada ves que se examinan las cadenas entre si se usa la tabla de fallos para hacer saltos cuando se localiza un fallo.
Este es el algoritmo que implementé:


Algunas ejecuciones:


Después implemente el algoritmo de Boyer-Moore que el objetivo es el mismo pero lo hace de manera distinta primero procesa la cadena objetivo que esta siendo buscada, generalmente este algoritmo es más rápido mientras la cadena sea más grande.
El código con comentarios:


Este es un ejemplo:



  • Design, document, and analyze an experiment to determine the worst-case time complexities of the two.
Para esta parte he creado palabras y textos de diferentes tamaños en python para poder analizar como se comporta el algoritmo, genero dos archivos uno que se llama bm.dat y otro que se llama kmp.dat, cada uno tiene en la primera columna la longitud del texto, el la segunda columna la longitud del patron y por último el tiempo de ejecución, este es el código:



Podemos ver que el algoritmo Boyer-Moore tiene un mejor tiempo cuando las cadenas son más largas, Boyer-Moore es más rápido ya que compara las palabras de derecha a izquierda, y tan pronto como se encuentra una carta en el texto que no está presente en el patrón de búsqueda se mueve, lugares m adelante, por lo que para archivos de gran tamaño, es de esperar que muchos de estos movimientos estarían allí por lo que una gran cantidad de caracteres de texto no será accesible ni una sola vez a diferencia de KMP donde se accede a cada letra al menos una vez.
Y en número de comparaciones se ve algo así:
Podemos notar que el Boyer-Moore es más eficiente que el KMP ya que hace mucho menor número de comparaciones. El promedio del KMP es de O(n+m)El algoritmo Boyer-More cuenta con un promedio de tiempo de ejecución de O(nlog(m/n)) (en el mejor caso), en el peor caso es de O(m*n).
Para los experimientos se hicieron 30 repeticiones.

Referencias

KMP
BM

Convex hull

Lo primero que hay que tener en cuenta para poder realizar la tarea son los conceptos de cóncavo y convexo.
Cuando vemos la línea de la circunferencia desde el interior de la misma se trata de una curva cóncava, lo que se ve desde el exterior es una curva convexa.

http://prendetuneurona.blogspot.mx/2010/04/formulario-de-poligonos.html
El algoritmo que utilicé se llama jarvis, o también se le llama envoltura de regalo, ya que lo que hace es tomar un polígono cóncavo y envolverlo para hacerlo convexo.
El algoritmo de jarvis es un algoritmo que "envuelve" un conjunto de puntos en un "papel de regalo", empieza y termina en el mismo punto.
Así funciona el algoritmo:
  • Teniendo un conjunto de puntos S, se agarra el putno P que tiene menor ordenada y mayor abscisa se traza una recta r que pasa por P y que sea paralela a las abscisa.
  • Para cada punto de S se trazan lineas que los unan con P. El siguiente vértice del cierre convexo es el punto Q que forma el mínimo ángulo respecto a la recta r pasada.
  • Si Q no es el punto inicial, se repite dos veces tomando P=Q y r como la recta formada por P y Q.
La idea básica del algoritmo consiste en pensar en una recta que esta siendo desplaza desde menos infinito hacia arriba hasta que toque un punto del conjunto de puntos. Después, la recta va redondeando la nube de puntos del lado positivo, gira en cada vértice hasta que toque el siguiente, de modo que al último la envuelve por completo.

Estos son algunos pequeños ejemplo de mi implementación con su tiempo de ejecución promediado de 30 repeticiones:

Tiempo de ejecución: 2.75483306198


Tiempo de ejecución: 1.9832565532

Código

Donde se manda llamar al método de convex hull:




Algoritmo:



Otro ejemplo

Tiempo de ejecución: 2.704533443
Código completo:


Repositorio

lunes, 18 de febrero de 2013

Mapa de coberturas

La tarea es hacer un mapa de coberturas WiFi de alguna ubicación yo elegí hacerlo de mi casa, para esto es necesario tener las ubicaciones aunque sean aproximadas y la potencia de las señales. Para esto lo que hago es usar el comando que acabo de usar en mi entrada pasada de iwlist y con esto puedo ver todas las redes cercanas a mi computadora y la potencia que percibe mi computadora de las mismas.

El comando iwlist mostrará información de las redes inalámbricas que la tarjeta detecta. La distintas redes que se detectan pueden variar. El airodump (también se uso en la entrada pasada) en modo monitor puede hacer un barrido en tiempo real de las redes próximas. También graba en un archivo de todas las detecciones aunque solamente haya sido en un momento especifico, de esta manera se puede saber si se necesita colocar una antena para recibir con mayor calidad y señal posible redes a analizar.


Con esto ya tengo por lo menos los nombres de las redes más cercanas y así puedo con mi celular ir buscando cual red corresponde a que ubicación, esto con ayuda del GPS del celular y usando una aplicación. Lo que hice es caminar e ir identificando mas o menos en que área es donde se percibía la señal más alta de cada red teniendo esto marco en el mapa el punto donde se ubican las redes y así para cada una de ellas.
Estas son algunas capturas de pantalla que hice mientras me iba moviendo por la zona:

        


Aquí una aplicación que también trata de mostrar las redes que están cercanas a mi.



Una vez habiendo recolectado los datos de las redes, es hora de dibujar las redes en google maps esto lo hice con javascript y un ejemplo que subió la Doctora Elisa, dibujando la posición aproximada del router con un punto y la cobertura con el color transparente, el color transparente depende de los datos obtenidos con el comando iwlist específicamente del que señala la potencia de la red.


La red que se percibe con mayor intensidad es la de color azul, es la que muestra menor opacidad, las que son de color amarillo, rojo y naranja se perciben con la misma potencia es por eso que tienen la misma opacidad y la red de color verde es la menos intensa por lo tanto la más transparente.


Para la aproximación de los puntos se utilizó la aplicación OpenSignal para Android.

Técnicas de diseño conceptual

El objetivo de esta entrada es un reporte en el que se hable acerca de las técnicas que se usan para recabar información, estudiar el contexto, definir a los usuarios y los objetivos cuando se realiza un producto, enfocándose al contexto.

Diseño conceptual

Es la abstracción de hechos reales de los cuales es posible tener un concepto o emitir una idea de ello. Para hacer esto en la informática se necesita tener los requerimientos de los usuarios.
Es una etapa muy importante a la hora de planear y construir un servicio, implica el poder conocer a los usuarios, sus necesidades y características principales, es por eso que en  esta etapa es necesario aplicar técnicas que permitan conocer todo a cerca de los usuarios como el entorno y la forma en que trabajan y así poder tener un producto que pueda realmente ayudar al usuario de acuerdo a sus requerimientos.

Métodos de observación

Los métodos de observación implican que un investigador visualice a los usuarios mientras trabajan en un estudio de campo, y tome notas sobre las actividades que llevan a cabo. La observación puede ser directa, donde el investigador está realmente presente durante la tarea, o indirecta, en donde la tarea es vista por algunos otros medios tales como a través del uso de cámaras que graben. El método es útil para la especificación de requisitos del usuario y para la obtención de los datos cualitativos.

Beneficios de la observación

Permite ver lo que los usuarios realmente hacen en su contexto. La observación directa permite al investigador centrar la atención en áreas específicas de interés. Y la observación indirecta captura la actividad que de otro modo habría ido sin grabar o inadvertida.


La observación puede ser molesta para los usuarios prueba provocando que  modifiquen su comportamiento, debido a la presencia de un observador. Es muy importante que los usuarios cooperen, por lo que los investigadores deben ser inteligentes a la hora de hacer estos estudios. Las notas y cintas de vídeo deben ser analizados por el tomador de notas, para que así se pueda analizar más fácilmente lo ya sucedido.

Pruebas de usuarios con un prototipo de baja fidelidad

Alternativamente, se puede esperar a que un diseño inicial sea creado y tener prototipo de papel simple para probarlo con un grupo de usuarios. Entonces es posible modificar el diseño para solucionar los problemas de usabilidad que se hayan visto en las pruebas.

Aquí es posible aun hacer grandes cambios en la arquitectura de interfaz de usuario, mover las cosas, rediseñar las características, e incluso eliminar características que resultan inútiles o demasiado confusas. Se podría introducir algunas nuevas características del sistema, ya que el sistema aun no comienza a ser codificado.


Es 100 veces más caro hacer un cambio después de que un sistema se ha aplicado plenamente que para realizar el mismo cambio en el proceso de diseño cuando el sistema es sólo un conjunto de dibujos.

Escenarios

La finalidad de los escenarios identificar que los objetivos de los usuarios correspondan con la funcionalidad que el sistema ofrecerá  Cada uno de estos objetivos debe ser debidamente analizado para identificar una lista completa de tareas que se tienen que realizar para alcanzarlo.
Las tareas pueden ser puntuadas del 1 al 5 en tres rubros para saber como deben ser tomadas en cuenta.
  • Importancia: la importancia de la tarea para realizar el objetivo.
  • Dificultad de implementación: el nivel de dificultad nos va ayudar a saber el tiempo y esfuerzo que se necesita para implementarlo en el sistema.
  • Frecuencia: la frecuencia con que se utiliza esa tarea o acción para ponerlo en el sistema.
Tipos de escenarios
  • Los de uso diario: es lo que los usuarios hacen la mayoría del tiempo, en torno a este se desarrolla el producto.
  • Los de uso periódico: son los que cumplen con algún objetivo del usuario en un momento dado pero su uso es esporádico.
  • Los de uso necesario: son para necesidades de la aplicación y no del usuario, como por ejemplo las pantallas de configuración. 


Perfil de usuario

Los Perfiles de Usuario muestran las características principales de los usuarios previstos del sistema y se detallan aspectos relevantes en un estudio de usuarios. De esta manera, se obtienen los requisitos en lo que puede resultar mas útil para el diseño de un sistema con la usabilidad adecuada.

Los Perfiles de Usuario son muy importantes en cualquier proyecto, y son fundamentales en procesos centrados en el usuario, su resultado sera el punto de partida para las otras actividades de usabilidad que sean aplicadas en la elaboración del sistema.

Encuestas y Cuestionarios

Son métodos que revelan información de la satisfacción del usuario. Son métodos indirectos de estudio de la usabilidad porque proporcionan a los desarrolladores las opiniones del usuario.
Son útiles para todos los proyectos en la etapa de análisis para analizar los requisitos, y en la evaluación del sistema mismo. Aunque hay un costo y esfuerzo de análisis de resultados, es posible detectar importantes problemas de usabilidad.

El cuestionario consiste en una lista de preguntas para el usuario. Se obtiene información de un gran número de usuarios. Pueden ser hechos en papel, por correo, o directamente con el software. Por otro lado las entrevistas se hacen en persona.

Una entrevista es una conversación de uno o varios usuarios reales o potenciales del sistema en el que se trabaja con un desarrollador o algún miembro del equipo que trabaja en el software.
Hay entrevistas estructuradas o abiertas, y cuestionarios de preguntas abiertas, escaladas, múltiples, ordenadas.

El siguiente vídeo muestra técnicas y etapas para el diseño conceptual.



Y este prezi también muestra técnicas y fases:


Referencias