• No se han encontrado resultados

3. Diseño e Implementación del prototipo

3.7 Sub-módulo 5: Conexión con ThingSpeak

Una de las funcionalidades más importantes del módulo de comunicación es el envío de los valores medidos a la plataforma ThingSpeak, para su posterior visualización en su página web que además permite el análisis de los datos. A continuación, se establecen una serie de consideraciones a tener en cuenta respecto al envío de datos a ThingSpeak. Después, se detalla la programación de los envíos de datos por GPRS a través del diagrama de flujo. Por último, se resumen brevemente las posibilidades que ThingSpeak ofrece al usuario para visualizar, exportar y analizar los datos.

3.7.1 Consideraciones previas al envío

Los datos medidos por el sistema de monitorización desarrollado se transmiten por TCP gracias al protocolo HTTP. Sin embargo, antes de entrar en detalles sobre la comunicación HTTP con ThingSpeak, es importante activar el servicio GPRS de la shield de Arduino. Mientras que, para el envío de SMS, el GSM no necesita ninguna configuración propia más allá de las que permiten iniciar la shield y conectarla a la red, el servicio GPRS necesita una configuración propia. En primer lugar, es necesario saber dónde va a operar el sistema y, sobre todo, de que compañía es la SIM que se utiliza para saber cuál es su Nombre del Punto de Acceso (APN). El APN, su usuario y la contraseña deben configurarse en el sistema para poder acceder a la red de datos GPRS y dependen del operador. En el prototipo desarrollado está fijada a la operadora Movistar España con parámetros:

En el caso de no utilizar el sistema con una tarjeta SIM de Movistar España, es necesario que el desarrollador realice los cambios pertinentes de APN en el código de Arduino. La razón por la que se ha descartado implementar la configuración via SMS por el usuario del APN es que se pretende entregar el dispositivo a los usuarios finales con la SIM ya integrada, por lo que los cambios se habrán hecho previamente.

APN: telefonica.es Usuario: telefonica Contraseña: telefonica

Por otro lado, también es necesario que el desarrollador indique el APIKey del canal de ThingSpeak en el código. El APIKey permite identificar unívocamente el canal de la plataforma al que se quieren enviar los datos. Es por lo tanto necesario que el desarrollador haya creado previamente el canal y obtenga su APIKey.

Tanto la creación del canal de ThingSpeak por el usuario como la configuración de su APIKey y de la APN por SMS podrían implementarse en un futuro. Sin embargo, esto dificulta la utilización del sistema al usuario, demandándole ciertos conocimientos técnicos más avanzados. configuración del APN se podría implementar en un futuro sin embargo dificulta de utilización del sistema al usuario. En el caso de que un usuario desea replicar el sistema, esta podrá también configurar su propia APN tal y como se detalla en la documentación del proyecto.

3.7.2 Envío de datos

Una vez configurada la conexión GPRS, tras haber realizado las medidas, procesado los datos y alarmas y escribir los datos en la SD del sistema, se envían los datos al servidor ThingSpeak. Para ello se verifica en primer lugar que hay conexión GRPS, enviando un SMS de error tipo “NoConexion” en el caso de que la verificación falle tras tres intentos de reconfiguración. Si la conexión se ha establecido correctamente, se envían los datos por HTTP a ThingSpeak, indicando su APIKey y se espera una respuesta de la plataforma. En el caso que la respuesta sea negativa, tras haber enviado los datos de nuevo un máximo de tres veces, se comunica el fallo al usuario a través de un SMS de error tipo “ErrorSending”. Si por el contrario, el envío ha sido exitoso, se vuelve al estado de espera del sistema.

3.7.3 Visualización, exportación y análisis de los datos

El envío de los datos a ThingSpeak tiene varias ventajas que se detallan a continuación. Su uso puede ser público e ilimitado a cualquier persona que tenga la URL del canal, o limitado a los usuarios autorizados en el caso de se desee mantener los datos en privado.

Visualización: Los datos medidos por cada sensor corresponden a un campo del canal, es decir, a una gráfica. Estas graficas presentan la variación de la medida en función del tiempo y permiten ver el valor exacto de cada medida gracias al cursor.

Exportación: Los valores medidos pueden ser descargados de la plataforma en diferentes formatos. Destaca el formato CSV, que permite su visualización y análisis a través de Excel o de lenguajes específicos de análisis de datos como R.

Análisis: ThingSpeak es un producto de MathWorth altamente relacionado con Matlab. Desde la página web de la plataforma se puede utilizar la MatlabApp, que permite la visualización y análisis de datos gracias a la ejecución de scripts de Matlab. Los datos resultantes del análisis pueden representarse en otros campos o canales de ThingSpeak. Además, los datos son exportables para su análisis con Matlab y pueden son óptimos para ser aplicados en cualquier otro procesado de Matlab gracias a sus numerosas toolboxes.

Documento similar