Hemos creado un sistema de programación dedicado, de forma simple, a utilizar el protocolo NGSI/V2 de FIWARE no solo para la consulta/modificación de atributos en nuestras entidades definidas sino para la realización de acciones (actuaciones) en aquellos dispositivos que permitan salidas que interactuén con las sondas o sensores.
De la misma forma que cambiamos un atributo para asignarle un valor del sensor a través de los diferentes agentes, modificamos atributos actuadores con solo escribir sus códigos correspondiente de acción.
Vamos a realizar un ejemplo sobre el dispositivo UC511-D1 de Milesight con su versión más primitiva de hardware V1.1 la cual no tiene posibilidades de programación. El fabricante, en sus especificaciones técnicas nos informa de su protocolo para leer/escribir. Se basa en una cadena codificada según su protocolo, donde indicar la actuación concreta (encender/apagar válvulas, atender a caudalímetros, establecer tiempos de apertura de válvula, estado de la batería, etc). Esta cadena, al ser un dispositivo LoraWAN debe llegar en forma de mensaje DownLink (activaremos el dispositivo configurado como clase C para la realización de las pruebas).
En las pruebas realizadas para poder integrar este dispositivo en un plataforma FIWARE podemos establecer 4 etapas en el desarrollo que resumimos a continuación:
- Equipo sin integración. Cuando no lo tenemos conectado a ninguna plataforma, simplemente para probar. Lo montamos y lo activamos vía NFC a través de la aplicación móvil que el fabricante nos suministra. Desde ella, podemos actuar sobre las válvulas 1/2 re-escribiendo la configuración via NFC cada vez que la modifiquemos.
- El equipo lo integramos en la plataforma de comunicación TTN para poder clasificarlo dentro de una aplicación, describir y configurar su decoder para ver los datos y generar las credenciales que sincronicen la información entre dispositivo y TTN. Una vez configurado, podemos comprobar su estado y enviar mensajes de bajada según protocolo del fabricante para actuar sobre sus válvulas.
- Integración con FIWARE. Todos los dispositivos, actuadores o no, los tenemos integrados en nuestra plataforma FIWARE y desde la mísma, vía NGSI podemos interactuar sobre las entidades (la gestión propia de la entidad); Hemos configurado especialmente entidades de este tipo con un atributo adicional que mantendrá el protocolo definido por el fabricante para la actuación. FIWARE leerá dicho atributo especialmente a través de los cambios originados vía "notifies" del servidor de contexto para integrarlos en el módulo de actuación desarrollado que decodifica la info del mensaje y genera de forma transparente el mensaje dowlink con la actuación.
- Desarrollamos ejemplos prácticos desde aplicaciones que interactúan con la entidad de FIWARE a través de NGSI para realizar operaciones/actuaciones sobre las válvulas.
A partir de este momento, en la que tenemos la entidad preparada, cualquier programación sobre el dispositivo es posible (establecer riegos periódicos como cualquier otro programador de riego sería lo normal), PERO, estando integrada dicha entidad con otras que evalúen el contexto, la programación ya no está basada sólo en cadencias SINO la posibilidad real de basarla en inteligencia. "Si mis sensores que miden la humedad demandan riego ... activamos al función de regar. Si mi contexto a través de las estaciones meteorológicas privadas o públicas nos indican que llueve... anulo la programación de riego y así de verdad, hacemos una estrategia inteligente del riego y de ahorro de recursos.
** Idea desarrollada sobre la sensórica desplegada en la finca experimental de Rabanales de la Universidad de Córdoba por el Aula de Transformación Digital FIWARE bajo el proyecto Interreg España-Portugal HIBA del Fondo Europeo de Desarrollo Regional y en consonancia con la plataforma de formación e-LearningData del proyecto.
** Puedes seguir un resumen del desarrollo en el siguiente video: