Table of Contents

Server Security System

Autor: Ștefan-Theodor Ionică

Grupa: 331CB

Introducere

Acest proiect este destinat in special camerelor de servere oferind pe langa sistemul de securitate si optiuni de monitorizare al mediului.

Descriere generală

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 4×4 si un ecran LCD cu 2 randuri si 16 coloane. Pe ecran se va afisa starea sistemului:

De asemenea, printr-un senzor de temperatura si umiditate se vor colecta date care vor fi afisate pe ecran.

Hardware Design

Lista piese:

Software Design

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 4×4, 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 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.

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.

In permanenta, se vor afisa temperatura si umiditatea din camera de server pe al doilea rand al LCD-ului.

Sistemul de alerta SMS

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.

Rezultate Obţinute

ionica_stefan-theodor_1.jpg ionica_stefan-theodor_2.jpg ionica_stefan-theodor_3.jpg ionica_stefan-theodor_4.jpg ionica_stefan-theodor_5.jpeg

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.

Demo

https://youtu.be/x9xWjxXuchw

Download

ionica_stefan-theodor_proj.zip

Jurnal

Etapele proiectului:

Bibliografie/Resurse

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

https://create.arduino.cc/projecthub/mafzal/temperature-monitoring-with-dht22-arduino-15b013

https://create.arduino.cc/projecthub/SURYATEJA/use-a-buzzer-module-piezo-speaker-using-arduino-uno-89df45

Export to PDF