Agricultural IoT Sensor Pipeline

System ↔ System

IoT sensor data from edge to cloud with anomaly detection and irrigation control.

6 nodes · 5 edgesagriculture
eventsystemapidb
Visual
IoT Gateway Dataevent

LoRaWAN gateway collects soil moisture, temperature, and humidity readings.

sequentialEdge Processing
Edge Processingsystem

Local aggregation, filtering, and compression at field edge node.

sequentialCloud Ingestion
Cloud Ingestionapi

HTTPS POST to cloud IoT platform (AWS IoT Core / Azure IoT Hub).

sequentialAnomaly Detection
parallelFarmer Dashboard
Anomaly Detectionsystem

Statistical model flags readings outside 3-sigma or sensor malfunction.

conditionalIrrigation Controller
Irrigation Controllerapi

Send valve open/close command to drip irrigation system.

Farmer Dashboarddb

Write processed data to time-series DB for mobile dashboard.

uc-iot-sensor-pipeline.osop.yaml
osop_version: "1.0"
id: "iot-sensor-pipeline"
name: "Agricultural IoT Sensor Pipeline"
description: "IoT sensor data from edge to cloud with anomaly detection and irrigation control."

nodes:
  - id: "iot_gateway"
    type: "event"
    name: "IoT Gateway Data"
    description: "LoRaWAN gateway collects soil moisture, temperature, and humidity readings."

  - id: "edge_process"
    type: "system"
    name: "Edge Processing"
    description: "Local aggregation, filtering, and compression at field edge node."
    timeout_sec: 5

  - id: "cloud_ingest"
    type: "api"
    subtype: "rest"
    name: "Cloud Ingestion"
    description: "HTTPS POST to cloud IoT platform (AWS IoT Core / Azure IoT Hub)."
    retry_policy:
      max_attempts: 3
      backoff: "exponential"
    timeout_sec: 30

  - id: "anomaly_detect"
    type: "system"
    name: "Anomaly Detection"
    description: "Statistical model flags readings outside 3-sigma or sensor malfunction."

  - id: "irrigation_ctrl"
    type: "api"
    name: "Irrigation Controller"
    description: "Send valve open/close command to drip irrigation system."
    security:
      risk_level: "medium"

  - id: "farmer_dashboard"
    type: "db"
    name: "Farmer Dashboard"
    description: "Write processed data to time-series DB for mobile dashboard."

edges:
  - from: "iot_gateway"
    to: "edge_process"
    mode: "sequential"
  - from: "edge_process"
    to: "cloud_ingest"
    mode: "sequential"
  - from: "cloud_ingest"
    to: "anomaly_detect"
    mode: "sequential"
  - from: "cloud_ingest"
    to: "farmer_dashboard"
    mode: "parallel"
  - from: "anomaly_detect"
    to: "irrigation_ctrl"
    mode: "conditional"
    when: "soil_moisture < threshold_low"