Pasarela IoT de Telefónica Globalrider

julio 19, 2016 on 3:38 pm | In análisis de datos, globalrider, m2m, iot | 5 Comments

Adolfo García Yagüe | Afrontar el desarrollo y fabricación -en menos de 4 meses- de un dispositivo IoT en el que se integran 20 sensores es un pequeño reto. Si a este desafío añadimos la necesidad de que este elemento satisfaga los exigentes requerimientos que supone dar una vuelta al mundo sobre una moto de trail, rozamos la proeza. En este artículo queremos compartir con vosotros las claves de diseño que han hecho posible la conexión de la moto de Hugo Scagnetti.

Potencia y capacidad de proceso
Ante el reto de Telefónica Globalrider, el primer paso fue seleccionar un núcleo de proceso lo suficientemente potente para absorber el caudal de datos y contenidos multimedia que se generarían a lo largo de 37.000 kilómetros. Este micro también tenía que ser capaz de gestionar “holgadamente” los sensores y líneas de comunicación que de él dependen. Por último, la plataforma elegida, nos tenía que ofrecer un marco sencillo y flexible para poder desarrollar diferentes aplicaciones software. Estas y otras cuestiones han sido atajadas mediante el empleo de un SoC (System on chip) E3845 de la firma Intel Corporation. Este chip es el hermano mayor de una familia de procesadores basados en Atom pensados para su uso en dispositivos móviles y equipos IoT. El E3845 cuenta con cuatro núcleos trabajando a una frecuencia de 1,91GHz. En él también se integran los periféricos auxiliares para la gestión de entradas y salidas, gestión de memoria y tratamiento de vídeo. Es una pequeña bestia que nos aporta capacidad de proceso facilitando el objetivo de hacer inteligente a la moto.

Globalrider - Arquitectura hardware de Pasarela IoT Globalrider

Por poner un ejemplo de la inteligencia de la Pasarela IoT cabe destacar el análisis en tiempo real que hace de la velocidad e inclinación de la moto para predecir accidentes. Es decir, si la Pasarela identifica un patrón de caída, nos enviará un mensaje de alta prioridad alertándonos de un accidente inminente. Otro signo de inteligencia y capacidad es el tratamiento que se hace de todos los datos que captan los sensores, aplicando a cada dato muestreado una referencia temporal y posición GPS. Por último, es importante recordar, el importante esfuerzo de proceso que supone la adquisición de vídeos y fotos, su transcodificación, y posterior envío a través de redes de telefonía móvil de baja capacidad.

Como hemos dicho, el SoC Intel E3845 forma parte de una familia que integra como núcleo el microprocesador Atom. Como no podía ser de otra forma, este micro es heredero de la arquitectura x86 de Intel lo que facilita enormemente la portabilidad de desarrollos software previos. TELNET, como miembro de la IoT Solutions Alliance de Intel, ya fabrica y comercializa otras Pasarelas IoT para aplicaciones Industriales y Hogar Digital. Para ambos casos hemos recurrido al Atom E3815, menos potente pero 100% compatible a nivel software e incluso huella de pines.

 

Arquitectura Software
Los mayores quebraderos de cabeza de un sistema embebido están relacionados con el software, concretamente con el sistema operativo y los controladores o drivers. Si no se tiene pleno control sobre todo lo que está “corriendo” dentro de un sistema embebido, lo que en apariencia puede funcionarnos a la primera puede traicionarnos en cualquier momento y desencadenar una catástrofe, sin mencionar inadvertidos agujeros de seguridad. Esta es una de las razones por la que en TELNET nos gusta armar nuestra propia distribución de Linux a través de Buildroot o Yocto.

Globalrider - Aquitectura software Pasarela IoT TENET

Sobre el kernel de la Pasarela IoT de Globalrider están ejecutándose seis gestores principales. Estos gestores administran agentes especializados en diferentes tareas: desde analizar la información que recogen los sensores hasta mantener la conectividad de Hugo o interactuar con la pasarela.

El Gestor de Supervisión o Supervisor Manager se responsabiliza de la administración del resto de Gestores y, a través de él, accedemos e interactuamos con la Pasarela. Este Gestor tiene competencia sobre el Display  y los pulsadores de a bordo que representan la vía más cómoda y segura para interactuar con la Pasarela mientras la moto se encuentra en marcha. También nos ofrece un interfaz Web para facilitar la configuración avanzada desde un móvil o tablet. De igual manera este Gestor de Supervisión es la puerta de entrada remota a todo el sistema.

