Agro 4.0 Projekt

Autonomni sustav za precizno vinogradarstvo

AIAgro System Overview

Ovaj tehnički dokument opisuje arhitekturu i implementaciju AIAgro 2025 sustava. Projekt integrira distribuirane senzorske mreže (STM32/LoRaWAN), autonomne letjelice (Pixhawk/ArduPilot) i rubno računarstvo (Edge AI) u jedinstveni ekosustav za rano otkrivanje biljnih patogena (npr. Plamenjače) i optimizaciju resursa.

Točnost Detekcije (AI)

94%
Kontrolirani uvjeti

Ušteda Pesticida

25%
Ciljano tretiranje

ROI Period

2 Sezone
Povrat investicije

01 Senzorske Točke: STM32 & LoRaWAN

Srce senzorskog čvora je mikrokontroler STM32L4 (Ultra-Low Power) povezan s RFM95W LoRa primopredajnikom putem SPI sučelja. Za razliku od WiFi modula (ESP32) koji troše >100mA, ova kombinacija u Deep Sleep modu troši manje od 10µA, omogućujući autonomiju od 2+ godine na Li-Ion 18650 bateriji.

STM32 <-> RFM95W (SPI Konfiguracija)

  • NSS (CS) PA4
  • SCK PA5
  • MISO PA6
  • MOSI PA7
  • DIO0 (IRQ) PB0
  • Frekvencija 868.1 MHz (EU868)

Optimizacija Payloada: Binarno vs JSON

Hover over bits

Koristimo bit-packing umjesto JSON-a. JSON string {"t":24.5} zauzima 9 bajtova. Binarni zapis temperature (int16) zauzima samo 2 bajta. Manji paket = kraće vrijeme emitiranja (Airtime) = manja potrošnja.

Byte 0: ID Byte 1-2: Temp Byte 3: Vlaga Byte 4-5: Napon
0xA1
0x09
0x92
0x3C
0x0E
0x74
Ukupno: 6 Bytes (vs ~45 Bytes JSON)

02 Autonomna Zračna Platforma (UAV)

Hardverska "Build" Lista

  • Kontroler leta: Pixhawk 2.4.8 (FMUv3 arhitektura, 32-bit STM32F427 Cortex-M4F).
  • GPS: M8N s kompasom (Preciznost ~2.5m, za preciznije rani koristi se RTK).
  • ESC: 30A SimonK Firmware (brzi odaziv za stabilizaciju).
  • Propulzija: 920kV motori + 1045 propeleri (optimizirano za "hover" vrijeme).
  • Telemetrija: 433MHz SiK Radio za vezu s Mission Plannerom.

Misija: Grid Survey

U softveru Mission Planner konfigurira se "Survey (Grid)" opcija. Ključno je sinkronizirati brzinu leta i okidanje kamere (CAM_TRIGG_DIST parametar u ArduPilotu).

30m
60%
Procijenjena GSD (cm/px): 1.45
AIAgro Drone Prototype
Performanse AIAgro Drona vs Komercijalni Entry-Level

03 Serverska Infrastruktura & Python Obrada

Sustav se vrti u Docker kontejnerima na Raspberry Pi 5. MQTT Broker (Mosquitto) prima binarne pakete, Python skripta ih dekodira koristeći struct biblioteku i bit-shifting operacije, te šalje vremenske serije u InfluxDB. OpenHAB služi za vizualizaciju.

import paho.mqtt.client as mqtt
import struct
import influxdb_client
from influxdb_client.client.write_api import SYNCHRONOUS

# MQTT Konfiguracija
BROKER = "localhost"
TOPIC = "aiagro/sensors/uplink"

# Funkcija za dekodiranje binarnog payloada (Little Endian)
def decode_payload(payload):
    # Format: 1B (ID) + 2B (Temp*100) + 1B (Hum) + 2B (Volt)
    # struct format '

04 Edge AI & Računalni Vid

Arhitektura & Optimizacija

Koristimo Nvidia Jetson Nano (4GB). Zbog ograničenih resursa, standardni TensorFlow modeli su preteški.

  1. Model: MobileNetV2-SSD (Single Shot Detector) treniran na custom datasetu "Plamenjača" (2000 slika).
  2. Optimizacija: Konverzija u TensorRT format (.engine). Ovo spaja slojeve mreže i koristi FP16 preciznost umjesto FP32.
  3. Rezultat: FPS skok s 4 FPS (TensorFlow) na 18 FPS (TensorRT).

Inferencija u Realnom Vremenu

Skripta koristi OpenCV CUDA podršku.

# Pseudo-kod inferencije import cv2 import jetson.inference import jetson.utils net = jetson.inference.detectNet("ssd-mobilenet-v2", threshold=0.5) camera = jetson.utils.videoSource("csi://0") while True: img = camera.Capture() detections = net.Detect(img) for detection in detections: # Spremanje metapodataka if detection.ClassID == 1: # Plamenjača save_metadata({ "lat": current_gps.lat, "lon": current_gps.lon, "conf": detection.Confidence }) camera.Render(img)
● LIVE INFERENCE
FPS: 18 | Jetson Nano
DETECTIONS: 0 CONFIDENCE: --

05 Energetski Sustav & EMI Zaštita

Buck-Boost Stabilizacija

