PROGRAMACIÓN · TYPESCRIPT · NPM

Smart Agriculture

Base de software en TypeScript para la agricultura de precisión: sensores, riego inteligente, drones y detección de enfermedades, publicada como paquete npm.

smartAgriculture.ts
class IrrigationController {
    constructor(
        private sensor: Sensor,
        private weatherForecast: WeatherForecast,
        private irrigationSystem: IrrigationSystem
    ) {}

    decideIrrigation(sensorData: number): void {
        if (this.weatherForecast.checkWeatherForecast()) {
            console.log("Weather conditions are suitable for irrigation.");
            this.startIrrigation();
        } else {
            console.log("Irrigation not needed based on weather forecast.");
        }
    }
}
Formación
Programa Computer Programmer · Lambton College
Año
2024
Equipo
Con Julián Casilimas
Entrega
Paquete público en npm · v1.0.1

// 01 · LA MISIÓN

La misión

Smart Agriculture propone una base de software para optimizar la producción agrícola mediante tecnología y datos. El sistema modela los componentes de una finca inteligente —sensores ambientales, pronóstico del clima, sistema de riego, drones de vigilancia y detección de enfermedades— y un controlador que combina la información de los sensores con el clima para decidir cuándo regar. Lo desarrollé en equipo con Julián Casilimas: planificamos el trabajo, documentamos las decisiones de diseño y publicamos el resultado como paquete en npm para que pueda instalarse y reutilizarse en otros proyectos. Proyecto desarrollado en el programa Computer Programmer de Lambton College, en Ontario (Canadá), bajo estándares profesionales de desarrollo, documentación y control de versiones.

// QUÉ SE CONSTRUYÓ

Principios de diseño

  • Encapsulamiento: cada clase expone una interfaz clara
  • Abstracción de elementos reales del campo
  • Inyección de dependencias en el controlador de riego
  • Componentes desacoplados y fáciles de ampliar

Trabajo en equipo

  • Planificación de tareas en Trello
  • Documentación de las decisiones de diseño orientado a objetos
  • README con instalación y ejemplo de uso
  • Control de versiones en GitHub

// ARQUITECTURA

Los componentes de una finca inteligente

Cada elemento del campo se representa como una clase con una responsabilidad única, lo que permite incorporar nuevos sensores o tecnologías sin modificar el resto del sistema.

01

Sensor

Ofrece una interfaz estándar para leer el tipo, la ubicación y el valor de cada medición, como la humedad del suelo.

02

Pronóstico del clima

Aporta la información meteorológica que determina si las condiciones son adecuadas para regar.

03

Controlador de riego

Combina los datos del sensor y del clima para decidir si activa el sistema de riego.

04

Sistema de riego

Ejecuta el riego cuando el controlador lo indica.

05

Drones

Se desplazan a las zonas del campo para tareas de vigilancia y recolección de datos.

06

Detector de enfermedades

Analiza los cultivos en busca de posibles enfermedades en las plantas.

// EJECUCIÓN

El sistema en funcionamiento

bash
$ npm install smart-agriculture
$ npm start

Sensor ID 2: Moisture at Field 5 reads value: 50
Checking weather forecast...
Weather conditions are suitable for irrigation.
Irrigation system started.
Drone Model X flying to Field 5
Disease Detector Detector Y is scanning for diseases...

Salida del programa de ejemplo incluido en el paquete.

// PROCESO

Cómo lo hice

  1. 01

    Análisis

    Qué elementos componen una finca inteligente.

  2. 02

    Diseño

    Una clase por componente y sus relaciones.

  3. 03

    Desarrollo

    Implementación en TypeScript.

  4. 04

    Documentación

    Decisiones de diseño y guía de uso.

  5. 05

    Publicación

    Compilado y publicado en npm.

MISIÓN CUMPLIDA

Resultados e impacto

¿Necesitas un sistema a la medida de tu operación?

Diseño software modular, documentado y fácil de mantener, que crece al ritmo de tu negocio.