GPS Manager tiene responsabilidad sobre la citada conexión para conocer el posicionamiento de la motocicleta en todo momento. Este Gestor tiene que entregar al resto de gestores (Supervisor, Sensor y Camera) una referencia horaria UTC (Universal Time Coordinate) junto con la posición de longitud, latitud y altitud. Esta información será la referencia temporal y espacial que acompañará a los datos adquiridos por los sensores.

Los datos recogidos a través de los sensores son procesados por Sensor Manager. Dentro de este Gestor identificamos un agente especializado en cada sensor (bio, ambiental, giroscopio, acelerómetro, etc). Además de los datos reportados por los propios sensores, también será responsabilidad de este Gestor calcular la velocidad de la moto a partir de la información de posición GPS. Sobre todos los datos captados o calculados, Sensor Manager estampará una marca de tiempo y localización para “posicionar” cada muestra.  Otra de las atribuciones de este Gestor tiene que ver con el análisis en tiempo real de los datos recogidos. Como comentábamos anteriormente, la Pasarela IoT de Globalrider dispone de un motor de reglas o políticas que nos permite identificar un patrón y desencadenar una alerta ante la inminencia de un accidente o cualquier otro evento. Por último Sensor Manager es el responsable de empaquetar los datos recogidos en archivos CSV (comma-separated values) para su posterior envío.

Globalrider - Elementos funcionales Pasarela IoT TELET

La naturaleza de los contenidos recogidos a través de la cámara de aventura nos obligó a programar un gestor específico para la gestión de la cámara y el tratamiento de fotos y vídeos: Camera Manager. En primera instancia este Gestor, a través del Camera Agent, se encarga del control remoto de la cámara. A continuación, a los contenidos captados, se les aplica la marca de tiempo y posición que establece GPS Manager. Más tarde, gracias a Transcoding Agent, podemos recodificar y comprimir los contenidos multimedia para adaptarlos al ancho de banda disponible. Con esta estrategia podríamos incluso recodificar para ofrecer un bitrate suficiente para hacer streaming a través de una conexión de bajo ancho de banda.  Por último, dentro de Camera Manager también hemos habilitado un agente denominado Secure Loop. Éste, al entrar en servicio, funciona en modo bucle capturando pequeños fragmentos de vídeo y enviándolos inmediatamente a los servicios Cloud de Telefónica.

Upload Manager es un repositorio temporal donde se van almacenando los archivos CSV generados en Sensor Manager y los contenidos multimedia de Camera Manager.  Además de esta atribución de almacenamiento, Upload Manager también se responsabiliza del correcto envío de todos los datos a través de una conexión segura lo que significa que tiene, entre otros atributos, capacidad para detectar errores de transferencia, gestionar reintentos, envíos parciales y cifrado. De igual forma, Upload Manager es capaz de priorizar envíos de alertas y vídeos de seguridad.

Para finalizar, mediante WAN Manager se administra la conectividad de la Pasarela IoT. Este gestor tiene competencia sobre la conexión M2M Global de Telefónica siendo capaz de conectarse a través de cualquier tecnología y servicio de telefonía móvil. Además, este gestor de conexión WAN, es capaz de establecer conexiones de respaldo a través de redes Wifi.

 

Puedes hacer el seguimiento de esta aventura en: telefonica.yamaha.globalrider.org

[Descargar texto]

Análisis del clima, 10.000 kilómetros después

julio 5, 2016 on 1:57 pm | In análisis de datos, globalrider, m2m, iot | No Comments

Adolfo García Yagüe | Quienes estáis siguiendo el día a día de esta aventura, habréis apreciado que hace unas semanas se produjeron pequeños saltos en el itinerario de Hugo. Esto obedece a que tuvimos cortes esporádicos en la comunicación de la Pasarela IoT. Como sabéis la pasarela está permanentemente conectada y envía datos cada pocos segundos.

