Megavatio Control y Energibid

Desarrollo experimental utilizando tecnologías de software Open Source para Big Data, Cloud Computing, Machine Learning, ciberseguridad e IOT que permitan la escalabilidad y mayor funcionalidad al servicio de monitorización en la nube de Energibid

1.- BREVE DESCRIPCIÓN DEL PRODUCTO DESARROLLADO: ENERGIBID 2

El producto (servicio) comercializado por ENERGIBID es un conjunto soluciones de monitorización y telemedida de suministros energéticos (en su fase inicial, dirigidos exclusivamente al sector eléctrico). En la definición de “soluciones”, se incluye el hardware y software necesarios, así como la instalación y toda la gestión requerida para la puesta en servicio de un sistema de monitorización.

El servicio se oferta “paquetizado” de forma estándar, los que permite trabajar con diferentes agentes del sector de forma ágil, con tarifas del servicio según el tipo de tarifa eléctrica del consumidor. Se consigue así estructurar el servicio permitiendo escalar el modelo de negocio. En el sector eléctrico, un amplio % de los consumidores (por encima del 95%) alquilan el equipo de medida a la Distribuidora eléctrica de su zona (Iberdrola, Endesa,…), a la que pagan mensualmente un importe cuyo único concepto es el alquiler del equipo de medida. ENERGIBID ofrece la posibilidad mediante un contrato de renting, de desprenderse del alquiler de ese equipo de medida de la Distribuidora (eliminar su coste) y disponer de un nuevo contador más un equipo de comunicaciones, junto a la aplicación de gestión energética en la nube (energibid.com), por cuotas similares a las que ya abona por el simple concepto de alquiler.

ENERGIBID se encarga de toda la gestión y coordinación para la instalación de equipos y puesta en marcha, prestación del servicio, garantías y mantenimiento del sistema.

El servicio está dirigido a cualquier consumidor eléctrico y en especial a diferentes agentes del sector que emplean la aplicación para ampliar la oferta de servicios a sus clientes (asesores, consultorías energéticas, comercializadoras eléctricas,) y otros que demandan aplicaciones de análisis y control como ingenierías, empresas de mantenimientos, empresas de servicios energéticos, etc.

Algunos de los servicios o módulos de la aplicación online energibid.com:

  • Panel de control en tiempo real
  • Generación y simulación de facturas: Validación de facturación
  • Informes de seguimiento
  • Alarmas
  • Estudios de optimización de potencias
  • Descarga de la medida en tiempo real
  • Configuración de imagen corporativa
  • Gestión de clientes

