Proiectul meu urmărește implementarea unei alarme anti furt, folosind un microcontroller ESP32. Se va declanșa un buzzer la detectarea mișcării și se va afișa pe un LCD un mesaj. Alarma se poate dezactiva prin introducerea unei parole. Există 2 variante de proiect:
Utilizatorul va deschide serverul pentru a introduce parola. Acesta are 2 opțiuni: fie dorește să dezactiveze alarma (știind că acesta sau o persoană de încredere va trece pe lângă senzor și nu este nevoie să fie declanșat), fie o oprește dacă deja s-a declanșat. Pentru a afla informații despre utilizarea alarmei, acesta va avea un log care conține data și ora la care a fost declanșată alarma, și data, ora la care a fost introdusă parola și numele persoanei care a introdus-o. Alte funcționalități disponibile sunt schimbarea parolei și modificarea numelui utilizatorului privilegiat.
Am folosit următoarele componente:
Am conectat componentele la placa de dezvoltare astfel:
Am alimentat placa cu 3,3V.
La pornire, se efectuează un warm-up al sistemului, în care se asteaptă câteva secunde. Se printează pe LCD mesaje care confirmă începerea warm-up-ului, desfășurarea lui și finalizarea. Se printează apoi un mesaj de listening. Senzorul verifică dacă se detectează mișcare. În caz afirmativ, se declanșează LED-ul și buzzer-ul, iar pe LCD se afișează un mesaj de avertizare și timpul trecut de când a sunat alarma. Pentru a o opri, utilizatorul pornește serverul, introduce numele său și parola, iar alarma se resetează. Parola se poate schimba din pagina corespunzătoare a site-ului, introducând parola veche pentru verificare. De asemenea, există o pagină de log-uri, care contorizează declanșarea alarmei, oprirea ei și schimbarea parolei.
Am folosit PlatformIO pentru lucrul cu placa ESP32 și PyCharm pentru dezvoltarea serverului și frontend-ului. Am folosit următoarele biblioteci 3rd-party:
Funcționalități implementate:
Am reușit să implementez un proiect cu majoritatea funcționalităților pe care mi le-am propus. În final, am reușit să obțin atât din punct de vedere hardware, cât și software, un produs simplu, dar funcțional.
Am reușit să implementez tot ce mi-am propus. Mi-am dezvoltat cunoștințele harware comparativ cu începutul proiectului și am avut ocazia să lucrez cu tehnologii care mă interesau și să le integrez în proiect (partea de server).