A partir del análisis de los datos recogidos por la Pasarela tenemos la sospecha de que existe cierta relación entre estas pérdidas de conexión con una deficiente cobertura móvil y un fuerte incremento de la temperatura. Los problemas se manifestaron en el momento en el que Hugo llegó a Kazajistán y Uzbekistán. Analizando los datos de temperatura recogidos en el interior de la Pasarela (microprocesador, etapa radio y un sensor en placa) hemos descubierto que cuando se alcanza una temperatura próxima a 65ºC, la exterior sobrepasa 43ºC, y además la cobertura es muy baja acontece el fallo. Trabajamos sobre la hipótesis de que la baja cobertura hace que la radio de la pasarela IoT eleve la ganancia de sus amplificadores para garantizar la comunicación. Como es normal, esta amplificación eleva la temperatura del conjunto de radio afectando a la tarjeta SIM. Todavía no lo sabemos con certeza, sólo han sido tres fallos y no hemos podido identificar un patrón claro.

Ante esta situación -que tiene difícil análisis a más de 10.000 kilómetros de distancia y en ruta- estamos coordinando con Hugo la sustitución de la Pasarela IoT a su llegada a San Francisco. Entretanto confiamos que durante su periplo ruso la climatología y la cobertura móvil sean más benévolas.

Aprovechando que hemos tenido que enfrentarnos a datos climáticos, ¿por qué no hacer un repaso del primer mes de Globalrider desde la perspectiva meteorológica?

Globalrider - Ruta hasta el día 28 de junio (10.000 kilómetros)

 

Evolución de la temperatura
En el siguiente gráfico queda reflejada la evolución térmica durante los primeros 32 días. Para esta representación gráfica hemos recurrido a un mapa de calor. En este tipo de gráficos se asocia un color al valor de un dato o, como en nuestro caso, a la media aritmética de la temperatura registrada durante una hora. En este mapa destaca con gran claridad el cambio de temperatura que sufrió Scagnetti en su paso por Turquía (días 12 y 13 de junio) hacia Asia Central (a partir del día 20 de junio). A partir de aquí hubo días que registramos temperaturas por encima de 40 grados a la sombra. Es decir, el sol no incidía directamente sobre el sensor.

Globalrider - Mapa de calor de la temperatura (primeros 32 días)

El mapa de calor también revela los momentos donde nuestra Pasarela IoT sufrió los efectos antes comentados: 13h del día 20, 11h del día 25 y 9h del día 26. Por último, los huecos en blanco, corresponden a momentos en los que la pasarela ha permanecido apagada sin registrar datos.

 

Humedad relativa y presión atmosférica, además de temperatura
El análisis anterior podemos enriquecerlo añadiendo los datos de humedad y presión atmosférica. Si además fuéramos capaces de medir la velocidad del viento y registrar las precipitaciones estaríamos a un paso de convertir a Hugo en “el señor del tiempo”. En efecto, estos cinco elementos definen el clima y su análisis es la esencia de la predicción del tiempo. Aunque nos gustaría, nosotros no somos capaces de llegar tan lejos y solo nos limitaremos a realizar algún razonamiento sobre climatología a partir de los datos que vamos recogiendo y procesando.

En la siguiente tabla hemos reunido los registros de temperatura, humedad relativa del aire y presión atmosférica. Para hacernos una idea del perfil del clima por cada día de travesía, presentamos el valor mínimo, máximo y calculamos la media.

Globalrider - Tabla de temperaturas, humedad relativa y presión atmosférica

Con permiso de los lectores más adelantados, antes de pasar a la interpretación de datos, haremos un pequeño repaso del concepto humedad relativa y presión atmosférica.

La humedad relativa del aire, como su nombre indica, es una variable con la que medimos la humedad del aire, ahora bien, esta medida es relativa a la temperatura. Esto significa que no podemos medir correctamente un dato de humedad relativa sin conocer la temperatura a la que se ha tomado la muestra. Para comprender esta relación debemos recurrir a la Física. Esta nos dice que una masa de aire a una temperatura alta es capaz de contener más agua en estado gaseoso que la misma masa de aire a una temperatura inferior. Por lo tanto la capacidad de “almacenar” vapor de agua (o humedad) en un volumen de aire viene determinado por la temperatura. Cuando esta masa de aire no puede almacenar más vapor decimos que se satura porque alcanza el 100% de su capacidad, produciéndose a continuación el fenómeno de condensación que se manifiesta en forma de lluvia, nieve, granizo, niebla, rocío o escarcha.

Globalrider - Explicacion de anticiclón y borrasca

