Robótica para despliegue y auditoría de redes WiFi

David Meléndez Cano
Sept-2011

taiksonprojects.blogspot.com

Introducción
Las redes Wifi son más comunes cada día, tanto para empresas como para particulares. Por ello, este proyecto propone una forma más práctica de implementarlas y auditarlas, mediante el uso de robótica.

Objetivos del proyecto.
Este proyecto viene a solucionar problemas inherentes del uso de redes Wifi, así como ofrecer nuevas aplicaciones para este tipo de redes. • El problema omnipresente a la hora de desplegar redes inalámbricas en zonas extensas, ya sean metropolitanas, o de enlace de larga distancia, radica en el estudio de cobertura, potencia exigida y elección óptima de la ubicación de los nodos. La enorme capacidad de restaurar enlaces caídos, o de ampliar coberturas en zonas críticas, bien en caso de desastre, accidentes, o bien por alta demanda de uso en eventos multitudinarios (conciertos, p.e.), o que demanden más capacidad de servicio en un momento puntual. La capacidad para auditar redes, desde puntos físicos distantes, establecer estadísticas y estudios de densidad, viabilidad, y escalabilidad. Ofrecer gran valor añadido a otras tecnologías emergentes en este área, y que son compatibles con el hardware actual, como el proyecto Open 802.11s de Google, que pretende intercomunicar el uso de redes Wifi mediante uso del estándar 802.11s, una implementación de una red mallada, sin cambiar el hardware actual. Proyectos ya desplegados se pueden beneficiar enormemente de esta solución, como es el caso de redes distribuidas como Guifi.net, RedLibre.net etc.

• •

Solución propuesta

Mediante robótica, se propone usar vehículos operados bien remotamente, bien autónomos, cuyos núcleos sean dispositivos Wifi de uso común. El candidato óptimo para este caso es el uso de routers Wifi con capacidad para ejecutar distribuciones de Linux, ampliamente personalizables, permitiendo una enorme flexibilidad y potencia a la hora de implementar las aplicaciones a medida que se requieran para cada caso. Estos routers tienen la capacidad de interactuar con dispositivos físicos mediante sus puertos usb, serie, u otros puertos creados virtualmente, (p.e. I2c). Esta solución defiende el uso de routers como base robótica de alto nivel, ya que aportan gran potencia de proceso, un precio bajo, y soporte inalámbrico de serie. En definitiva, se trata de llevar un router rápidamente donde haga falta, alimentado de forma autónoma, para realizar tareas que de otra manera serían engorrosas, costosas, o directamente inviables, así como llevar el concepto de Wireless Mesh más allá de sus capacidades actuales.

Tipos de robots
Se proponen 3 principales tipos de robots para cubrir todas las necesidades, en cada caso. Estos robots han sido, o están siendo desarrollados en este proyecto.

Robot Rover terrestre:
El prototipo de este vehículo está explicado en el blog, su nombre es Texas Ranger, y se usará como elemento terrestre en esta propuesta. Hay una versión en inglés, sintentizada, en Texas Ranger en LetsMakeRobots Se trata de un ROV operado mediante un router Linksys, con capacidad para medir distancias mediante triangulación láser. Actualmente se encuentra completada su segunda revisión de desarrollo, y está prevista una tercera con mejoras mecánicas y de software.

Robot multicópero

Este prototipo en desarrollo, puede encontrarse en el mismo blog, y también en su entrada correspondiente de LetMakeRobots. Su nombre es Átropos y se trata de un cuadricóptero operado mediante un router Fonera. Actualmente se encuentra en su fase de pruebas de vuelo.

Robot sonda
Este robot se basa en el concepto de sonda meteorológica, impulsada con un globo de helio. La creciente popularización de tomas fotográficas de la estratosfera, mediante este tipo de sistemas como hobby, ofrece otras posibilidades, si lo adaptamos con Wifi. Reemplazando la electrónica de a bordo de la sonda, por un router, y adaptando la antena a una sectorial, como puede ser una de tipo biquad, apuntando hacia el suelo, se pueden obtener grandes áreas de cobertura inalámbrica, al mismo tiempo que gran fiabilidad. Como ventaja adicional, se propone equipar la sonda con un sistema de retro-hélice. Esto

permitiría frenar el ascenso, de forma controlada, y por tanto, prolongar considerablemente el tiempo que la sonda permanece en el aire, mejorando de forma notable, las soluciones comerciales que usan este mismo sistema. Actualmente este robot se encuentra en fase de análisis.