LiFePO4 baterija (4S) ima napon od 14.4V (puna) do 10V (prazna). Motori stvaraju nagle padove napona. Jetson Nano zahtijeva stabilnih 5V/4A. Koristimo XL6009 Buck-Boost konverter koji održava 12V za periferiju i dodatni 5V regulator.

EMI Filtriranje

DC motori stvaraju snažne elektromagnetske smetnje koje ruše I2C sabirnicu. Rješenje uključuje:

  • Flyback diode (1N5819) paralelno s motorima.
  • Feritni prstenovi na kabelima napajanja Jetsona.
  • 100nF keramički kondenzatori lemljeni izravno na terminale motora.
LiFePO4 Krivulja Pražnjenja

LiFePO4 održava stabilan napon duže od olovnih (Lead-Acid) baterija.


06 Pedagogija & ROI Analiza

Problem-Based Learning (PBL) u AIAgro 2025: Inženjerski Izazovi

Mentor Lovro Šverko koristi PBL metodu kako bi potaknuo učenike na razvoj kritičkog razmišljanja i poduzetničkih kompetencija. Ispod su navedeni ključni primjeri "problema" postavljenih pred tim.

1. IZAZOV
"Baterija traje samo 3 dana, a treba trajati 2 godine."

Problem: Senzorski čvor u vinogradu mora raditi autonomno cijelu sezonu, ali inicijalni prototip troši previše energije jer je mikrokontroler stalno aktivan.

Istraživanje učenika: Analiza potrošnje energije u različitim modovima rada (Run vs. Sleep). Proučavanje datasheetova za STM32L4. Kako hardverski potpuno isključiti senzor (npr. SHT31) dok se ne vrši mjerenje?

Inženjerski ishod: Implementacija Deep Sleep ciklusa s RTC alarmom za buđenje. Korištenje P-kanalnog MOSFET-a kao sklopke za napajanje perifernih senzora. Smanjenje prosječne struje s 20mA na 15µA.

2. IZAZOV
"AI model je prespor za dron u letu."

Problem: Trenirani model za detekciju plamenjače radi brzinom od 2 sličice u sekundi (FPS) na Jetson Nano modulu. Dron leti brzinom od 3 m/s, što znači da AI "propusti" veći dio vinograda.

Istraživanje učenika: Što usporava neuronsku mrežu? Razlika između FP32 i FP16 preciznosti. Što je to TensorRT i kako on optimizira slojeve mreže?

Inženjerski ishod: Konverzija modela u .engine format koristeći TensorRT. Optimizacija kroz Layer Fusion i Quantization. Postizanje brzine od 22 FPS, što omogućuje pouzdanu detekciju pri letu.

3. IZAZOV
"Električni šum ruši komunikaciju."

Problem: Svaki put kada se pokrenu motori drona ili robotske platforme, senzori na I2C sabirnici prestaju raditi ili šalju nasumične podatke.

Istraživanje učenika: Što je to EMI (elektromagnetska interferencija)? Kako motori utječu na napone na sabirnicama? Uloga pull-up otpornika i kondenzatora za filtriranje.

Inženjerski ishod: Implementacija feritnih prstenova na kablovima napajanja. Dodavanje Flyback dioda na motore. Korištenje oklopljenih (shielded) kablova za I2C komunikaciju i decoupling kondenzatora na svakom senzoru.

4. IZAZOV
"Kako poljoprivredniku objasniti da mu treba robot od 1500€?"

Problem: Tehničko rješenje je izvrsno, ali poljoprivrednik ga doživljava kao trošak, a ne kao investiciju.

Istraživanje učenika: Koliko košta jedan tretman pesticidima po hektaru? Koliko košta radna snaga za vizualni pregled vinograda? Izračun ROI (Return on Investment) faktora.

Inženjerski/Poduzetnički ishod: Izrada ROI kalkulatora. Dokazivanje da smanjenje upotrebe kemikalija za 25% isplaćuje sustav u dvije sezone. Prezentacija tehničkih podataka kroz poslovne termine (ušteda, optimizacija, profit).

Demonstracija: Kalkulator Uštede

Ušteda (25%): €1000
ROI (godine): 1.5
Financijska Projekcija (5 Godina)
5. IZAZOV
"LoRa paket se gubi u gustoj vegetaciji."

Problem: Na otvorenom prostoru domet je 2km, ali unutar vinograda signal nestaje nakon 200 metara.

Istraživanje učenika: Kako frekvencija 868MHz reagira na prepreke i vlagu u lišću? Što je Fresnelova zona? Razlika između omnidirekcijskih i usmjerenih antena.

Inženjerski ishod: Repozicioniranje gateway antene na višu točku (topografska analiza). Promjena Spreading Factora (SF) s SF7 na SF10 kako bi se povećala robusnost signala na uštrb brzine prijenosa, što je prihvatljivo za senzorske podatke.

6. IZAZOV
"Strogo povjerljivi podaci vs. javna mreža."

Problem: Podaci o stanju vinograda su poslovna tajna. Kako osigurati da susjed ne "prisluškuje" stanje vašeg uroda preko LoRa signala?

Istraživanje učenika: AES-128 enkripcija unutar LoRaWAN protokola. Razlika između ABP i OTAA aktivacije uređaja. Kako upravljati ključevima (AppKey, DevEUI)?

Inženjerski ishod: Implementacija OTAA (Over-The-Air Activation) procedure koja dinamički mijenja sesijske ključeve. Osiguravanje MQTT brokera korisničkim imenom i lozinkom uz SSL certifikat.