Agritech / invernaderos comerciales

AGROASTRA — Plataforma IoT + IA para Invernaderos

Sistema que combina IoT, vision por computadora y machine learning para predecir cosechas y optimizar el rendimiento agricola en invernaderos cerrados y semi-cerrados.

FastAPIPyTorchOpenCVPostgreSQLTimescaleDBCeleryDocker
Antes de nosotros

El Reto

Los productores de invernadero (con foco inicial en pimiento) operan con cuadernos, hojas de calculo y olfato del agronomo para decidir cuando regar, ventilar y prever la cosecha. Cada error cuesta dias de produccion: sustrato seco que estresa la planta, picos de radiacion sin ajustar el sombreo, o cosecha proyectada con dos semanas de error que tira la planeacion logistica.

El reto no era solo digitalizar sensores: era construir una plataforma que recibiera datos de IoT en tiempo real, almacenara series de tiempo eficientemente, procesara imagenes de las plantas con vision por computadora para detectar etapa fenologica y plagas, y generara proyecciones de cosecha con modelos de machine learning — todo escalable a multiples invernaderos sin reescribir la BD cada vez.

Adicionalmente, no podia ser una aplicacion negra ni con un dashboard generico. El agronomo tenia que ver, en una sola vista, sensores activos, fotos recientes con anotaciones de IA, y la prediccion de cosecha de los proximos 14 dias para tomar decisiones operativas.

Lo que construimos

La Solucion

Construimos un backend Python 3.12 + FastAPI con documentacion Swagger automatica, autenticacion OAuth2 + JWT y 4 roles (admin, agronomo, operador, cliente). El stack incluye PostgreSQL para datos de negocio, TimescaleDB extendiendo PostgreSQL para series de tiempo de sensores (escala lineal con millones de lecturas), Redis como caché y cola, y Celery para tareas asincronas pesadas (procesamiento de imagenes, calculo de proyecciones).

El motor de IA corre con PyTorch 2.1 + torchvision para clasificacion de etapa de desarrollo, conteo de frutos, deteccion de plagas y analisis de coloracion. OpenCV se usa para preprocesamiento (recorte, segmentacion, normalizacion). Los modelos scikit-learn complementan con regresion para estimar fechas y rendimientos de cosecha. Las imagenes se guardan en AWS S3 y los embeddings se preparan para busqueda semantica con pgvector (planificado).

Toda la infraestructura corre en Docker Compose en desarrollo y Heroku en produccion via heroku.yml. Migraciones versionadas con Alembic. Monitoreo con Prometheus para metricas y Flower para observar la cola de Celery. Tests con pytest + pytest-asyncio.

Funcionalidades

Features Clave

API REST FastAPI con Swagger Automatico

Documentacion Swagger generada de los esquemas Pydantic. Endpoints para sensores, imagenes, cosecha y usuarios. Autenticacion OAuth2 + JWT. Sin documentacion manual desactualizada.

Series de Tiempo con TimescaleDB

TimescaleDB extiende PostgreSQL para hipertablas de sensores. Continuous aggregates para resumir datos por hora/dia automaticamente. Escala lineal con millones de lecturas — sin perder consultas rapidas.

Vision por Computadora con PyTorch + OpenCV

Clasificacion de etapa fenologica, conteo de frutos por foto, deteccion de plagas/enfermedades y analisis de coloracion. Modelos PyTorch fine-tuned, preprocesamiento OpenCV. Las fotos llegan via app/web y se procesan async en Celery.

Prediccion de Cosecha con Machine Learning

Modelos scikit-learn + PyTorch que combinan datos de sensores (temperatura, humedad, radiacion, humedad del sustrato) con etapa fenologica detectada por IA para estimar fechas de cosecha y rendimiento esperado.

RBAC con 4 Roles Especializados

Admin (gestion total), Agronomo (vision tecnica + decisiones), Operador (registro de campo), Cliente (vista resumen y reportes). Cada rol ve solo lo necesario.

Tareas Asincronas con Celery + Redis

Procesamiento de imagenes, calculo de proyecciones y notificaciones corren en background. La API responde rapido aunque haya 200 fotos en cola. Monitoreo con Flower para observar la cola en vivo.

Screenshots

Como se Ve

Screenshot

Dashboard del Agronomo

Vista principal con metricas en tiempo real de sensores, alertas activas, ultimas fotos procesadas con anotaciones de IA y prediccion de cosecha de los proximos 14 dias.

Screenshot

Pipeline de Imagenes con IA

Foto subida desde campo → procesamiento en Celery → anotaciones de etapa fenologica + conteo de frutos + deteccion de plagas. Vista de revision con la imagen original y la anotada lado a lado.

Screenshot

Series de Tiempo de Sensores

Graficas de TimescaleDB con datos de temperatura, humedad y radiacion solar agregados por hora/dia. Filtros por invernadero, sensor y rango de fechas.

Screenshot

Reporte de Prediccion de Cosecha

Estimacion de fecha de cosecha con intervalos de confianza, rendimiento esperado en kg, y desglose por surcos del invernadero. Exportable como PDF.

Stack

Detalles Tecnicos

ComponenteTecnologia
BackendPython 3.12 + FastAPI
Base de datosPostgreSQL 15 + TimescaleDB (series de tiempo)
ORMSQLAlchemy + Alembic (migraciones)
Cache & colaRedis (cache + Celery broker)
Async tasksCelery (procesamiento de imagenes, predicciones)
Computer VisionPyTorch 2.1 + torchvision + OpenCV
Machine Learningscikit-learn (regresion para cosecha)
StorageAWS S3 (imagenes y videos de cultivos)
AuthOAuth2 + JWT con 4 roles
MonitoreoPrometheus + Flower (Celery)
DespliegueDocker Compose (dev) + Heroku (prod, heroku.yml)
TestingPytest + pytest-asyncio con cobertura
Metricas reales

Resultados

Temp/Humedad/Radiacion/Sustrato

Sensores soportados

4 (admin/agronomo/operador/cliente)

Roles con permisos

Fase 1 completada

Estado del backend

PostgreSQL + TimescaleDB + Redis

Bases de datos

PyTorch + OpenCV

Vision por computadora

Fechas y rendimientos de cosecha

Tipo de prediccion

¿Tienes una operacion donde los datos cambian segundo a segundo y necesitas decisiones rapidas?

Construimos plataformas con IoT, series de tiempo y modelos de IA — desde el sensor hasta el dashboard, sin atajos.