Este servicio emplea Apache ECharts, una librería Open Source basada en JavaScript, con el objetivo de poder generar gráficos que precisa este servicio. Esta librería se está empleando en los gráficos descritos en el apartado Graficas implementadas.
El código se ha implementado en el fichero app.py donde se puede encontrar tanto la peticiones a la BD de la plataforma como la configuración de los gráficos diseñados.
Las variables de entorno que se han empleado se pueden encontrar en el fichero config.py dentro de la carpeta visual-echarts
Grafica rosa de viento:
http://<'server'>:<'port'>/echarts/rosa-viento?dfrom=2023-01-01&dto=2024-01-01&station=44332212&average_type=H
Parámetros recibidos desde Urbo:
Grafica multiple axis:
http://<'server'>:'<'port'>'/echarts/multiple-axis?dfrom=2023-01-01&dto=2024-01-01&item=Co2&average_type=H&station1=44332212&magnitude1=012&technique1=12
Parámetros recibidos desde Urbo:
Gráfica line chart
http://<'server'>:<'port'>/echarts/line-chart?dfrom=2023-01-01&dto=2024-01-01&item=Co2&average_type=H&magnitude=012&technique=12
Parámetros recibidos desde Urbo:
Cuadro de correlación: - http://<'server'>:'<'port'>'/echarts/correlation-chart?dfrom=2023-01-01T00:00:00.000Z&dto=2024-01-01T00:00:00.000 Z&estación1 =101&estación2=102&magnitud1=001&magnitud2=002
Se ejecuta con:
flask run
o con
python3 app.py
Levantando un servicio en el puerto 12021 por defecto.
El servicio utiliza SSL, para poder utilizarlo en los iframes de urbo. En ese caso se necesitan los ficheros de certificados 'cert.pem' y 'key.pem'. Se pueden generar usando un comando como:
openssl req -x509 -newkey rsa:4096 -nodes -out cert.pem -keyout key.pem -days 365
Los certificados tienen que ser válidos, para la correcta visualización. Se incluyen unos cert.pem y key.pem de pruebas.
El fichero Dockerfile incluido puede utilizarse para construir un entorno que lanzar el servicio visual-echarts. (docker build -rm -t visualecharts:latest .)
Adicionalmente se incluye el fichero docker-compose.yaml para ejecutar el servicio as a service. Si se lanza el stack con docker-compose up -d, se levantará un servicio web al que puede accederse a través del puerto 12021 del equipo en el que se esté ejecutando (http://localhost:12021).
Se procede a definir las variables de entorno que se emplean en el despliegue de las gráficas:
| Nombre Variable | Descripción Variable |
|---|---|
| APP_PICA_DB_NAME | Nombre de la base de datos |
| APP_PICA_DB_USER | Usuario de la base de datos |
| APP_PICA_DB_PASSWORD | Contraseña de la base de datos |
| APP_PICA_DB_HOST | Host de la base de datos |
| APP_PICA_DB_PORT | Puerto de la base de datos |
| APP_LOG_LEVEL | Informacion sobre los logs |
| APP_PICA_DB_SENSOR_TABLE | Tabla de sensores |
| APP_PICA_DB_HOURLY_TABLE | Tabla de datos de sensor por hora |
| APP_PICA_DB_EIGHTHOURLY_TABLE | Tabla de datos de sensor cada ocho horas |
| APP_PICA_DB_DAILY_TABLE | Tabla de datos de sensor diarios |
| APP_PICA_DB_SEMIHOURLY_TABLE | Tabla de datos de sensor semihorarios |
| APP_PICA_DB_MANUAL_TABLE | Tabla de datos de sensor manuales |
| APP_PICA_DB_MAGNITUDE_LASTDATA_TABLE | Tabla de datos de magnitud |
| APP_PICA_DB_TECHNIQUE_LASTDATA_TABLE | Tabla de datos de técnica |
| APP_PICA_DB_STATION_LASTDATA_TABLE | Tabla de datos de estación |
| APP_PICA_FLAG_SSL | Flag para activar o desactivar el arranque con SSL |
Queda pendiente para tener el servicio completo:
Content type
Image
Digest
sha256:2385852cd…
Size
382.3 MB
Last updated
14 days ago
docker pull telefonicaiot/smc-echarts