This shows you the differences between two versions of the page.
ss:laboratoare:02 [2025/02/20 16:30] 127.0.0.1 external edit |
ss:laboratoare:02 [2025/03/18 22:28] (current) jan.vaduva [Exemple de imagini pentru procesare] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ===== Laboratorul 02. ===== | + | ====== Laborator 2: Platformă web pentru gestionarea imaginilor ====== |
+ | |||
+ | ===== Obiective ===== | ||
+ | * Crearea unei platforme web care primește, procesează și salvează imaginile transmise prin MQTT de platforma hardware/mobila | ||
+ | * Implementarea unui sistem de autentificare și autorizare pentru utilizatori | ||
+ | * Gestionarea dispozitivelor hardware/mobile conectate (vizualizare, actualizare firmware, configurare) | ||
+ | * Controlul parametrilor camerei și al modului de funcționare prin interfață web | ||
+ | * Implementarea operațiunilor de procesare a imaginilor (redimensionare, filtrare, analiză de bază) | ||
+ | * Vizualizarea și descărcarea imaginilor procesate | ||
+ | * Implementarea mecanismului de actualizare OTA pentru dispozitivele hardware | ||
+ | |||
+ | ===== Exemple de imagini pentru procesare ===== | ||
+ | Puteti folosi ca si exemplu pentru inregistrarea si procesare urmatoarele imagini. | ||
+ | Obiectul este cel de a extrage textul din imaginile sau PDF-ul atasat. | ||
+ | |||
+ | Din imaginea atasata putem extrage informatie despre persoana, profesia, locul de munca, avizul medical si tipul controlului de medicina muncii. | ||
+ | {{ :ss:laboratoare:medicina_muncii.jpeg?nolink&250 | Imagine raport medicina muncii}} | ||
+ | |||
+ | Pentru a simplifica partea de procesare pe partea de web se pot extrage aceste informatii din fisierul PDF atasat ca alternativa. | ||
+ | |||
+ | {{ :ss:laboratoare:vaduva_jan_alexandru.pdf | PDF raport medicina muncii}} | ||
+ | |||
+ | ===== Cerințe tehnologice ===== | ||
+ | * **Backend**: Python (Flask/Django/FastAPI) sau Node.js (Express) | ||
+ | * **Frontend**: React/Vue/Angular pentru interfața utilizatorului | ||
+ | * **Bază de date**: PostgreSQL/MySQL/MongoDB pentru stocarea imaginilor și metadatelor | ||
+ | * **MQTT Broker**: Eclipse Mosquitto/HiveMQ pentru recepția imaginilor | ||
+ | * **Cloud Storage**: AWS S3/MinIO sau filesystem local pentru imaginile salvate | ||
+ | * **Procesare imagini**: OpenCV/Pillow pentru filtrare, redimensionare și analiză | ||
+ | |||
+ | ===== Funcționalități ===== | ||
+ | |||
+ | ==== 1. Recepția și salvarea imaginilor transmise prin MQTT ==== | ||
+ | * Subscriere la topic-ul MQTT pe care dispozitivele trimit imagini | ||
+ | * Decodificarea și salvarea imaginilor într-un director local sau cloud storage | ||
+ | * Stocarea metadatelor imaginii în baza de date (timp, dispozitiv sursă, parametri cameră) | ||
+ | |||
+ | ==== 2. Autentificare și gestionare utilizatori ==== | ||
+ | * Înregistrare și autentificare utilizatori cu roluri diferite (admin, operator, vizualizator) | ||
+ | * Protejarea endpoint-urilor API cu JWT/OAuth | ||
+ | |||
+ | ==== 3. Vizualizarea și gestionarea dispozitivelor conectate ==== | ||
+ | * Listarea dispozitivelor conectate și a ultimelor imagini primite | ||
+ | * Monitorizarea stării dispozitivelor (online/offline, parametri activi) | ||
+ | * Comenzi de control trimise către dispozitive (reglare parametri cameră, schimbare mod operare) | ||
+ | |||
+ | ==== 4. Procesarea imaginilor ==== | ||
+ | * Redimensionare automată pentru optimizare | ||
+ | * Aplicare de filtre de bază (contrast, luminozitate, grayscale) | ||
+ | * Analiză simplă a imaginii (detecție muchii, histograma culorilor) | ||
+ | |||
+ | ==== 5. Descărcarea și vizualizarea imaginilor ==== | ||
+ | * Galerie cu imagini sortate după dispozitiv și timp | ||
+ | * Opțiune de descărcare a imaginilor brute sau procesate | ||
+ | |||
+ | ==== 6. Actualizare firmware OTA pentru dispozitivele hardware/mobile ==== | ||
+ | * Trimiterea unei versiuni noi de firmware către dispozitive | ||
+ | * Monitorizarea stării update-ului (success/fail/log-uri) | ||
+ | |||
+ | ===== Evaluare ===== | ||
+ | * Implementarea sistemului de recepție și salvare imagini (20%) | ||
+ | * Autentificare și gestionare utilizatori (15%) | ||
+ | * Monitorizare și control dispozitive hardware (20%) | ||
+ | * Procesare și optimizare imagini (20%) | ||
+ | * Vizualizare și descărcare imagini (15%) | ||
+ | * Implementarea OTA (opțional) | ||
+ | |||
+ | ===== Resurse suplimentare ===== | ||
+ | * [https://flask.palletsprojects.com Flask Documentation] / [https://fastapi.tiangolo.com FastAPI Documentation] | ||
+ | * [https://mqtt.org MQTT Protocol Overview] | ||
+ | * [https://opencv.org OpenCV Image Processing] | ||
+ | * [https://react.dev React Documentation] | ||