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.

5.0 KiB

Despliegue En Raspberry Pi

Guia para instalar, validar y operar el dashboard en Raspberry Pi.

1. Preparar Raspberry Pi OS

Actualice el sistema:

sudo apt update
sudo apt upgrade -y

Instale herramientas base:

sudo apt install -y git build-essential i2c-tools nginx nodejs npm

Habilite I2C:

sudo raspi-config

Ruta:

Interface Options -> I2C -> Enable

Reinicie:

sudo reboot

2. Confirmar I2C

ls -l /dev/i2c-1
i2cdetect -y 1

Mapa esperado:

Sensor Direccion
EZO-DO 0x61
EZO-pH 0x63
EZO-EC 0x64
EZO-RTD 0x66

Si aparece 0x62 y responde ?I,ORP,..., ese modulo es ORP, no DO.

No calibre sensores hasta confirmar que la comunicacion I2C es estable.

3. Clonar El Repositorio

git clone ssh://git@gitea.itmorelia.com:222/Verano-Delfin-2026/bioreactor-multiparametric-daq-shield.git
cd bioreactor-multiparametric-daq-shield

4. Instalar El Proyecto

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

El instalador:

  • Copia el proyecto a /opt/photobioreactor.
  • Ejecuta instalacion de dependencias.
  • Compila EZO_COMMAND y EZO_ACQUIRE.
  • Crea usuario photobioreactor.
  • Agrega permisos al grupo i2c.
  • Configura /etc/default/photobioreactor.
  • Crea servicios systemd.
  • Configura Nginx.

5. Verificar Servicios

systemctl status photobioreactor-api --no-pager
systemctl status photobioreactor-acquisition --no-pager
systemctl status nginx --no-pager

Ver modo:

curl http://127.0.0.1:3000/api/system/ezo

En produccion debe indicar hardware.

6. Abrir Dashboard

Desde una computadora en la misma red:

http://IP_DE_LA_RASPBERRY/frontend/index.html

Para saber la IP:

hostname -I

7. Configurar Sensores Habilitados

Edite:

sudo nano /opt/photobioreactor/config/runtime.json

Tres sensores conectados:

{
  "loggingRateSeconds": 5,
  "historyRetentionDays": 30,
  "enabledSensors": [
    "temperature",
    "ph",
    "ec"
  ]
}

Cuatro sensores:

{
  "loggingRateSeconds": 5,
  "historyRetentionDays": 30,
  "enabledSensors": [
    "temperature",
    "ph",
    "do",
    "ec"
  ]
}

Reinicie adquisicion:

sudo systemctl restart photobioreactor-acquisition

8. Validar Sensores Individualmente

Antes de ejecutar comandos manuales, detenga el recolector:

sudo systemctl stop photobioreactor-acquisition
sudo rm -f /tmp/photobioreactor-i2c.lock

Identificar pH:

/opt/photobioreactor/sensors/EZOCommand/EZO_COMMAND /dev/i2c-1 0x63 300 i
/opt/photobioreactor/sensors/EZOCommand/EZO_COMMAND /dev/i2c-1 0x63 300 Status
/opt/photobioreactor/sensors/EZOCommand/EZO_COMMAND /dev/i2c-1 0x63 1000 R
/opt/photobioreactor/sensors/EZOCommand/EZO_COMMAND /dev/i2c-1 0x63 300 Cal,?

Cambie la direccion segun el sensor:

Sensor Direccion
DO 0x61
pH 0x63
EC 0x64
RTD 0x66

Reinicie adquisicion despues:

sudo systemctl start photobioreactor-acquisition

9. Revisar Datos

cat /opt/photobioreactor/data/EZORTD.json
cat /opt/photobioreactor/data/EZOPH.json
cat /opt/photobioreactor/data/EZODO.json
cat /opt/photobioreactor/data/EZOEC.json
tail /opt/photobioreactor/logs/temperature.csv
tail /opt/photobioreactor/logs/ph.csv
tail /opt/photobioreactor/logs/do.csv
tail /opt/photobioreactor/logs/ec.csv

10. Prueba De Estabilidad

Arranque limpio:

sudo systemctl stop photobioreactor-acquisition
sudo rm -f /tmp/photobioreactor-i2c.lock
sudo systemctl start photobioreactor-acquisition

Revise logs:

journalctl -u photobioreactor-acquisition --since "10 minutes ago" -l --no-pager

Monitoreo en vivo:

journalctl -u photobioreactor-acquisition -f

Salir:

Ctrl + C

Recomendacion de tiempo:

Duracion Uso
15 minutos Prueba rapida
1 hora Prueba inicial seria
4 horas Estabilidad de bus y alimentacion
8 a 12 horas Prueba fuerte de laboratorio
24 horas Validacion previa a operacion continua

11. Calibracion

Use soluciones de referencia vigentes y espere estabilizacion fisica de cada sonda.

Resumen:

  • RTD: Cal,<temperatura>.
  • pH: Cal,mid,7.00, luego Cal,low,4.00, luego Cal,high,10.00.
  • DO: Cal,0 y luego Cal.
  • EC: K,<valor>, Cal,dry, luego puntos humedos.

Detalle completo:

docs/EZO_COMMANDS.md

12. Seguridad Minima

Edite:

sudo nano /etc/default/photobioreactor

Configure:

API_AUTH_TOKEN=un_token_largo_y_privado

Reinicie API:

sudo systemctl restart photobioreactor-api

No exponga el dashboard directamente a Internet.

13. Apagado Seguro

Para detener adquisicion:

sudo systemctl stop photobioreactor-acquisition

Para apagar Raspberry:

sudo shutdown now

14. Diagnostico

Si algo falla, consulte:

docs/TROUBLESHOOTING.md