La presión atmosférica indica la fuerza que ejerce la atmosfera sobre la superficie terrestre. Se mide en milibares. Esta presión no es uniforme a lo largo y ancho de nuestro planeta y depende de factores como la altitud, latitud y la temperatura. Esto quiere decir que, en condiciones atmosféricas iguales, si estamos en lo alto de una montaña mediremos menos presión atmosférica que si nos encontramos a nivel del mar. De manera inversa la relación entre temperatura y presión demuestra que, a menor temperatura, la presión atmosférica se incrementa. Esto provoca que el aire tenga más densidad y tiende a descender hacia la superficie provocando una zona de alta presión o anticiclón. Por el contrario, el aire caliente, al tener menor densidad, se eleva lo que provoca que baje la presión generando una zona de borrasca. El viento es un fenómeno atmosférico que se origina por la diferencias de presión entre anticiclón y borrasca. Éste circula desde la zona anticiclónica hacia la borrasca.

 

Análisis descriptivo de tormentas
Con los datos recogidos por Hugo vamos a intentar identificar el desarrollo de una tormenta. Si revisamos la tabla anterior notaremos que la humedad relativa máxima de los días 27, 28 y 29 de mayo, así como la de los días 2, 5, 7, 12 y 27 de junio superan el 70%. Con mucha cautela vamos a tomar estos datos como un indicio de que esos días pudo suceder algo especial. Quiero insistir en la prudencia ya que una subida de la humedad relativa no tiene por qué estar exclusivamente relacionado con la lluvia. Como no somos meteorólogos necesitamos tener un elemento que constate si nuestras sospechas son correctas o no.  Para lograr esta certificación hemos recurrido a la bitácora que mantiene Scagnetti en Facebook y en Twitter donde recoge los instantes más relevantes de cada día.

Globalrider - Bitácora Facebook y Twitter de Hugo (tormentas)

En efecto, parece que vamos por buen camino. Como podéis comprobar en el resumen anterior, a excepción del día 12, los días citados fueron lluviosos. Para profundizar en el análisis echemos un vistazo a alguno de esos días de lluvia. En este caso lo que queremos representar es la evolución de la temperatura y la humedad y, si existe, algún cambio apreciable en la presión atmosférica.

En día 5 de junio Hugo nos contaba que se detenía porque empezaba a llover. En el siguiente gráfico podemos ver que sobre las 16:30h detiene la moto (línea verde). La moverá un poco hacia las 17:10 y pasadas las 18h. Durante ese este tiempo de espera podemos apreciar como la temperatura (línea azul) experimenta un descenso pronunciado desde los 30ºC hasta los 20ºC en aproximadamente 30 minutos. Este descenso de temperatura coincide con un brusco incremento de la humedad relativa (línea naranja) que arranca en el 39% hasta alcanzar el 75%. Si afinamos un poco en el análisis nos damos cuenta que durante estos 30 minutos la presión atmosférica (línea gris) disminuye ligeramente 4mbr, desde los 984 a 980. Pasado este tiempo vuelve a 984mbr. En nuestra opinión se produce una tormenta que provoca el descenso de la temperatura unos grados. Parte del agua recién precipitada se convierte el vapor incrementando así la humedad relativa registrada.

Globalrider - Registro meteo día 5 de junio 2016

Veamos ahora el registro del día 7.

Globalrider - Registro meto día 7 de junio 2016

Como evidencia el diagrama anterior, a partir de las 16:30h y en la media hora siguiente, se manifiestan fluctuaciones en la presión atmosférica que oscilan desde 1015 milibares hasta 980 (17h). El final de este ciclo de inestabilidad en la presión coincide con un fuerte incremento de la humedad relativa, subiendo desde 49% (17:08h) hasta 78%(17:24h). En paralelo a este fuerte ascenso de la humedad identificamos un descenso de la temperatura desde 25ºC a 21ºC.

Por último tomemos el día 27 de junio. Una vez más apreciamos la pauta descrita en días anteriores: Al final de un ciclo de inestabilidad atmosférica (de 13:30 a 14:40) destaca un fuerte incremento de la humedad relativa hasta alcanzar 97%. Simultáneamente a este ascenso de la humedad se produce un descenso de la temperatura desde 23 a 19ºC.

Globalrider - Resitro meteo día 27 junio 2016

Como hemos podido comprobar, tras conocer los máximos de humedad relativa, hemos intuido en qué días se produjeron tormentas. A continuación, con la información facilitada por Hugo, hemos sido capaces de comprobar la veracidad de nuestras sospechas. El siguiente paso era conocer el desarrollo de la tormenta y como se expresaba ésta a través de los datos de temperatura, humedad relativa y presión atmosférica.

