# Despliegue En Raspberry Pi Guia para instalar, validar y operar el dashboard en Raspberry Pi. ## 1. Preparar Raspberry Pi OS Actualice el sistema: ```bash sudo apt update sudo apt upgrade -y ``` Instale herramientas base: ```bash sudo apt install -y git build-essential i2c-tools nginx nodejs npm ``` Habilite I2C: ```bash sudo raspi-config ``` Ruta: ```text Interface Options -> I2C -> Enable ``` Reinicie: ```bash sudo reboot ``` ## 2. Confirmar I2C ```bash 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 ```bash 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 ```bash 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 ```bash systemctl status photobioreactor-api --no-pager systemctl status photobioreactor-acquisition --no-pager systemctl status nginx --no-pager ``` Ver modo: ```bash 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: ```text http://IP_DE_LA_RASPBERRY/frontend/index.html ``` Para saber la IP: ```bash hostname -I ``` ## 7. Configurar Sensores Habilitados Edite: ```bash sudo nano /opt/photobioreactor/config/runtime.json ``` Tres sensores conectados: ```json { "loggingRateSeconds": 5, "historyRetentionDays": 30, "enabledSensors": [ "temperature", "ph", "ec" ] } ``` Cuatro sensores: ```json { "loggingRateSeconds": 5, "historyRetentionDays": 30, "enabledSensors": [ "temperature", "ph", "do", "ec" ] } ``` Reinicie adquisicion: ```bash sudo systemctl restart photobioreactor-acquisition ``` ## 8. Validar Sensores Individualmente Antes de ejecutar comandos manuales, detenga el recolector: ```bash sudo systemctl stop photobioreactor-acquisition sudo rm -f /tmp/photobioreactor-i2c.lock ``` Identificar pH: ```bash /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: ```bash sudo systemctl start photobioreactor-acquisition ``` ## 9. Revisar Datos ```bash cat /opt/photobioreactor/data/EZORTD.json cat /opt/photobioreactor/data/EZOPH.json cat /opt/photobioreactor/data/EZODO.json cat /opt/photobioreactor/data/EZOEC.json ``` ```bash 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: ```bash sudo systemctl stop photobioreactor-acquisition sudo rm -f /tmp/photobioreactor-i2c.lock sudo systemctl start photobioreactor-acquisition ``` Revise logs: ```bash journalctl -u photobioreactor-acquisition --since "10 minutes ago" -l --no-pager ``` Monitoreo en vivo: ```bash journalctl -u photobioreactor-acquisition -f ``` Salir: ```text 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,`. - pH: `Cal,mid,7.00`, luego `Cal,low,4.00`, luego `Cal,high,10.00`. - DO: `Cal,0` y luego `Cal`. - EC: `K,`, `Cal,dry`, luego puntos humedos. Detalle completo: ```text docs/EZO_COMMANDS.md ``` ## 12. Seguridad Minima Edite: ```bash sudo nano /etc/default/photobioreactor ``` Configure: ```text API_AUTH_TOKEN=un_token_largo_y_privado ``` Reinicie API: ```bash sudo systemctl restart photobioreactor-api ``` No exponga el dashboard directamente a Internet. ## 13. Apagado Seguro Para detener adquisicion: ```bash sudo systemctl stop photobioreactor-acquisition ``` Para apagar Raspberry: ```bash sudo shutdown now ``` ## 14. Diagnostico Si algo falla, consulte: ```text docs/TROUBLESHOOTING.md ```