You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

3.3 KiB

Despliegue y validación en Raspberry Pi

Prueba sin hardware

En una computadora de desarrollo:

npm ci
npm test

Para ejecutar el sistema completo en demo, use dos terminales:

EZO_MODE=demo npm run acquire
EZO_MODE=demo npm start

Abra http://localhost:3000/frontend/index.html. El recolector genera JSON y CSV de prueba; la consola y el panel de calibración muestran transporte DEMO.

Preparación del bus I2C

En Raspberry Pi OS:

sudo raspi-config
sudo reboot
ls -l /dev/i2c-1
sudo apt install i2c-tools
i2cdetect -y 1

El mapa esperado es:

Circuito Dirección
EZO-DO 0x61
EZO-pH 0x63
EZO-EC 0x64
EZO-RTD 0x66

No continúe con calibraciones si falta una dirección, aparece una dirección inesperada o el barrido del bus es inestable.

Instalación

Desde el repositorio clonado:

chmod +x scripts/install-raspberry-pi.sh
sudo ./scripts/install-raspberry-pi.sh

El instalador copia la aplicación a /opt/photobioreactor, instala dependencias, compila EZO_COMMAND y EZO_ACQUIRE, crea el usuario de servicio, activa los dos servicios systemd y configura Nginx en el puerto 80.

Validación:

systemctl status photobioreactor-api
systemctl status photobioreactor-acquisition
journalctl -u photobioreactor-acquisition -f
curl http://127.0.0.1:3000/api/system/ezo

La respuesta de producción debe informar hardware tanto para comandos como para adquisición. EZO_MODE=hardware evita que una instalación incompleta caiga silenciosamente a valores simulados.

La API escucha únicamente en 127.0.0.1 y se publica mediante Nginx. El dashboard todavía no implementa autenticación; despliegue esta versión solo en una red local confiable y no exponga el puerto 80 directamente a Internet.

Validación previa a calibración

Desde la consola web, pruebe individualmente:

i
Status
R
Cal,?

Compruebe que cada lectura coincide con el medio físico y que los archivos de data/ cambian. El helper agrupado envía R a los cuatro circuitos, espera una sola ventana de conversión y recoge las respuestas bajo el mismo bloqueo usado por la consola.

Calibración

Realice cada procedimiento con soluciones de referencia vigentes y espere la estabilización de la sonda. El panel consulta Cal,? automáticamente después de cada comando de calibración exitoso.

  • RTD: Cal,<temperatura>.
  • pH: Cal,mid,7.00, Cal,low,4.00, Cal,high,10.00.
  • DO de dos puntos: Cal,0 y después Cal; configure antes las compensaciones.
  • EC: configure K, ejecute Cal,dry y después uno o dos puntos húmedos.

Consulte docs/EZO_COMMANDS.md para restricciones y comandos de diagnóstico.

Prueba integral

  1. Confirme lecturas, históricos, exportaciones y alarmas.
  2. Desconecte un sensor: debe aparecer DESCONECTADO mientras los demás siguen.
  3. Detenga el recolector: las lecturas deben pasar a DESCONECTADO al superar la tolerancia calculada desde la frecuencia configurada.
  4. Reinicie la Raspberry y confirme el arranque automático.
  5. Mantenga el sistema varias horas y revise journalctl, tamaño de CSV, estabilidad de valores y recuperación después de comandos de consola.

Las pruebas físicas y la exactitud metrológica no pueden certificarse fuera de la Raspberry Pi con las sondas y soluciones reales conectadas.