En la actualidad se monitoriza más de 75.000MWh anuales y más de 12 millones € de facturación eléctrica de clientes verificados. Tras la realización del proyecto se han mantenido los servicios originales previos, ampliándolos con nuevas prestaciones (alarmas predictivas, optimización de cualquier suministro energético, generación de informes, …), pero, además, nuevas fórmulas de contratación de los mismos como elemento diferenciador de la competencia. Pudiendo contratar la emisión de un informe puntual, o servicios orientados a optimizar la contratación, o maximización de la eficiencia o de la operación y mantenimiento de las instalaciones. Por tanto, este nuevo proyecto enfoca su investigación en el rediseño de propia arquitectura del software utilizando tecnologías Open Source Software para Big Data, predicción de algoritmos en Cloud Computing para aplicar a la toma de decisiones en la gestión de edificios y procesos (Industria 4.0) y monitorización y gestión de equipos mediante un parque de dispositivos IOT, adaptándose a las nuevas tecnologías de programación, y diseñando:

  1. Un backend totalmente separado del frontend que posibilite el crecimiento de nuevos servicios buscando la modularidad de la plataforma. Además de la autoprotección mediante separación en microservicios y comunicaciones externas mediante APIs, maximizando la ciberseguridad.
  2. Una jerarquía interna del software basada en la organización de las instalaciones (titular → instalación → tipo de suministro energético → contador (virtual o físico) → sensores/actuadores, ...) adaptadas de forma universal a las soluciones técnicas existentes en el mercado utilizando un modelo de nube de etiquetas que permita cualquier configuración, tipología y tecnología de la instalación.
  3. Integración tanto de todos los servicios recibidos por proveedores, como entregados a clientes mediante interfaces API. Permitiendo el uso de las herramientas con y en aplicaciones terceras, como por ejemplo la gestión contable y administrativa con el ERP de ENERGIBID para facilitar el seguimiento, vencimientos, facturación, renovación de productos, pagos a comerciales, gestión de contratos, etc desde la propia web de forma más automática y transversal.
  4. Programación del código de la aplicación para multiideomática utilizando las herramientas Cloud/PaaS que permita a los diferentes perfiles creados para los clientes utilizar todas las funcionalidades de los servicios del nuevo ENERGIBID en varios idiomas, tanto en la zona restringida, los servicios web y en las aplicaciones móviles.
  5. Configuración libre de alarmas y disparadores de eventos basadas en la predicción de patrones por los usuarios de la plataforma atendiendo a diferentes funcionalidades del nuevo sistema. Incluyendo, también la posibilidad de identificar un patrón acotado en una ventana de tiempo y testeando el cumplimiento, de nuevo, del mismo patrón y, activando una alarma o disparando un evento al cubrir un determinado cumplimiento objetivo (ej. activación/desactivación de relés) y posibilitando los avisos por diferentes medios (ej. mail, SMS, WhatsApp, creación de tickets de incidencia…).
  6. Creación de una plataforma para la gestión del parque de equipos (MDM) instalados en campo (equipos IOT) que permita controlar su disponibilidad y dar órdenes desde la web de una manera más sencilla. Unificando la gestión del equipo IOT que hace de pasarela de comunicaciones, el contador o contadores al que se conecta y, también el contrato asociado de telecomunicaciones mediante la tarjeta SIM. Actualmente el sistema cuenta con más de 200 contadores monitorizados y 365 módems (Bidgate) con 3 soluciones distintas, alguna comercial y otras no adecuadas para el uso necesitado.
  7. Desarrollo del módulo de estadísticas de experiencia del usuario en el que el personal técnico de ENERGIBID reciba un feedback del uso y satisfacción de cada sección y herramienta del sistema. Los reportes que este módulo aporte, serán la base de la planificación de los futuros desarrollos y mejoras del producto.
  8. Desarrollo de una solución de hardware IOT que permita la interconexión del servidor con los distintos contadores reduciendo al mínimo los costes de telecomunicaciones, permitiendo la conexión de múltiples dispositivos de medida, de distintos tipos de energía y magnitudes físicas, además de la interacción con la instalación mediante la maniobra de relés internos telecontrolados y/o programados.
  9. Desarrollo de aplicación móvil para la lectura de contadores y subida a ENERGIBID. La aplicación – sólo desarrollada para teléfonos con sistema operativo Android – será una pasarela que unirá mediante un lector óptico al servidor en la nube con el contador de tarificación, permitiendo el aporte de una lectura puntual para el análisis estático de los datos almacenados por el contador.
  10. Desarrollo de módulo de gestión comercial para minimizar la interacción de los clientes y las fuerzas de ventas con el personal de ENERGIBID. De modo que se permita una alta autonomía en la presentación, contratación y renovación del producto. Este módulo, automáticamente validará los datos administrativos relativos al cliente, la instalación y el suministro, generará los contratos y permitirá la inclusión de los mismos en el sistema de gestión empresarial ERP de ENERGY AUCTIONS. También permitirá a los responsables de la contratación el seguimiento de los hitos relativos a sus clientes como estado del contrato, del pago, del abono de su comisión, etc … Además de permitir un seguimiento a ENERGIBID de las acciones comerciales que estará integrado en el módulo de estadísticas de experiencia de usuario.
  11. Nuevos servicios organizados en módulos o como nueva herramienta:
    • Informes automatizados de consultoría que, a partir de unos datos registrados por los contadores o unos aportados por el usuario y, siguiendo una plantilla preconfigurada para cumplir el objetivo de cada informe, permita al usuario obtener un análisis de la situación actual del asunto a evaluar, un diagnóstico de la misma y una prescripción de la solución. Se creará un sistema de generación de plantillas. Inicialmente se crearán informes para consultoría en materia de eficiencia energética (optimización de potencias, cálculo de batería de condensadores, racionalización del uso de la energía, …), comparación de tarifas o soluciones de compra de energía, comparación de escenarios (de consumo o de precios), ...
    • Módulo para el aporte de medidas por el cliente. Actualmente las medidas se reciben siempre mediante entrega vía FTP del servidor ener.com.es. Se desea permitir la subida de los datos registrados por los usuarios o, descargados por ellos de los contadores directamente, en un formato preestablecido. Así eliminando la necesidad de ligar el uso de ENERGIBID a una suscripción que permita las lecturas recurrentes.
    • Desarrollo de módulos para la lectura monitorización de los distintos tipos de suministros energéticos, no sólo electricidad (medidas físicas y precios de los mismos, como tarifas o cotizaciones de mercados) y otros elementos de submedida como temperatura, presión, caudal, radiación, … Esto implica la preparación de la base de datos para recibir cualquier tipo de magnitud, APIs para la lectura de precios o magnitudes de terceros, y una concepción de los elementos intrínsecos del sistema tan abierto que permita combinar y comparar estas magnitudes y medidas indefinidas – al menos en este punto de la concepción del proyecto – aplicándolo en motor de gráficas, generador de plantillas de informes, sistema de impresión de informes, identificador de patrones, sistema de declaración de alarmas, ...
    • El servicio existente de prefactura se integrará en el de generación de informes.
    • Los servicios existentes de monitorización y muestreo gráfico de los registros se mejorarán, permitiendo comparar cualquier medida de cualquier magnitud y tipología entre sí, e incluso aunque pertenezcan a dos periodos de tiempo distintos.
    • La descarga de los datos registrados se podrá seguir realizando de modo manual o, bien conectándose a las APIs desarrolladas para tal efecto.