El desarrollo anterior encaja a la perfección en el estudio de los días 27, 28 y 29 de mayo y 2, 5, 7, 27 de junio. En cambio, el día 12 junio, donde la humedad máxima alcanzó el 70%, Hugo no dejó constancia de precipitaciones. Puede ser que este umbral no implique necesariamente lluvia, incluso es posible que Scagnetti no indicara que llovía.

Globalrider - Registro meteo 12 de junio 2016

Como no nos podemos quedar con esta duda, echemos un vistazo al día 12 (diagrama anterior). Salta a la vista que el momento de máxima humedad es a primera hora de la mañana, a las 9:30h, poco después de ponerse en marcha la Pasarela IoT. Esa humedad matinal y su relación con la temperatura corroboran que Hugo se encuentra en la orilla del Mar Negro y que lo que estamos “viendo” puede ser alguna neblina que levanta con la mañana.

Globalrider - Ruta del día 12 de junio 2012

 

Análisis predictivo de presión atmosférica y altura
Hasta ahora hemos visto algunos ejemplos de estadística descriptiva. Esta rama de la estadística, a partir del análisis de datos conocidos, nos ayuda a entender cómo funciona un fenómeno. Por su parte, la estadística predictiva, nos permite elaborar predicciones sobre datos desconocidos a partir de datos que conocemos. Como paso previo a la predicción necesitamos hacer un análisis de regresión sobre un amplio histórico de datos conocidos para descubrir si existe una relación matemática entre datos de diferente naturaleza (por ejemplo altura y presión atmosférica). A través de este análisis conoceremos cuál es el tipo de función de regresión o relación matemática entre estas dos variables: una independiente (altura) y otra dependiente (presión atmosférica). Por lo tanto, si existe esta relación matemática, estaríamos en condiciones de predecir el valor de la presión atmosférica cuando enfrentemos la variable altura a una función de regresión. Veamos un pequeño ejemplo.

Globalrider - Conrrelación entre valores de altura y presión atmosférica

En el diagrama superior, en el eje horizontal x, queda representada la altura. Esta será la variable independiente. En el eje vertical y indicamos la presión atmosférica, variable dependiente. Podemos distinguir, en forma de cuadrado azul, los datos conocidos de altura-presión recogidos por Hugo durante los primeros 10.000 kilómetros. Realmente la Pasarela IoT ha registrado muchos más datos de los que hay representados pero, por motivos prácticos de visualización, solo hemos presentado uno por hora. En total hay 780 cuadrados azules. Con ellos hemos confeccionado un gráfico de dispersión.  El paso siguiente es enfrentar este gráfico de dispersión a diferentes funciones matemáticas (lineal, polinómica, logarítmica, exponencial, parabólica, etc) para ver cuál de ellas ofrece el modelo más preciso, es decir, con menor error. En nuestro caso vemos que una sencilla función lineal (línea naranja) expresa razonablemente bien la relación existente entre altura y presión: Menor altura, más presión. Nuestra herramienta de análisis nos ofrece la siguiente función para, en el futuro, predecir la presión atmosférica con solo conocer la altura. También nos advierte de un margen de error del 0,89% que, traducido en milibares, son 8,75656.

y = 1015,4861 – (0,1131 * x)

Somos conscientes de la obviedad del ejercicio anterior. Solo pretendíamos introducir de manera divulgativa el concepto de análisis predictivo a partir de los datos que estamos recogiendo en Globalrider. También nos ha permitido constatar que la presión atmosférica no solo depende de la variable altura, de ahí el error de la función.

Como podéis sospechar la predicción meteorológica recurre a este tipo de análisis para adelantarnos el tiempo que hará en los próximos días. Evidentemente, los meteorólogos manejan millones de datos recogidos de cientos de fuentes y cuentan con superordenadores para realizar los cálculos rápidamente. A pesar de todo, la naturaleza caótica de la atmosfera, reduce la fiabilidad de los modelos matemáticos más allá de una semana.

Puedes hacer el seguimiento de esta aventura en: telefonica.yamaha.globalrider.org

[Descargar texto]



© 1999-2026 A.G.YAGÜE - Se autoriza el uso según terminos Creative Commons BY-NC-SA
Powered by WordPress