| build | ||
| src | ||
| test | ||
| .gitignore | ||
| AUTHORS | ||
| COPYING | ||
| emalibre | ||
| empaquetarArm.js | ||
| empaquetarLinux.js | ||
| empaquetarWindows.js | ||
| generarDeb64.sh | ||
| generarDebArm.sh | ||
| generarWin.bat | ||
| LICENSE | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
EMA Libre Cliente :: Carpincho
Índice
- Introducción
- Plataforma Soportadas
- Repositorio Oficial
- código fuente
- Equipo de Desarrollo
- Agradecimientos
- Contactanos
- Sitio Oficial
Introducción
Carpincho tiene el objetivo de recolectar, registrar y publicar información meteorológica. Los datos son obtenidos a través de los diferentes sensores de una estación USB compatible, para así enviarlos a “Capibara” para ser validados y almacenados. Carpincho puede operar en modo "Recolector", realizando la tarea antes descripta, u operar en modo "Visor", sin la necesidad de contar con una estación meteorológica, donde se convierte un visualizador de información meteorológica obtenida desde una estación de Ema Center a través de una llave de lectura.
Actualmente, soporta tres sistemas operativos y dos modos (GUI o Desktop, Web/Consola):
- GNU/Linux (los dos modos)
- Microsoft Windows (sólo GUI)
- Raspberry PI (los dos modos)
Instale el que más se adapte a sus necesidades, por ejemplo el modo Web/Consola es mas liviano, posee interfaz gráfica web, ideal para producción.
¿Porqué iniciamos el proyecto?
Decidimos encarar este proyecto, por diversas razones, una de ellas es que la información meteorológica en la actualidad es una de las herramientas más importantes para la toma de decisiones, tanto en las actividades agropecuarias, turísticas, de transporte y hasta la protección de la salud se ven beneficiadas con la misma, entre otras tantas aplicaciones. Pero, la principal motivación y justificación para el desarrollo de este proyecto es que en la actualidad no se cuenta con un software integral que permita no solo recolectar, sino almacenar y visualizar eficientemente los datos recabados por múltiples estaciones meteorológicas, y que la licencia del software no posea restricciones de uso, distribución, modificación y análisis. Por ello, es que decimos adaptar y desarrollar software, con licencias libres y crear EMA Libre, así cualquier persona u organismo pueda descargar y hacer uso, y si quisiera podría modificar el modo de operar EMA o proveer alguna nueva funcionalidad que le de valor agregado al producto ya definido.
Nuevas características !
Versión 2.0.0: (Septiembre 27, 2026)
- Se actualiza la versión de NWJS → 0.107.0
- Node-hid ahora no necesita nw-gyp, se actualiza la compilación
- Se migra escritorio y web a Bootstrap 5 con Popper incluido en el bundle.
- Se actualiza bootstrap-select a 1.14.0-beta3 y se reconstruyen selects conservando el valor para evitar opciones duplicadas.
- Se integran DataTables 1.13.11 y Buttons 2.4.3 con estilos Bootstrap 5.
- Se corrigen atributos, clases, rutas de imágenes y estilos de tablas/formularios.
- Se agrega desktop:dev y test:ui (requiere un binario NW.js SDK como argumento).
- Se actualizó RGraph 7.01 → 7.21
- NW.js 0.117.0 centralizado en runtime.json para desarrollo y empaquetado x64.
- Formulario compartido con controles nativos, validación y aviso de cambios sin guardar.
- Guardado atómico y POST con confirmación; el núcleo recibe la configuración nueva.
- Tablas y controles de estado compartidos entre escritorio y web.
- Diseño adaptable sin zoom automático, con notificaciones ajustadas a pantallas pequeñas.
- Estados separados para conexión, última lectura y publicación, con motivos y acciones.
- Pruebas de configuración, interfaz y arranque aisladas de la estación real.
- El empaquetador ARM histórico queda bloqueado: su Node/NW.js no soportan esta versión.
- Se mejora el iconizado.
- Se mejora el boton de guardado.
Versión 1.36: (Enero 10 , 2026)
- Se incorporó recolectar por WIFI/IP.
- Mejoras menores de estilo(ej:iconos en logs).
- Mejoras en el empaquetador.
- Se actualizó la funcion de registrar logs para que solo registre en el nivel parametrizado (1-9), los 0 se registran siempre.
- Se mantiene la versión de nwjs por compatibilidad con node-hid.
- Se incorporó la opcion para ir al sitio oficial de la red, en el menu de redes.
- Se actualizó la versión de : RGraph 6.20 → 7.01 bootstrap 4.5.3 → 4.6.2 express 4.21.2 → 5.1.0 forever 3.0.4 → 4.0.3 node 15.10.0 → 24.4.0 node-hid 1.3.1 → 2.2.0 nodemailer 6.10.1 → 7.0.5 terminal-kit 2.11.7 → 3.1.2
- Se realizo un fix a la red WINDY(https://stations.windy.com/) para su publicación. -Usuario/ID: es la API KEY del usuario. -Password: Es numero de estaciones dada de alta en windy(ej: la primera->0, la segunda->1, la X->X).
Versión 1.35: (Diciembre 10, 2024)
- Se actualizó la versión de nwjs → 0.94.0
- Se actualizó la versión de node → 22.07.0.
- Se actualizó la versión de RGraph -> 6.20.
- Se actualizó la versión de bootstrap → 4.6.2
Versión 1.26: (Diciembre 1, 2019)
- Se modifica la publicación de redes el parámetro intensidad de luz, modificando la medida.
- Se actualizó node a la versión 13.2.0 en modo consola.
- Se actualizó la versión de nwjs 0.42.6.
- Se actualizó la versión de RGraph a la 5.11
- Se actualizó la versión de Charjs a la 2.9
- Se actualizó la versión de node-hid a la 1.0.0
- Se actualizó a Datatable v1.10.20
Versión 1.25: (Octubre 26, 2019)
- Se incorpora el servicio de monitor, el cual reinicia el equipo, si no detecta registros.
Este solo se permite habilitar, si se encuentra establecido el inicio automático en true.
Por defecto:
- Umbral = 10 minutos -> Si supera este umbral reinicia.
- Control = 3 minutos -> Cada cuánto controla.
- Se actualizó node a la versión 12.11.1 en modo consola.
Plataforma Soportadas
Plataformas soportadas (binarios)
- Linux x64
- Linux ARM / Raspberry Pi
- Windows x64 (64-bit)
Plataformas soportadas (no binarios)
- Windows x86 (32-bit) (¹)
- Linux x86 (¹)
(¹) No precompilamos paquetes para la arquitectura x86, pero pueden ser compilados por el usuario y funcionan.
Repositorio Oficial
Recomendamos utilizar nuestro repositorio oficial de paquetes Deb, agréguelo y reciba actualizaciones más fácilmente:
echo 'deb http://deb.gugler.com.ar all contrib' > /etc/apt/sources.list.d/emalibre.list
curl -sL http://deb.gugler.com.ar/repo-gpg.key | apt-key add -
apt-get update
apt-get install emalibre-console , emalibre-gui o emalibre-web
Obtén el código fuente
Para empezar a contribuir con el código de EMA Center, necesitas hacer una copia del repositorio principal de desarrollo:
HTTP:
git clone https://git.gugler.com.ar/EMA_Libre/Carpincho.git
SSH:
git clone git@git.gugler.com.ar:2222/EMA_Libre/Carpincho.git
Equipo de Desarrollo:
A continuación se detalla la lista de colaboradores y desarrolladores:
| Integrante del Equipo | Email Contacto |
|---|---|
| Exequiel Aramburu | aramburu.exequiel@uader.edu.ar |
| Federico Bonnet | federico@gugler.com.ar |
| José Luis Mengarelli | jlmenga@gugler.com.ar |
| Alexis Sostersich | alexis@gugler.com.ar |
| Marcos Elias Rios Nuñez | marcos@gugler.com.ar |
Agradecimientos
Se agradece a la Facultad de Ciencia y Tecnología de la Universidad Autónoma de Entre Ríos por permitir la conformación de este equipo interdisciplinario de profesionales y alumnos colaboradores, y llevar a cabo una investigación de esta magnitud, permitiendo mostrar las cualidades y bondades del Software Libre. Finalmente, no se solicitó declaración de renuncia de copyright a la facultad, ya que por Medio de la Resolución CS Nº 063/18, el Consejo Directivo de la Facultad de Ciencia y Tecnología de la Universidad Autónoma de Entre Ríos, aprueba el proyecto Investigación, el cual especifica que el software utilizará una licencia libre.
Contactanos
Si deseas realizar consultas, sugerencias o simplemente tenes alguna duda sobre nuestros productos/servicios, puedes comunicarte con nosotros a través de los siguientes medios oficiales: Teléfono: (+54 343) - 4975044 - Interno 119 Correo Electrónico: contacto@gugler.com.ar Sitio Oficial: https://www.gugler.com.ar
Sitio Oficial
Desarrollo y pruebas de la interfaz
Usar Node.js 20 o posterior (las pruebas se ejecutaron con Node.js 24 y NW.js 0.117.0).
La versión de NW.js está en src/runtime.json; los launchers, recompilaciones y
empaquetadores x64 la leen desde ese archivo. npm run desktop obtiene el SDK
exacto mediante npm si no está en caché. Para usar un SDK ya instalado, establecer
NW_BINARY con la ruta completa a su ejecutable. El arranque comprueba la versión.
Desde src/:
npm ci
npm run desktop
npm run desktop:dev
npm run web
web respeta la configuración de inicio automático existente. Las siguientes
pruebas usan configuración ficticia y archivos temporales; no activan la estación
ni publican registros:
npm run test:config
npm run test:ui -- /ruta/al/sdk/nw
npm run test:startup -- /ruta/al/sdk/nw
Las pruebas gráficas necesitan una sesión de escritorio. test:ui comprueba ambos
juegos de recursos (escritorio/web), formularios, navegación, guardado, recarga,
tablas y estados. test:startup abre una copia temporal de la aplicación completa
con el recolector desactivado. Los resultados quedan en el directorio temporal
indicado por cada comando.
El formulario único está en src/gui_common/view/modelo_configuracion.html.
Su modelo, controlador, tablas y estados compartidos están en
src/gui_common/js/. No se necesita bootstrap-select: todos los selects usan
controles nativos. La configuración web se guarda con POST /GuardarConf,
valida en servidor y responde después de la escritura. El GET de escritura
anterior fue retirado.
Los instaladores se generan con node empaquetarLinux.js o
node empaquetarWindows.js desde la raíz, después de instalar las dependencias
de raíz y src/. No se ejecutaron empaquetados ni instalaciones del sistema
como parte de las pruebas de interfaz. El script ARM histórico incluía Node 14
y otro NW.js; ahora se detiene antes de modificar el sistema. Linux ARM puede
usar el modo web con Node.js moderno; no hay una GUI ARM validada para este runtime.