Sistema base común a todos los robots
El núcleo del sistema, como se ha indicado, consiste en un router Wifi, con capacidad para ejecutar Linux. En este caso se usa la distribución especializada OpenWRT Los routers propuestos varían entre varias marcas, si bien se usan soluciones de Linksys y de Fon, por disponer de múltiples puertos de comunicaciones, que los hacen muy indicados para aplicaciones robóticas. Un periférico bastante útil es la cámara IP. Conectada a uno de sus puertos LAN deja libres otros puertos que pueda usar, como usb, y nos provee de imágenes de una forma sencilla, mediante HTTP, sin sobrecargar el propio router. Si el router dispone de USB, podemos adaptar una unidad de almacenamiento para aumentar la capacidad del sistema, o bien cualquier otro dispositivo que el robot pueda portar. Esto puede multiplicar las posibilidades del sistema, pudiendo implementar logs y registros, o ampliar el número de aplicaciones instaladas. Una ampliación interesante es la de dotar de alimentación por paneles solares todo el sistema electrónico del robot, dejando a un lado los sistemas mecánicos. Esto nos permitiría seguir ofreciendo cobertura Wifi una vez el robot ha llegado a su destino, sin descargar sus baterías, esenciales para traer el robot de vuelta, una vez cumplido su cometido. Ampliaciones para localización y orientación, como GPS, magnetómetros, altímetros, etc, son fácilmente instalables a través de puertos serie, i2c, o similares.

Normalización del control y la telemetría
Al usar routers que permiten empotrar sistemas Linux, el sistema de control se realiza mediante servicios web. Cada router lleva un servidor http, que es usado para procesar tanto las órdenes del usuario, como traer de vuelta la telemetría de forma asíncrona.

Ilustración 1: Sistema de control y telemetría del Rover Texas Ranger, desde Firefox Esto se consigue usando el nuevo estándar HTML5 para: • • • Representar datos mediante gráficos, se usa el objeto canvas soportado por esta revisión de HTML. Enviar órdenes, se usa la conocida técnica de AJAX. Recibir datos, se usa la técnica conocida como COMET, o AJAX inverso.

Ventajas con respecto a otras soluciones
• Uso de estándares globalmente aceptados y usados. HTTP, javascript, y HTML. Esto lo hace fuertemente compatible con dispositivos muy dispares entre sí, o que compiten directamente entre ellos, como el caso de tablets, smartphones etc que usando sistemas diferentes, como el caso de Android o iPhone Capacidad para actualizar el firmware de los robots sin apagarlos, mediante múltiples métodos de trasferencia de ficheros entre dispositivos. FTP, WEB, carpetas compartidas, etc. No hay necesidad de usar proxies para liberar de carga los propios robots, ya que un router de potencia limitada, puede aceptar un ratio de peticiones web suficientemente rápido como para pilotar un multicópero, el escenario más exigente en estos casos. No hay necesidad de usar bootloaders para actualizar el firmware, ya que los pocos componentes programables externos al router, cumplen funciones muy genéricas que rara vez tienen que ser actualizadas. (P.e. Controladoras de servos). Capacidad de usar cualquier IDE de desarrollo con el que se sienta cómodo el desarrollador. Al usar un sistema Linux, pueden usarse gran variedad de lenguajes de programación, haciendo la curva de aprendizaje casi inexistente. Ejemplos clave pueden ser, C, C++, y lenguajes de script o interpretados, como Python, Perl, o cualquier otro intérprete disponible para Linux. Capacidad para usar aplicaciones auxiliares, que ayudarían a resolver problemas y demandas nuevas, de forma rápida. Disponiendo de acceso a Internet, podemos dotar a nuestro robot, de funcionalidades extra inmediatamente. Si por ejemplo se necesita que nuestro robot haga las funciones de proxy P2P, streaming de video, audio, servidor de acceso, o de bases de datos, podemos instalarlo como si de nuestro propio equipo se tratase, y disponer del servicio sin ni siquiera estar delante del robot. Bajo precio. Otras soluciones específicas ofrecen algunas de estas funcionalidades por precios muy superiores. En esta solución se propone usar un hardware de uso común pero potente al mismo tiempo. Todas la capacidades inherentes a un sistema Wifi completo. Cada robot puede adoptar cualquier papel que sea necesario en cada caso: 1. Repetidor de señal 2. Puntos de acceso múltiples, con diferentes niveles de acceso. 3. Clientes 4. Sistemas distribuidos WDS 5. Sistemas emergentes como el estándar 802.11s para red mallada

Caso de uso
A continuación se presenta el caso de uso más típico que nos podemos encontrar. Póngase aun área metropolitana, con multitud de obstáculos físicos. Esta situación puede extrapolarse a cualquier escenario donde la orografía del terreno sea un factor determinante. Pueden verse las distintas zonas de cobertura para cada robot. Evidentemente a más cobertura, la continuidad del servicio requiere de medios más sofisticados. • • • Área Verde: Proporcionada por los equipos terrestres. Área Roja: Proporcionada por vehículos UAV como multicópteros en azoteas, colinas u otras posiciones elevadas. Incluye el área verde. Área Azul: Proporcionada por sondas de gran altitud. Su disponibilidad es más limitada, pero su cobertura es prácticamente total. Incluye área roja, y verde.

Ilustración 2: Mapa de cobertura inalámbrica según el robot utilizado

La cobertura se complementa, ya que cada robot extiende la de su compañero, según configuraciones. Cualquiera de los robots puede tener la conectividad a la estación base, que es la que proporciona los servicios demandados.

Sign up to vote on this title
UsefulNot useful