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] | ||