Skip to content

Python WebSocket server za kontrolu yolo vozila preko Raspberry Pi-ja. Uključuje real-time strimovanje kamere, dinamički zoom i systemd automatizaciju.

License

Notifications You must be signed in to change notification settings

yolo-projekat/Yolo-Projekat-Raspberry-Pi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

⚙️ YOLO Kontrolni Server

Core Backend i Mrežni Gateway za Raspberry Pi 5

Python Raspberry Pi WebSockets License: MIT


YOLO Kontrolni Server je srce autonomnog sistema, zadužen za orkestraciju hardverskih resursa.
Hostovan na Raspberry Pi 5 platformi, server omogućava ultra-brzu komunikaciju između drajvera i udaljenih AI klijenata.

🚀 Ključni Moduli

🛰️ Real-Time Komunikacija

  • WebSocket Command Center: Asinhrona obrada i distribucija komandi kretanja na portu 1606.
  • High-Speed Vision: Optimizovan HTTP striming frejmova putem /capture endpointa (Port 1607).
  • Mecanum Kinematics: Napredni algoritmi za kontrolu kretanja (napred, nazad, dijagonalno i rotacija).

📸 Vision Engineering

  • Dynamic Zoom Engine: Digitalna uveličanja (1.0x - 3.0x) integrisana direktno u picamera2 bez uticaja na latenciju.
  • Stream Optimization: MJPEG kompresija prilagođena za stabilan prenos preko Wi-Fi pristupne tačke robota.

🛡️ Fail-Safe Sistemi

  • Signal Handling: Automatska neutralizacija svih GPIO izlaza pri detekciji SIGINT ili SIGTERM signala.
  • Service Persistence: Integracija sa systemd osigurava maksimalnu dostupnost i automatski oporavak servisa pri boot-u.

🛠 Tehnološki Stack

Komponenta Tehnologija Uloga
OS Platforma Raspberry Pi OS (64-bit) Hardversko jezgro sistema
Language Python 3.11+ Glavna asinhrona logika
Camera Core Libcamera / Picamera2 Video capture i obrada
GPIO Control LGPIO / Gpiozero Upravljanje motorima
Networking WebSockets & Aiohttp Mrežni gateway

🔌 Hardverska Konfiguracija

Sistem koristi preciznu mapu pinova za kontrolu motornih drajvera:

  • Global PWM: GPIO 18 (Kontrola brzine)
  • Motor A / B: Prednja osovina (GPIO 17, 27 / 22, 23)
  • Motor C / D: Zadnja osovina (GPIO 24, 25 / 5, 6)

🔧 Deployment Servisa

Da bi server radio autonomno, koristi se systemd automatizacija. Pratite ove korake u terminalu:

Important

Proverite status servisa nakon instalacije komandom: systemctl status kretanje.service

🎨 Vizuelni Identitet Dizajniran da bude diskretan, ali moćan:

UI Style: Headless server operacije (CLI fokus).

Accent Color: #c51a4a (Raspberry Red).

Status: Dinamičko praćenje opterećenja procesora i temperature senzora.

Autor: Danilo Stoletović • Mentor: Dejan Batanjac

ETŠ „Nikola Tesla“ Niš • 2026

Releases

No releases published

Packages

No packages published

Languages