Interactive simulators for every layer of the platform: ingestion pipelines, agronomic physics (FAO-56, GDD, NDVI/EVI/LSWI), CNN-LSTM yield prediction, Neo4j + pgvector GraphRAG, edge-quantized SLM advisory, and quantum QAOA / VQE optimization.
[ IoT Edge Nodes (ESP32 / LoRa) ]
│
(LoRaWAN Gateway · SIM7600)
│
[ MQTT Broker ]
│
[ Apache Kafka ]
┌──────────────────────────────────────┴──────────────────────────────────────┐
▼ ▼ ▼
[ Flink Stream Processor ] [ Celery Workers ] [ PySpark Core Ingest ]
(15-min windowing · anomaly) (mobile media · voice STT) (Sentinel-2 STAC · IMD)
│ │ │
▼ ▼ ▼
[ TimescaleDB · hot ] [ S3 · raw media ] [ Iceberg · warm lakehouse ]
│ │ │
└──────────────────────────────────────┼──────────────────────────────────────┘
▼
[ Unified Processing Layer ]
(vector embeddings · graph synthesis)
│
┌─────────────┴─────────────┐
▼ ▼
[ pgvector · HNSW ] [ Neo4j property graph ]Sentinel-2 COG stack ─► [ 2D CNN extractor ] ─┐
├─► [ concat ] ─► [ BiLSTM ] ─► [ Dense ] ─► ŷ (t/ha)
15-min soil & weather ─► [ 1D aggregator ] ─┘class AgriSenseEdgeClassifier(nn.Module):
def __init__(self, num_classes=45):
super().__init__()
self.backbone = mobilenet_v3_small(pretrained=True).features
self.pool = nn.AdaptiveAvgPool2d(1)
self.head = nn.Sequential(
nn.Linear(576, 128), nn.Hardswish(),
nn.Dropout(0.2), nn.Linear(128, num_classes))
def forward(self, x):
x = self.pool(self.backbone(x))
return self.head(torch.flatten(x, 1))(:Farmer {id})─[:OWNS]──►(:Field {id, area_ha})
│ │
│ ├─[:HAS_SOIL]──►(:SoilProfile)
│ ├─[:LOCATED_IN]►(:Village)
│ └─[:CURRENT_SEASON]►(:CropCycle {season:'Rabi'})
│ │
│ └─[:LOGGED_PEST]►(:PestOutbreak)
└─[:SELLS_AT]─►(:Mandi)─[:PRICE_TICK]►(:PriceQuote)MATCH (f:Farmer)-[:OWNS]->(field:Field)-[:HAS_SOIL]->(s:SoilProfile {texture:'loam'})
MATCH (field)-[:CURRENT_SEASON]->(c:CropCycle {crop:'onion'})
MATCH (c)-[:LOGGED_PEST]->(p:PestOutbreak {symptom:'aphid'})
RETURN f.id, field.id, p.severity ORDER BY p.severity DESC[System: Professional Agronomist Advisory · Phi-3-mini · NF4 · ONNX Mobile] Context: - Location: Yeola, Nashik, Maharashtra - Crop: Onion · Bhima Super - Soil moisture: 42% · Temp: 28°C - Sentinel-2 NDVI drop: 15% (10 d) - Graph: high RH last 72h · aphid outbreak nodes within 3 km - Vector hits: kb-021 (aphids), kb-044 (Stemphylium blight) User: "leaves curling"
• Likely thrips/aphid stress + early Stemphylium under high RH. • Moisture in optimal band — no irrigation action. • Hold harvest decision — re-check NDVI in 5 days.
| field | NDVI | dist | area | picked |
|---|---|---|---|---|
| F-01 | 0.42 | 1.2km | 1.8ha | ○ 0 |
| F-02 | 0.71 | 2.6km | 2.4ha | ○ 0 |
| F-03 | 0.31 | 4.1km | 1.1ha | ● 1 |
| F-04 | 0.58 | 3km | 3.2ha | ○ 0 |
| F-05 | 0.22 | 5.8km | 2ha | ● 1 |
| F-06 | 0.66 | 6.1km | 1.5ha | ● 1 |