This shows you the differences between two versions of the page.
ss:laboratoare:01 [2025/02/20 16:30] 127.0.0.1 external edit |
ss:laboratoare:01 [2025/03/18 22:28] (current) jan.vaduva [Exemple de imagini pentru procesare] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ===== Laboratorul 01. ===== | + | ====== Laborator 1: Captură și transmisie de imagini prin aplicație mobilă ====== |
+ | ===== Obiectiv ===== | ||
+ | În cadrul acestui laborator, studenții vor dezvolta o aplicație mobilă pentru Android/iOS care permite: | ||
+ | * Captura de imagini utilizând camera dispozitivului mobil. | ||
+ | * Transmiterea securizată a imaginilor prin MQTT utilizând mTLS. | ||
+ | * Configurarea parametrilor camerei prin MQTT. | ||
+ | * Salvarea imaginilor local în caz de conexiune intermitentă. | ||
+ | * Implementarea a două moduri de funcționare: | ||
+ | * **Mod normal** – captură periodică și trimitere la cerere. | ||
+ | * **Mod live** – trimiterea imaginilor în timp real pentru depanare. | ||
+ | |||
+ | ===== Cerințe ===== | ||
+ | * Utilizarea **MQTT cu mTLS** pentru transmiterea datelor. | ||
+ | * Implementarea unui mecanism de **WiFi provisioning** (setarea credențialelor WiFi). | ||
+ | * Posibilitatea de a regla parametrii camerei prin **mesaje MQTT**. | ||
+ | * Implementarea a două moduri de funcționare: | ||
+ | * **Normal** – captură la intervale definite (configurabil prin MQTT). | ||
+ | * **Live** – captură și trimitere instantanee a imaginilor. | ||
+ | * Salvarea imaginilor local în caz de lipsă de conexiune. | ||
+ | * OTA update al aplicației (opțional). | ||
+ | |||
+ | ===== 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}} | ||
+ | ===== Structura laboratorului ===== | ||
+ | * **Partea 1: Configurarea MQTT și conectarea la broker** | ||
+ | * Configurarea unui broker MQTT (ex: Mosquitto, HiveMQ). | ||
+ | * Implementarea autentificării și securizării conexiunii cu **mTLS**. | ||
+ | * Trimiterea și recepția mesajelor MQTT. | ||
+ | |||
+ | * **Partea 2: Implementarea capturii de imagini** | ||
+ | * Accesarea camerei dispozitivului mobil. | ||
+ | * Captura și preprocesarea imaginilor (redimensionare, compresie). | ||
+ | * Salvarea imaginilor în memoria locală a dispozitivului. | ||
+ | |||
+ | * **Partea 3: Transmiterea imaginilor prin MQTT** | ||
+ | * Implementarea trimiterei imaginilor în mod periodic. | ||
+ | * Implementarea unui mecanism de retry în caz de conexiune slabă. | ||
+ | * Configurarea aplicației pentru a trimite imagini la cerere (prin comenzi MQTT). | ||
+ | |||
+ | * **Partea 4: Configurarea parametrilor camerei prin MQTT** | ||
+ | * Ajustarea parametrilor camerei prin mesaje MQTT (ex: rezoluție, calitate, mod nocturn). | ||
+ | * Implementarea unui UI pentru configurarea setărilor din aplicație. | ||
+ | |||
+ | * **Partea 5: Implementarea modului „Live”** | ||
+ | * Transmiterea imaginilor în timp real pe baza comenzilor MQTT. | ||
+ | * Utilizarea WebSocket/MQTT pentru afișarea imaginilor pe un server. | ||
+ | |||
+ | * **Partea 6 (Opțional): Implementarea actualizărilor OTA** | ||
+ | * Configurarea unui server pentru distribuirea actualizărilor. | ||
+ | * Implementarea unui mecanism de descărcare și instalare a noii versiuni a aplicației. | ||
+ | |||
+ | ===== Resurse ===== | ||
+ | * Documentație MQTT: [[https://mqtt.org/]] | ||
+ | * Implementarea MQTT pe Android: [[https://github.com/eclipse/paho.mqtt.android]] | ||
+ | * Implementarea MQTT pe iOS: [[https://github.com/eclipse/paho.mqtt.ios]] | ||
+ | * Captura și procesarea imaginilor în Flutter: [[https://pub.dev/packages/camera]] | ||
+ | * [[https://wiki.sei.cmu.edu/confluence/display/android/Android+Secure+Coding+Standard|Android Secure Coding Standard]] | ||
+ | |||
+ | ===== Livrabile ===== | ||
+ | * Codul sursă al aplicației mobile. | ||
+ | * Un raport tehnic care explică implementarea fiecărei funcționalități. | ||
+ | * Capturi de ecran și exemple de mesaje MQTT utilizate. | ||