Sunteți pe pagina 1din 2

Proiect Programarea interfetelor pentru instrumentatie virtuala

An 3 – 2023

Data limita predare finala proiect: ultima sedinta de proiect

1p oficiu
Etapa 1.1. – Citire fisiere *.csv si *.xls/*.xlsx (1p)
Fisierul “date_senzori.csv” contine date de la un numar de senzori (temperatura,
umiditate, etc).

Etapa 1.2. – Parsare fisier (1p)


Parsati fisierul (prezent pe platforma Moodle) prin intermediul unei aplicatii Java sau
Python, astfel incat sa obtineti:
- Un fisier “_Temperaturi.csv”;
- Un fisier “_Umiditate.csv”;
- Un fisier “_Viteza.csv”;
- Un fisier “_Prezenta.csv”.
Fiecare fisier va contine, pe langa datele din titlu si coloana cu date la care au fost facute
citirile sau la care au fost salvate (la alegere, timestamp-ul trebuie generat de catre voi).

Etapa 1.3. – Grafice (1p)


Afisati datele din fisierele obtinute in etapa 1.2 in grafice in ferestre diferite, in functie
tipul datelor (un grafic cu toate citirile de temperatura in timp, unul pentru umiditate, etc.).

Etapa 1.4 –Transmitere date via TCP (1p)


Dupa deschiderea fisierelor transmiteti datele via TCP catre un server la alegere

Etapa 1.5 – Achizitie semnal microcontroller via RS232 (1p)


Realizati conexiunea la un microcontroller la alegere via RS232. Afisati in consola
IDLE – pot fi orice date: citire canal analogic, nr random, etc. Daca nu aveti un microcontroller
la dispozitie puteti solicita unul cu imprumut pentru testare sau folosi un simulator software
pentru o interfata de loopback RS232.

Doar in caz de urgenta: In absenta unui microcontroller generati aleatoriu date in Python.

Etapa 1.6 – Achizitie semnal microcontroller, parsare, salvare .csv/.xls , transmitere


informatii via TCP si afisare grafic live cu informatiile obtinute. (2p)

Peste nota 7:
In paralel cu toate punctele de mai sus:
- Realizati o interfata grafica pentru aplicatia Python. Trebuie sa aiba aspect ingrijit si
sa urmeze o logica. Nu se accepta o insiruire de butoane ca si solutie. Vor fi punctate
doar solutiile originale si complet explicate. (2p)
- Adaugati optiunea de pornire/oprire a unui server TCP, intr-un fir separat, alaturi de
posibilitatea afisarii datelor primite intr-un grafic. Datele vor fi parsate pentru a se
incadra in anumite criterii (stabilite de voi). (1p)

*Codul va fi indentat corect si comentat in intregime.


**Programul final va fi putea fi rulat dintr-un singur fisier. Nu se accepta solutii care presupun
rularea a X programe diferite pentru a demonstra portiuni ale functionalitatii totale. Se
puncteaza doar primul program demonstrat.
***Nu se va puncta cod functional fara interpretari pertinente.
****Predarea proiectului presupune o demonstratie a functionalitatii codului alaturi de
rezolvarea a 1-2 solicitari de modificare pe loc (max 5 minute/persoana).

Realizati documentatia tehnica pentru programul scris. Cerinte:


A) Capitole obligatorii:
- Introducere;
- Solutia proprie – doar mici portiuni de cod explicate, nu se accepta capturi ale
programului fara sens. Scopul este explicarea functionarii programului ca intreg.
- Testarea solutiei proprii – rezultate obtinute - capturi;
- Concluzii;

B) Cerinte generale si formatare:


- Nu se impune un numar de pagini;
- Font Times New Roman, 10, spatiere 1 rand;
- Titluri Times New Roman, 12, Bold;
- Subtitluri Times New Roman, 10, Italic;
- Puteti folosi orice IDE
- Aspect general al lucrarii ingrijit, fara spatii goale sau figuri supradimensionate;
- Plagiatul este interzis;
- Lucrarile vor fi verificate si respinse daca nu respecta criteriile de mai sus.

Cateva link-uri utile:

https://docs.python.org/3/library/tkinter.html
https://pythonbasics.org/tkinter-image/
https://www.youtube.com/watch?v=VnwDPa9biwc
https://www.geeksforgeeks.org/how-to-use-thread-in-tkinter-python/
https://www.geeksforgeeks.org/python-different-ways-to-kill-a-thread/
https://superfastpython.com/stop-a-thread-in-python/

S-ar putea să vă placă și