This shows you the differences between two versions of the page.
pm:prj2022:dene:security_system [2022/05/27 15:39] stefan.ionica |
pm:prj2022:dene:security_system [2022/06/01 15:42] (current) stefan.ionica |
||
---|---|---|---|
Line 15: | Line 15: | ||
===== Descriere generală ===== | ===== Descriere generală ===== | ||
- | Printr-un senzor special bazat pe magneti deschiderea usii este detectata si se trimite un semnal dispozitivului principal. Acesta va astepta ca cel care a intrat in incapere (utilizatorul) sa introduca parola timp de 1 minut. Daca utilizatorul nu introduce parola in intervalul alocat, sau exista 3 incercari nereusite, va fi generat un semnal de alerta prin un buzzer si, de asemenea, va fi trimis un email catre echipa de paza. | + | Printr-un senzor special bazat pe magneti se detecteaza deschiderea usii si se trimite un semnal catre sistemul de securitate. Acesta va astepta ca cel care a intrat in incapere (utilizatorul) sa introduca parola timp de 1 minut. Daca utilizatorul nu introduce parola in intervalul alocat, sau exista 3 incercari nereusite, va fi generat un semnal de alerta prin un buzzer si, de asemenea, va fi trimis un SMS catre adminstratorul serverului. De asememea se vor afisa date despre mediul din camera de server, anume temperatura si umiditatea. |
Interfata cu utilizatorul este simplista, formata dintr-un keypad 4x4 si un ecran LCD cu 2 randuri si 16 coloane. Pe ecran se va afisa starea sistemului: | Interfata cu utilizatorul este simplista, formata dintr-un keypad 4x4 si un ecran LCD cu 2 randuri si 16 coloane. Pe ecran se va afisa starea sistemului: | ||
Line 50: | Line 50: | ||
Pentru implementarea proiectul am folosit Arduino IDE (placa de dezvoltare NodeMCU V3 foloseste cod compatibil Arduino), iar acesta consta in doua parti: sistemul de securitate si sistemul de alerta SMS. | Pentru implementarea proiectul am folosit Arduino IDE (placa de dezvoltare NodeMCU V3 foloseste cod compatibil Arduino), iar acesta consta in doua parti: sistemul de securitate si sistemul de alerta SMS. | ||
+ | |||
+ | **Sistemul de securitate** | ||
Sistemul de securitate contine placa de dezvoltare Arduino UNO, display-ul LCD, keypad-ul 4x4, buzzer-ul si senzorul de temperatura DHT22. De asemenea, in cadrul se afla logica proiectului. | Sistemul de securitate contine placa de dezvoltare Arduino UNO, display-ul LCD, keypad-ul 4x4, buzzer-ul si senzorul de temperatura DHT22. De asemenea, in cadrul se afla logica proiectului. | ||
- | Initial, sistemul se afla in starea de idle. In acesta stare pe ecran se afiseaza mesajul "Hello!". Magnetul detecteaza deschiderea usii in `loop` si schimba starea sistemul in modul de asteptare. Modul de asteptare este caracterizat prin afisarea mesajului "Waiting <N>", unde N este timpul ramas pentru introducerea parolei. Timpul este calculat folosind Timer1, care numara cate o secunda si decrementeaza contorul. Odata ce contorul atinge 0 sau au fost introduse 3 parole gresite, semnalul de alarma este trimis sistemului de alerta SMS. | + | Initial, sistemul se afla in starea de idle. In acesta stare pe ecran se afiseaza mesajul "Hello!". Magnetul detecteaza deschiderea usii in `loop` si schimba starea sistemul in modul de asteptare. Modul de asteptare este caracterizat prin afisarea mesajului "Waiting <N>", unde N este timpul ramas pentru introducerea parolei. Timpul este calculat folosind Timer1, care numara cate o secunda si decrementeaza contorul. Odata ce contorul atinge valoarea 0 sau au fost introduse 3 parole gresite, semnalul de alarma este trimis sistemului de alerta SMS, se afiseaza "Intruder", suna buzzerul si dupa 15 secunde se revine in starea initiala. |
- | Sistemul de alerta SMS este alcatuit din placa de dezvoltare NodeMCU V3, cu microchip ESP8266. Aceasta comunica cu cel sistemul principal de securitate prin portul USART si, in momentul in care primeste mesajul "intruder", se va conecta prin wifi la un webhook IFTTT, care la randului anunta aplicatia de la aceiasi de pe telefon sa trimita SMS administratorului de securitate. | + | In momentul in care se introduce parola, aceasta este afisata pe ecran prin `*`. La fiecare apasare a unei taste, caracterul `*` este adaugat pana la introducerea celor caractere necesare pentru parola. Daca parola introdusa este corecta se afiseaza "Granted" si dupa cateva secunde se trece inapoi in starea de idle, altfel se afiseaza "Denied <N>", cu numarul de secunde aferent. |
- | <note tip> | + | In permanenta, se vor afisa temperatura si umiditatea din camera de server pe al doilea rand al LCD-ului. |
- | Descrierea codului aplicaţiei (firmware): | + | **Sistemul de alerta SMS** |
- | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | + | |
- | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | + | Sistemul de alerta SMS este alcatuit din placa de dezvoltare NodeMCU V3, cu microchip ESP8266. Aceasta comunica cu cel sistemul principal de securitate prin portul USART si, in momentul in care primeste mesajul "intruder", se va conecta prin wifi la un webhook IFTTT, care la randului anunta aplicatia de la aceiasi de pe telefon sa trimita SMS administratorului de securitate. |
- | * algoritmi şi structuri pe care plănuiţi să le implementaţi | + | |
- | * (etapa 3) surse şi funcţii implementate | + | |
- | </note> | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
- | <note tip> | + | {{pm:prj2022:dene:ionica_stefan-theodor_1.jpg?800}} |
+ | {{pm:prj2022:dene:ionica_stefan-theodor_2.jpg?800}} | ||
+ | {{pm:prj2022:dene:ionica_stefan-theodor_3.jpg?800}} | ||
+ | {{pm:prj2022:dene:ionica_stefan-theodor_4.jpg?800}} | ||
+ | {{pm:prj2022:dene:ionica_stefan-theodor_5.jpeg?800}} | ||
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | ||
- | |||
- | </note> | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | In cadrul acestui proiect, am invatat foarte multe asptecte legate de dezvoltarea aplicatiilor pe microcontrollere si doresc sa refac proiectul la vara intr-o forma mai compacta si mai estetica. | ||
- | ===== Download ===== | ||
- | <note warning> | ||
- | O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-). | + | ===== Demo ===== |
- | Fişierele se încarcă pe wiki folosind facilitatea **Add Images or other files**. Namespace-ul în care se încarcă fişierele este de tipul **:pm:prj20??:c?** sau **:pm:prj20??:c?:nume_student** (dacă este cazul). **Exemplu:** Dumitru Alin, 331CC -> **:pm:prj2009:cc:dumitru_alin**. | + | https://youtu.be/x9xWjxXuchw |
+ | |||
+ | |||
+ | ===== Download ===== | ||
+ | |||
+ | {{pm:prj2022:dene:ionica_stefan-theodor_proj.zip}} | ||
- | </note> | ||
===== Jurnal ===== | ===== Jurnal ===== | ||
- | <note tip> | + | Etapele proiectului: |
+ | * 22 Aprilie - comanda de piese a ajuns | ||
+ | * 25 Aprilie - verificare functionare corecta piese | ||
+ | * 29 Aprilie - Prezentare Milestone 1 | ||
+ | * 13 Mai - implementare partiala NodeMCU V3 | ||
+ | * 15 Mai - implementare partiala Arduino UNO | ||
+ | * 21 Mai - finalizare proiect | ||
+ | * 23 Mai - Prezentare Milestone 2 | ||
+ | * 27 Mai - Wiki | ||
- | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | ||
- | </note> | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
- | <note> | + | https://www.hackster.io/RoboticaDIY/send-data-from-arduino-to-nodemcu-and-nodemcu-to-arduino-17d47a |
+ | |||
+ | https://circuitdigest.com/microcontroller-projects/sending-sms-using-esp8266 | ||
+ | |||
+ | https://diyi0t.com/esp8266-nodemcu-tutorial/ | ||
+ | |||
+ | https://diyi0t.com/uart-tutorial-for-arduino-and-esp8266/ | ||
+ | |||
+ | https://circuitdigest.com/microcontroller-projects/arduino-timer-tutorial | ||
+ | |||
+ | https://www.circuitbasics.com/how-to-set-up-a-keypad-on-an-arduino/ | ||
+ | |||
+ | https://create.arduino.cc/projecthub/MinukaThesathYapa/dht11-dht22-sensors-temperature-using-arduino-b7a8d6 | ||
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | https://create.arduino.cc/projecthub/mafzal/temperature-monitoring-with-dht22-arduino-15b013 |
- | </note> | + | https://create.arduino.cc/projecthub/SURYATEJA/use-a-buzzer-module-piezo-speaker-using-arduino-uno-89df45 |
<html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||