2.- DESCRIPCIÓN DE LA TECNOLOGÍA UTILIZADA Y SUS INNOVACIONES

En el desarrollo de la nueva plataforma se han valorado diferentes tecnologías para finalmente decantarnos por una con la que estamos muy familiarizados y que ofrece la robustez que otorga su largo recorrido: PHP.

PHP es un lenguaje para programar scripts del lado del servidor, que se incrustan dentro del código HTML. Este lenguaje es gratuito y multiplataforma.

PHP es el acrónimo de Hipertext Preprocesor. Es un lenguaje de programación del lado del servidor gratuito e independiente de plataforma, rápido, con una gran librería de funciones y mucha documentación.

Un lenguaje del lado del servidor es aquel que se ejecuta en el servidor web, justo antes de que se envíe la página a través de Internet al cliente. Las páginas que se ejecutan en el servidor pueden realizar accesos a bases de datos, conexiones en red, y otras tareas para crear la página final que verá el cliente. El cliente solamente recibe una página con el código HTML resultante de la ejecución de la PHP. Como la página resultante contiene únicamente código HTML, es compatible con todos los navegadores.

Además de utilizar PHP para mostrar las páginas HTML nos hemos servido de otras herramientas, las fundamentales son:

  • Smarty: es un motor de plantillas Open Source para PHP que lleva muchos años en el mercado. Con él podremos realizar aplicaciones web de calidad separando el código (PHP) de la presentación (HTML/CSS).
  • Ajax: acrónimo de Asynchronous JavaScript And XML (JavaScript asíncrono y XML), es una técnica de desarrollo web para crear aplicaciones interactivas o RIA (Rich Internet Applications). Estas aplicaciones se ejecutan en el cliente, es decir, en el navegador de los usuarios mientras se mantiene la comunicación asíncrona con el servidor en segundo plano. De esta forma es posible realizar cambios sobre las páginas sin necesidad de recargarlas, mejorando la interactividad, velocidad y usabilidad en las aplicaciones.
  • jQuery: es una librería de JavaScript . Esta librería de código abierto, simplifica la tarea de programar en JavaScript y permite agregar interactividad a un sitio web sin tener conocimientos del lenguaje.
  • Handlebars: un sencillo sistema de plantillas Javascript basado en Mustache Templates. Handlebars sirve para generar HTML a partir de objetos con datos en formato JSON.

Otra parte fundamental de un desarrollo es el motor de base de datos elegido, en nuestro caso MariaDB 10.2, ofrece toda la potencia de MySQL con alguna nueva funcionalidad en esta versión que permite por ejemplo realizar consultas a campos JSON.

Respecto al alojamiento de la plataforma, esta reside en un servidor Linux (Debian 9). Nos hemos servido de “Nginx” para optimizar las peticiones y hemos creado diferentes algoritmos centinela que velan por el correcto funcionamiento del sistema, lanzan procesos automáticos y gestionan la inmensa cantidad de datos que una arquitectura Big Data requiere.

Energibid se aloja en una máquina dedicada alquilada en un datacenter de un proveedor de servicios.

El servidor usa exclusivamente software libre y software desarrollado por nosotros:

  • Sistema operativo: Debian 9
  • Bases de datos: MySQL
  • Servidor web: NGINX
  • Motor BD en memoria: Redis

Los equipos con los que se ha desarrollado el proyecto cuentan con:

  • Sistema operativo: Debian 9
  • Editor: Sublime Text
  • Tratamiento de imágenes: Gimp
  • Suite ofimática: LibreOffice

El desarrollo se ha realizado en base a:

  • Programación de la web: HTML 5, PHP 7, Javascript, jQuery, Ajax, Smarty y Handlebars
  • Conectividad con los equipos de campo: OpenVPN
  • Documentación: PHPDoc
  • Test unitarios: Php Unit y Selenium

Los equipos de campo, igualmente usan software y hardware libre:

  • Hardware: RaspberryPi, Particle o Cubieboard
  • Sistema Operativo: Debian o Ubuntu
  • Conectividad: OpenVPN

3.- NIVEL DEL APOYO PRESTADO POR LA SUBVENCIÓN

Este desarrollo sólo ha sido posible gracias al apoyo financiero de la Unión Europea a través de la Convocatoria de subvenciones del Instituto para la Competitividad Empresarial de Castilla y León que ha concedido 40% del gasto aprobado a fondo perdido.