REALIZAREA ȘI IMPLEMENTAREA UNUI SISTEM DE SUPRAVEGHERE ȘI SECURITATE [303570]

[anonimizat]:

REALIZAREA ȘI IMPLEMENTAREA UNUI SISTEM DE SUPRAVEGHERE ȘI SECURITATE

CONȚINUTUL proiectului de diplomă

Piese scrise:

Piese desenate:Figuri

Anexe:

LOCUL DOCUMENTĂRII

CONDUCĂTOR ȘTIINȚIFIC:

Ș.L.dr. ing. . Călin MĂRGINEAN

Data emiterii temei:

Termen de predare: 12.07.2018

[anonimizat],

Ș.l. dr. Ing. [anonimizat]: Deoarece acest proiect de diplomă/lucrare de disertație nu ar fi putut fi finalizat(ă) fără ajutorul membrilor departamentului ……………………….… și a [anonimizat].

Data: ………… Semnătura

Declarație: Subsemnatul …………………….……………… declar că am întocmit prezentul proiect de diplomă/[anonimizat], sub îndrumarea conducătorului științific și pe baza bibliografiei indicate de acesta.

Data: ………… Semnătura

CUPRINS

INTRODUCERE

Scurt istoric

Sistemele de securitate au devenit tot mai utilizate ȋn ultima perioadă datorită riscului crescut de efracții ale domiciliului. Majoritatea sistemelor sunt concepute cu scopul de a preveni accesul neautorizat in cladiri si de a [anonimizat]. [anonimizat], care ofera un grad ridicat de securitate. Primele sisteme de securitate s-au dezvoltat la ȋnceputul anilor 90, ȋnsă erau foarte scumpe dar și ineficiente ȋntr-o anumită măsură. O dată cu progresele tehnologice dar și din pricina faptului că ȋn [anonimizat] ȋn același timp mai accesibile. [anonimizat] (senzor) și un sistem de alarmă care este declanșat odată ce s-a detectat un intrus. Senzorii utilizați cel mai des pentru dezvoltarea acestor tipuri de sisteme sunt cei care detectează deschiderea ușilor/geamurilor, cei de mișcare precum și senzorii de gaze/incendiu și cei de inundații.

La modul general sistemele de securitate se pot clasifica în sisteme de securitate nemonitorizate și sisteme de securitate monitorizate [1]. Sistemele nemonitorizate sunt acele sisteme care în momentul declanșării unui senzor se va porni un semnal sonor. [anonimizat] a [anonimizat].

Ȋn ziua de astăzi majoritatea sistemelor de de securitate și monitorizare sunt cele bazate pe PC sau pe diferite tipuri de microcontrolere. [anonimizat] a satisface nevoile utilizatorilor pe lângă sistemele de securitate, s-au dezvoltat și diferite tipuri de sisteme de supraveghere video. Dezvoltarea tehnologiei SGSM (Global System Mobile) a ȋmpins barierele sistemelor electronice de securitate la un nivel mult mai sofisticat oferind utilizatorilor posibilitatea de a fi notificat prin intermediul telefonului mobil cu privire la diferitele incidente care pot apărea în clădire. Pe de altă parte sistemele de securitate foarte dezvoltate mai oferă utilizatorilor posibilitatea să modifice codul de acces precum și armarea sau dezarmarea sistemului printr-o interfață web.

Producătorii de sisteme de securitate și serviciile de monitorizare a alarmei oferă utilizatorilor o varietate de moduri în care aceștia pot monitoriza sistemul de securitate al locuinței chiar și atunci când sunt departe de casa lor. Deși sistemele de securitate au evoluat foarte mult ȋn ultimii ani, vor evolua ȋn continuare ȋn pe măsură ce tehnologia progresează.

Considerații teoretice privind sistemele de securitate si supraveghere

Ȋn ziua de astăzi majoritatea sistemelor de securitate și monitorizare au la bază un microcontroler care va prelua informația furnizată de către senzori. Mai multe metode de avertizare a utilizatorului sunt propuse, printre aceste metode utilizatorul poate fi informat prin email despre posibilele efracții sau prin intermediul diferitelor aplicații, insă metoda este mai puțin eficientă ȋn situația in care acesta nu are acces la serviciul de internet. Din acest motiv majoritatea sistemelor folosesc un modul GSM, care va prelua informațiile de la microcontroler și va alerta utilizatorul printr-un SMS. La modul general, un astfel de sistem de securitate este prezentat schematic în figura 1.1, unde microcontrolerul este "creierul" întregului sistem și oferă calculele necesare pentru a controla toate acțiunile întreprinse.

Fig. 1.1. Schema bloc de principiu a unui sistem de securitate și monitorizare

Tastatura numerică are rolul de a arma sau de a dezactiva sistemul de securitate. Aceasta se efectuează adesea prin intermediul unui cod, ȋnsă sistemele de ȋnaltă securitate pot necesita mai multe coduri, amprentă, o scanare scanarea a retinei, sau alte mijloace. Pe de altă parte tastările greșite ale codului de acces au ca și rezultat declanșarea alarmei și blocarea temporizată a tastaturii pentru a evita eventualele experimentări cu coduri.

Ȋn functie de optiunile utilizatorului, acesta poate opta pentru mai multe tipuri de detectori, cum ar fi:

Detectori de mișcare conțin un senzor de mișcare care transformă mișcarea într-un semnal electric atunci când este detectată mișcare. Mai multe tipuri de sensori de mișcare sunt disponibili, ȋnsă cei mai des utilizați sunt senzorii PIR (Passive infrared). Senzorul PIR este un dispozitiv piroelectric care detectează mișcarea prin măsurarea modificărilor în nivelurile infraroșii emise de către obiecte înconjurătoare [2] [3].

Detectorul de fum are rolul de a semnala prezența fumului sau a gazelor în încăperea unde este instalat. Se folosesc două metode pentru realizarea acestor detectoare, metoda optică sau fotoelectrică si metoda fizică (ionizare) [4]. Detectorul de fum realizat prin metoda fizică folosește un radioizotop pentru a ioniza aerul. Detectorul de fum cu fascicul optic are la bază o sursă de luminainfraroșie, vizibilă sau ultravioletă, de obicei o diodă emițătoare de lumină și un receptor fotoelectric (fotodiodă). Daca fumul este prezent, conductivitatea receptorului fotoelectric este redusă, iar semnalul obținut este covnertit ȋn tensiune care la randul ei se va compara cu o tensiune de prag stabilită prin intermediul rezistoarelor variabile.

Detector de obstacole este format dintr-un transmițător si un receptor montate față ȋn față pe stâlpii opuși astfel ȋncât ȋn momentul ȋn care fasciculul IR se va ȋn trerupe ȋn momentul ȋn care cineva va trece prin el [5].

Detectorul de sunet are la bază un microfon și amplificator operational. Ȋn prima fază semnalul obținut de la microfon este amplificat iar pe urmă se compară cu o valoare stabilită. Dacă valoarea semnalului amplificat va trece de pragul stabilit, se va transmite un semnal microcontrolelului [6].

Contactori magnetici sunt formați din două părți. Partea fixă a contactului magnetic se montează pe tocul ușii iar partea mobilă (magnetul) pe rama ușii [7]. Un comutator al releului din senzor este conectat la benzile din interiorul unui cablu, Atunci când cele două benzi magnetice se ating una de cealaltă se formează un circuit ȋnchis, ȋnsă ȋn momentul ȋn care o bandă se îndepărtează de cealaltă, circuitul este deschis și comutatorul împinge în sus în firul de semnalizare ȋn urma caruia se va transmite un semnal microcontrolerului

Detectori de vibrații sunt folosiți pentru a detecta un atac asupra structurii. Acești senzori se poziționează pe uși sau ferestre și funcționează pe baza unei configurații mecanice instabile care ȋn momentul producerii unei vibrații porțiunea instabilă a circuitului se deplasează și ȋntrerupe fluxul de curent [8].

Senzori de nivel ai apei sunt folosiți pentru a detecta eventualele scurgeri de apă sau a inundațiilor. Smnalul de ieșire al senzorului fiind un semnal analogic ȋn funcție de nivelul apei [9].

Ȋn referințele internaționale sunt propuse diferite metode de implementare a sistemelor de securitate și supraveghere. Una din cele mai simple și mai puțin costisitoare metode constă ȋn realizarea sistemelor de securitate și monitorizare care informează utilizatorul despre posibilele efracții prin intermediul serviciului de internet. Un astfel de sistem s-a propus ȋn referința [10], sistemul folosește o camera web iar în momentul detectării unei mișcări ȋn fața camerei sistemul de securitate va declanșa alarma și va informa utilizatorul despre incidentul petrecut printr-un email. Însă eficiența acestor sisteme fiind scăzută din pricina faptului că se poate ȋntrerupe conexiunea la internet a sistemului.

Drept urmare, majoritatea sistemelor se securitate și monitorizare dispun și de un modul GSM, în acest fel utilizatorul fiind informat și prin intermediul unui SMS despre posibilele incidente, astfel de sisteme sunt prezentate în referințele [11, 12]. Un de sistem de supraveghere și monitorizare mai complex este propus ȋn referința [13]. După cum se poate observa ȋn figura 1.2 sistemul este ȋmpărțit în patru părți: server de supraveghere încorporat, senzori, camere mobile și de asemenea telefonul mobil. Serverul de suparveghere ȋncorporat este compus dintr-un microcontroler, un modul GSM și un card Compact Flash. Senzorii de mișcare si soneria sunt asociate ca și declanșatori. Ȋn momentul declanșării alarmei, camerele de supraveghere vor captura mai multe imagini succesive pe care le va stoca ȋn format JPEG pe unitatea de stocare. Notificările se vor transmite utilizatorului printr-un modul GSM sub forma unui SMS.

Fig. 1.2. Sistemul de securitate și monitorizare propus ȋn referința [13]

Acest sistem realizează supravegherea prin intermediul telefoanelor mobile de către aplicația Java instalată, ȋn plus sistemul funcționează independent ȋn cadrul furnizorilor de servicii de internet și a telecomunicațiilor existente.

O altă metodă de implementare a sistemelor de securitate este prezentată în referința [14], sistemul propus utilizează serviciul de internet și are la bază un microcontroler și un telefon mobil cu suport Android. Sistemul mai include un senzor PIR, un modul Bluetooth și o alicație Cloud, care oferă utilizatorului posibilitatea de a monitoriza locuința prin intermediul serviciului de internet. Principiu de funcționare al sistemului este prezentat în figura 1.3 și se împarte în 6 etape. În prima fază semnalul de detecție al mișcării generat de către senzorul PIR se transmite microcontrolerului, acesta va porni alarma și va transmite un semnal modulului Bluetooth, care va trannsmite semnalul în continuare telefonului mobil. Prin intermediul aplicației instalate pe telefonul mobil, informațiile se vor transmite pe serverul din Cloud și utilizatorul va primi o alertă prin intermediul unui SMS. Folosind aplicația, utilizatorul poate minitoriza starea imobilului în orice moment, de asemenea poate primi și notificări în momentul apariției incidentului.

Fig. 1.3. Schema bloc a sistemului de seciritate propus în referința [14]

Spre deosebire de de sistemele prezentate mai sus, o metodă diferită de implementare a sistemelor de securitate constă ȋn analiza imaginilor. Un astfel de sistem este prezentat ȋn referința [14]. Sistemul este numit ,,Smart Monitor” și se bazează pe un algoritm de analiză a imaginilor furnizate de către camerele de supraveghere. Unitatea centrală a sistemului este similară cu cea a unui PC și se pot monta camera de supraveghere, senzori și alte dispositive controlabile. Componentele principale ale sistemului sunt: modul multi-interfață, modul grafic pentru interfața cu utilizatorul, receptoare de semnal, module de control/convertoare, dispozitive de criptare, algoritm de identificare, repertoriu de obiecte, contexte și modele, modul de înregistrare și sistemul de conectare la mediu. O schemă generală de principiu a sistemului este prezentată ȋn figura 1.3.

Fig. 1.3.Schema de principiu a sistemului Smart Monitor [14]

După cum se poate observa ȋn figura de mai sus elementele elementele din chenarul albastru sunt incorporate ȋn unitatea central a sistemului. Partea esențială a softului constă ȋn analiza conținutului video care vizează ȋn principal detectarea, recunoașterea și identificarea obiectelor și a evenimentelor prezente în imaginile capturate. Există șase module principale responsabile pentru analiza conținutului video și a altor sarcini asociate ce vizează prelucrarea și interpretarea rezultatelor. O schemă bloc simplificată a acestor module este prezentată ȋn figura 1.4

Fig. 1.4.Schema bloc simplificată a celor 6 module responsabile pentru analiza conținutului video

Fiecare modul ȋn parte aplică metode și algoritmi diferiți pentru procesarea informației, care se va transmite și se va procesa ȋn serie. Deși sistemul este mai complex dar și scump, spre deosebire de celelalte sisteme, oferă un avantaj prin pricina faptului că utilizatorul poate predefini dimensiunile obiectelor care pot fi ignorate de către sistem.

Majoritatea producătorilor de sisteme de securitate din ziua de astăzi ofera o gama diversificată de produse. Cum ar fi sistem de alarmare la efracții hibrid (accepta atât detectori wireless cat si detectori pe fir, cablați ), comunicator profesional pe linie telefonică fixă având funcție anti-sabotaj (se va genera alarma dacă este taiat firul de conexiune al detectorilor pe fir sau dacă este ȋntreruptă linia telefonică, sau daca cineva incearcă să demonteze centrala de pe perete), sau posibilitatea de a controla sistemele de la distanță prin intermediul telefonului mobil. Unele sisteme oferă posibilitatea blocării automate a ușii [15] după deschidere sau prin introducerea greșită a codului de acces, care la o tastarea greșita ȋn mod repetat a codului va declanșa alarma și va bloca temporar accesul ȋn clădire. Cu toate că sistemele de securitate au devenit tot mai complexe și mai sigure, sunt ȋn continuă evoluare pe măsura progreselor tehnologice.

IMPLEMENTAREA SISTEMULUI DE SECURITATE

Considerații teoretice privind implementarea sistemului de securitate.

În aceasta lucrare s-a dezvoltat un sistem de securitate destinat locuintele. Sopul realizarii acestui sistem este de a putea detecta si alerta utilizatorul despre potentialele evenimente care se petrec in incapere, cum ar fi: scurgeri de gaze, inundatii, detectia miscarii, a sunetului, deschiderea usii sau a ferestrelor sau chiar situatia producerii unui incendiu. Sistemul s-a implementat pe modulul digital de dezvoltare Arduino Mega 2560 și este format din urmatoarele componente electronice: modul GSM, tastatură, buzzer, senzor de nivel al apei, senzor de gaze/fum, detector de mișcare, contactor magnetic și senzor de sunet. Modulele electronice sunt prezentate schematic în figura 2.1 unde se poate observa schema bloc a sistemului.

Fig.2.1. Schema bloc de principiu a sistemului de securitate.

După cum se poate observa ȋn figura de mai sus, modulul digital de dezvoltare va prelua informațiile furnizate de către senzori, iar în situația declanșării unei alarme va transmite un semal sirenei și va alerta utilizatorul cu privire la tipul alarmei declanșate printr-un SMS. De aemenea, în situațiile în care utilizatorul este în cladire sau dacă parăsește cladirea, va putea activa sau dezactiva unii detectori prin introducerea unui cod.

Module electronice utilizate pentru realizarea sistemului de securitate

Modulul de dezvoltare Arduino Mega 2560. Arduino este una dintre cele mai simplu de utilizat platforme cu microcontroller. Modulul de dezvoltare Arduino Mega 2560 prezentat ȋn figura 2.2 are la baza un microcontroler ATMega 2560 AVR ce dispune de 54 de intrări / ieșiri digitale (dintre care 14 pot fi utilizate ca porturi PWM), 16 intrări analogice, 4 UART-uri (porturi seriale hardware), un oscilator de cristal de 16 MHz, o conexiune USB, o mufa de alimentare, un antet ICSP și de un buton de resetare [x1].

Fig. 2.2. Modulul de dezvoltare Arduino Mega 2560 [x1]..

De asemenea modulul dispune de memorie flash de 256 KB pentru stocarea codului, 8 KB de SRAM și 4 KB de EEPROM (care pot fi citite și scrise cu biblioteca EEPROM).

Cei 54 de pini digitali pot fi folosiți ca și porturi de intrare sau ieșire folosind funcțiile: pin Mode, digital Write, și digitalRead. Fiecare din aceștia funcționează la tensiunea de 5V și pot primi sau furniza un curent maxim de 40mA. Modulul poate fi alimentat prin intermediul cablului USB sau printr-o sursă externă care va furniza o tensiune de alimentare cuprinsă ȋntre 6V și 20V.Pinii de alimentare sunt următorii:

VIN atunci când utilizează o sursă externă de alimentare,

5V. Sursa de alimentare reglementată folosită pentru a alimenta microcontrolerul a componentele de pe placă. Acest lucru poate veni fie de la VIN printr-un regulator de de pe placa, sau să fie furnizat de USB sau de o altă sursă de 5V,

3V3. alimentare de 3,3 volți generată de regulatorul de pe placă. Curentul maxim efiind de 50 mA,

GND. Pinii de masă

Platforma se conecteaza la calculator prin intermediul unui cablu USB A to B, iar comunicarea cu calculatorul este asigurata de procesorul Atmega 16U2, care preia functiile de convertor USB-serial.

Modul PIR HC-SR501 prezentat ȋn figura 2.3 este un senzor de mișcare PIR realizat dintr-un senzor piroelectric care poate detecta nivelurile de radiații infraroșii. Acesta este ȋmpărțit defapt ȋn două jumătăți care sunt conectate astfel ȋncât să se anuleze reciproc. Daca o jumătate observă mai multe sau mai puține radiații IR decât cealaltă, ieșirea va senzorului va oscila [x2].

Fig. 2.3. Modul PIR HC-SR501 [x2].

Caracteristicile tehnice ale modului PIR HC-SR501 sunt următoarele:

Tensiune de operare: 5V – 20V;

Curent: 65mA;

Ieșire digitală TTL: 3.3V / 0V;

Delay ajustabil: 0.3sec – 5min;

Raza: 110o, 7 metri;

Trigger L/H;

Temperatură de operare: -15oC – +70oC.

Capacul alb de plastic funcționează ca o lentilă divergentă ce î-i permite senzorului să detecteze obiecte pe o raza mult mai mare. Senzorul face citiri la intervale de timp ajustabil, cuprinse între 0.3 sec și 5 min. Interconectarea modulului PIR cu sistemul digital de dezvoltare Arduino este prezentată ȋn figura x3, unde se poate observa conectarea pinilor de alimentare prin care se furnizează tensiunea de 5V, GND necesară alimentării senzorului iar ieșirea senzorului la unul din porturile digitale ale modulului de dezvoltare.

Fig. 2.4. Utililizarea senzorului ȋmpreună cu modulul de dezvoltare Arduino [x3].

După efectuarea conexiunilor se lansează in execuție softul Arduino IDE si se introduce codul sursă prezentat ȋn figura 2.5, după care programul se compilează și se ȋncarcă.

Fig. 2.5. Codul sursă al modulului PIR HC-SR501.

Codul este foarte simplu, și de fapt indica dacă senzorul de mișcare va transmite un semnal platformei Arduino ȋn urma detectării mișcării.

Modulul analogic de fum MQ2 prezentat ȋn figura 2.6 utilizează componenta MQ-2 ca și modul sensibil și are un rezistență de protecție și un rezistor reglabil pentru a se ajusta sensibilitatea. Senzorul este sensibil la GPL, i-butan, propan, metan, alcool, Hidrogen și fum [x4]. Modulul poate detecta o concentrație a gazelor combustibile cuprinsa în intervalul 300-10000 p/m, iar rezistența componentei sensibile se modifică ȋn funcție de concentrația gazelor din incintă.

Fig. 2.6 Modulul analogic de fum MQ2 [x5].

Ieșirea senzorului se poate transmite sistemului digital de dezvoltare Arduino pe un pin analog sau pe unul digital (semnal analog sau digital). Interconectarea senzorului cu sistemul digital de dezvoltare este prezentată figura 2.7, unde este prezentată conexiunea pentru transmiterea semnalului pe un pin analogic.

Fig. 2.7. Interconectarea modulul analogic de fum MQ2 cu modulul de dezvoltare Arduino [x5].

După cum se poate observa ȋn figura de mai mai sus senzorul s-a conectat la porturile de alimentare care furnizează tensiunea de 5V, GND iar ieșirea analogică s-a conectat la porturile analogice ale platformei Arduino. După efectuarea conexiunilor, ȋn softul Arduino IDE se va introduce codul sursă din figura 2.8.

Fig. 2.8.. Codul sursă al modulul analogic de fum MQ2.

Pragul de detecție se modifică ajustând variabila " sensorThres " iar cu cât concentrația gezelor din incintă este mai mare cu atât tensiunea de ieșire pe portul analogic va fi mai mare.

Senzor de nivel al apei prezentat ȋn figura 2.9 poate fi utilizat pentru a detecta nivelul apei pe o distanță de 40mm.

Fig. 2.9. Senzor de nivel al apei ,,Water Level’’ [x6].

Caracteristicile senzorului sunt următoarele:

Tensiunea de funcționare: 3 VDC până la 5 Vcc

Curent de operare: <20 mA

Suprafață de detecție: 40 mm x 16 mm

Temperatura de operare: 10 ˚C până la 30 ˚C

Umiditate: 10% până la 90%

Dimensiune: 62 x 20 x 8 mm

Ieșirea senzorului este semnal analog, care se va conecta la portul analogic modulului de dezvoltare Arduino. Interconectarea senzorului cu platforma Arduino este prezentată ȋn figura 2.10.

Fig. 2.10. Interconectarea senzorului de nivel al apei cu modulul de dezvoltare Arduino [x6].

După cum se poate observa ȋn figura de mai mai sus senzorul de nivel al apei s-a conectat la porturile de alimentare care furnizează tensiunea de alimentare a senzorului 5V, GND iar ieșirea s-a conectat la unul din porturile analogice ale platformei Arduino. După efectuarea interconexiunilor, senzorul se testează prin introducerea codului sursă din figura 2.11.

Fig. 2.11. Codul sursă pentru testarea senzorului de nivel al apei.

După cum se poate observa ȋn codul sursă din figura de mai sus, s-a impus un prag de detecție. Dacă nivelul apei a atins acel prag sau l-a depășit microcontrolerul va transmite un semnal pe un port de ieșire unde s-a conectat un LED, indicănd ȋn acest fel prezența apei. Pe de altă parte dacă nivelul apei nu a atins acel prag impus microcontrolerul nu va transmite cel semnal care indică prezența apei.

Ȋntrerupător magnetic. Este format din două părți, după cum se vede ȋn figura 2.12, partea fixă se montează pe tocul ușii.

Fig. 2.12. Ȋntrerupător magnetic

Tastatura matriceala 4×4 cu conector pin de tip mama. Tastatură dispune de 16 butoane (cifrele de la 0 la 9 plus încă 6 butoane: A, B, C, D, * și #). Modulul este echipat cu un cablu de tip mamă cu lungimea de 5cm după cum se poate obserava ȋn figura 2.13.

Fig. 2.13 Tastatura matriceala 4×4 cu conector pin de tip mama [x11]

Caracteristici tehnice:

Număr butoane: 16;

Cifrele de la 0 la 9;

Caractere speciale: " A ", " B ", " C ", " D ", " * ", " # ".

Tensiune maxima: 24 V DC;

Curent maxim: 30 mA;

8 pini de ieșire;

Temperatură de funcționare optimă: 0 °C – 50°C;

Dimensiune pad: 6.9 cm x 7.6 cm;

Dimensiune cablu: 2.0 cm x 8.8 cm.

Principiul de funcționare al tastaturii este dat de o combinație de patru rânduri și patru coloane care vor furniza informații microcontrolerului despre starea butoanelor. Aceste conexiuni sunt prezentate în figura 2.14.

Fig. 2.14. Conexiunile tastaturii matriceale 4×4 [x11]

Sub fiecare tastă este un buton, cu un capăt conectat la unul rând, iar celălalt capăt conectat la o coloană. Pentru configurarea tastaturii ȋn prima faza se va instala librăria ,, Keypad library” și se va introduce codul sursă din figura 2.15.

Fig. 2.15. Codul sursă pentru configurarea tastaturii matricealae4x4

Liniile 6-11 definesc caracterele imprimate atunci când un anumit buton este apăsat pe tastatură

Modul GSM/GPRS A6. Se folosește pentru efectuarea apelurilor către un telefon mobil sau transmiterea de SMS-uri. Modulul este prezentat ȋn figura 2.16, și dispune de un slot micro SIM montat ȋn spatele acestuia.

Fig. 2.16. Modul GSM / GPRS A6 [x9]

Principalele caracteristicil tehnice ale modulului sunt următoarele:

Dimensiuni: 22,8 x 16,8 x 2,5 mm,

Temperatura de funcționare: -30 ° C până la + 80 ° C,

Tensiune de operare: 3.3V-4.2V,

Tensiune de alimentare:> 3.4V

Curent mediu ȋn stand-by: <3mA,

Benzi de operare: GSM / GPRS: inclusiv 850.900.1800,1900MHZ,

Clasa GPRS: 10,

Sensibilitate: <-105,

Trafic GPRS de date, rata maximă de date, descărcare 85.6Kbps. încărcare 42,8 Kbps,

Suportă comenzile standard GSM07.07,07.05 AT și comenzile extinse Ai-Thinker

Pentru alimentarea modulului se folosește un adaptor de telefon mobil care furnizează tensiunea de 5V necesară funcționării acestuia Interconectarea modulului GSM/GPRS A6 cu platforma Arduino este prezentată ȋn figura 2.17 unde se poate faptul că pinul RxD al modulului GSM s-a conectat la pinul TX al platformei Arduino iar pinul TxD s-a conectat la pinul Rx. De asemenea s-a mai realizat o masă comună ȋntre cele două module.

Fig. 2.17. Interconectarea modulului GSM/GPRS A6 cu platforma Arduino [x10].

Inițializarea modulului GSM se realizează prin conectarea ȋmpreună a pinilor Vcc și PWR_KEY care funcționează ca și un ,,chip enable” care se poate lăsa așa sau se poate deconecta dupa un moment, deoarece modulul necesită un declanșator la pinul PWR_KEY. Pentru efectuarea apelurilor ȋn prima faza se va conecta platforma Arduino cu calculatorul prin intermediul cablului USB și modulul GSM la sursa de de tensiune. Pe urmă se vor deconecta conexiunile pinilor Rx și Tx dintre modulul GSM și platforma Arduino și se va ȋncarca codul sursă prezentat ȋn figura 2.18.

Fig. 2.18. Codul sursă pentru efectuarea apelurilor.

După ȋncărcarea codului sursă din figura de mai sus se vor reconecta pinii Rx și Tx ȋntre modulul GSM și platforma Arduino. Similar se procedează și pentru transmiterea unui SMS, codul sursă pentru transmiterea de SMS-uri este prezentat ȋn figura 2.19

Fig. 2.19 Codul sursă pentru efetransmiterea de SMS-uri.

După cum se poate observa ȋn figurile de mai sus numărul de telefon spre care se vor efectua apeluri sau se vor transmite SMS-uri este trecut ȋn variabila ,, char phone_no”, ir textul mesajului transmis este notat ȋn ,, Serial.print (“GSM A6 test message!”)”.

Modul Senzor Sunet FC-04 prezentat ȋn figura 2.20 este folosit pentru detectarea intensității sunetului în împrejurimi.

Caracteristici tehnice:

Tensiune de operare: 3.3 V până la 5 V

Sensibilitate reglabilă prin potențiometru

Ieșire digitală (0 și 1, înaltă și joasă)

Dimensiune PCB: 32 x 17 mm

Fig. 2.20. Modul Senzor Sunet FC-04 [x7].

Interconectarea modulului cu sistemul digital de dezvotare este prezentată în figura 2.21, unde se poate observa ca ieșirea senzorului s-a conectat la unul din porturile analogice ale sistemului.

Fig. 2.21. Interconectarea senzorului de sunet FC-04 cu Platforma Arduino [x8]

După efectuarea interconexiunilor, se va lansa softul Arduino IDE si se introduce codul sursă prezentat ȋn figura 2.22, după care programul se compilează și se ȋncarcă.

Fig. 2.22. Codul sursă pentru testarea senzorului de sunet

După cum se poate observa ȋn codul sursă din figura de mai sus, s-a impus un prag de detecție. Dacă nivelul sunetului a atins sau a depășit pragul, se va transmite un semnal pe un port de ieșire unde s-a conectat un LED.

Testarea modulelor electronice

Ȋn prima fază s-a testat pe rând fiecare senzor ȋmpreună cu modulul GSM pentru a determina parametrii de funcționare a acestora. Prima dată s-a testat modulul GSM /GPER A6 , deoarece acesta transmite informațiile legate de posibilele alarme declanșate telefonului mobil.

Testarea modulului GSM/GPRS A6.

Ȋn figura 2.23 se poate obseva conectarea modulului GSM/GPRS A6 la platforma Arduino Mega 2560 ȋn vederea transmiterii unui SMS de probă. Ȋn prima fază s-a realizat o masă comună ȋntre modulul GSM/GPRS A6 și sistemul digital de dezvoltare Arduino Mega 2560 iar conexiunea de date s-a realizat prin intermediul pinilor RX si TX. Alimentarea modulului GSM/GPRS A6 s-a efectuat printr-un cablu USB Male la microUSB Male conectat la calculator, după care s-a inițializat modulul prin conectarea ȋmpreună a pinilor Vcc și PWR_KEY.

După efectuarea acestor interconexiuni, sistemul digital s-a conectat la calculator intermediul unui cablu USB A to B și s-a ȋncărcat codul sursă :

char phone_no[]="+40758607593";

void setup() {

Serial.begin(9600);

delay(300);

Serial.println("AT+CMGF=1");

delay(2000);

Serial.print("AT+CMGS=\"");

Serial.print(phone_no);

Serial.write(0x22);

Serial.write(0x0D); // hex equivalent of Carraige return

Serial.write(0x0A); // hex equivalent of newline

delay(2000);

Serial.print("GSM A6 test message!");

delay(500);

Serial.println (char(26));//the ASCII code of the ctrl+z is 26

}

void loop()

{

}

Ȋn urma ȋncărcării codului, in figura 2.23 se poate observa faptul că telefonul mobil a receptionat un SMS: ,, GSM A6 test message!”.

Fig.2.23.Testarea modulului GSM/GPRS A6.

Testarea modulului de prezență PIR HC-SR501.

Modulul de prezență PIR HC-SR501 s-a conectat la porturile de alimentare ale platformei Arduino Mega 2560 care furnizează tensiunea de 5Vcc și GND necesar alimentării modulului, iar informația procesată de către senzor se va transmite către pinul digital nr.7 al platformei Arduino. Modulul GSM s-a conectat de această dată la ieșirile PWM ale platformei Arduino, pinul Rx al modulului GSM s-a conectat la pinul 9 al platformei Arduino iar pinul Tx la pinul 10 al platformei.

După interconectarea modulului cu platforma Arduino, aceasta din urmă s-a conectat la calculator pentru a se ȋncărca codul sursă :

#include <SoftwareSerial.h>

SoftwareSerial mySerial(9, 10); // rx la 10 iar tx la 9

int sensor=7; //The output of PIR sensor connected to pin 7

int sensor_value;

int sms_count=0;

void setup()

{ pinMode(sensor,INPUT); // configuring pin 7 as Input

mySerial.begin(9600);

delay(500);

}

void loop()

{

senzor_prezenta();// subroutine to check sensor status and activation of outputs

}

void senzor_prezenta()

{

{

sensor_value=digitalRead(sensor); // Reading sensor value from pin 7

if(sensor_value==HIGH) // Checking if PIR sensor sends a HIGH signal to Arduino

{

{

SendTextMessage(); // Function to send AT Commands to GSM module

}

sensor_value=HIGH;

}}

}

void SendTextMessage()

{

mySerial.println("AT+CMGF=1"); //To send SMS in Text Mode

delay(1000);

mySerial.println("AT+CMGS=\"+40755574347\"\r"); // change to the phone number you using

delay(1000);

mySerial.println(" Senzor de prezenta");//the content of the message

delay(200);

mySerial.println((char)26);//the stopping character

delay(5000);

sms_count++;

}

După ȋncarcarea codului sursă, în figura 2.24 se poate observa faptul ca telefonul a receptionat un SMS transmis de către modulul GSM prin care este informat că modulul de prezență PIR HC-SR501 a detectat o mișcare ȋn raza lui de acțiune.

Fig.2.24.Testarea modulului PIR HC-SR501

Testarea modulului analogic de fum MQ2

Modulul Analogic de fum MQ6 se conectează prin porturile de alimentare ale platformei Arduino Mega 2560, care vor furniza tensiunea de 5Vcc și GND necesar funcționării senzorului. Pentru transmiterea informatiei, modulul MQ6 s-a conectat analogic cu platforma Arduino prin pinul A5. Pentru realizarea testului, s-a incarcat încărcat următorul cod sursă:

#include <SoftwareSerial.h>

SoftwareSerial mySerial(9, 10); // rx la 10 iar tx la 9

int smokeA0 = A5; //The output of smoke sensor connected to pin 7

int sensorThres = 40;

int sms_count=0;

void setup()

{ pinMode(smokeA0,INPUT); // configuring pin 7 as Input

mySerial.begin(9600);

delay(500);

}

void loop()

{

Check_Burglar();// subroutine to check sensor status and activation of outputs

delay (60000);

software_Reset ();

}

void Check_Burglar()

{

{

sensorThres=analogRead(smokeA0); // Reading sensor value from pin 7

if(sensorThres >150) // Checking if smoke sensor sends a HIGH signal to Arduino

{

{

SendTextMessage(); // Function to send AT Commands to GSM module

}

}}

}

void SendTextMessage()

{

mySerial.println("AT+CMGF=1"); //To send SMS in Text Mode

delay(1000);

mySerial.println("AT+CMGS=\"+40755574347\"\r"); // change to the phone number you using

delay(1000);

mySerial.println(" Senzor de gaze");//the content of the message

delay(200);

mySerial.println((char)26);//the stopping character

delay(100);

}

void software_Reset ()

{

asm volatile (" jmp 0 ");

}

Pentru a se testa modulul analogic de fum MQ2, senzorul a fost expus o sursă de gaze, iar rezultatul testelor este prezentat in figura 2.25.

Fig.2.25 Testarea modulului analogic de fum MQ6

Testarea senzorului de nivel al apei

Senzorul de nivel al apei s-a conectat prin porturile de alimentare ale platformei Arduino Mega 2560 care î-i va furniza tensiunea de 5Vcc și GND necesar alimentării. Informația este procesată de către sensor și este transmis analogic sistemului digital prin intermediul pinului A0.

După interconectarea senzorului cu sistemul digital, aceasta din urmă s-a conectat la calculator si s-a incarcat codul sursa :

#include <SoftwareSerial.h>

SoftwareSerial mySerial(9, 10); // rx la 10 iar tx la 9

const int waterSens = A0; // Water sensor to pin A0

int waterVal; //define the water sensor value

int sms_count=0;

void setup()

{

pinMode(waterSens, INPUT);//set water sensor as an input; // // configuring pin A4 as Input

mySerial.begin(9600);

delay(500);

}

void loop()

{

senzor_apa();// subroutine to check sensor status and activation of outputs

}

void senzor_apa()

{

{

waterVal = analogRead(waterSens);

if (waterVal > 10)// Checking if water sensor sends a HIGH signal to Arduino

{

{

SendTextMessage(); // Function to send AT Commands to GSM module

}

waterVal > 10;

}}

}

void SendTextMessage()

{

mySerial.println("AT+CMGF=1"); //To send SMS in Text Mode

delay(1000);

mySerial.println("AT+CMGS=\"+40758607593\"\r"); // change to the phone number you using

delay(1000);

mySerial.println("senzor nivel al apei");//the content of the message

delay(200);

mySerial.println((char)26);//the stopping character

delay(65000);

sms_count++;

}

Testul senzorului de nivel al apei este prezentat în figura 2.26, unde se poate observa ca telefonul mobil a receptionat un SMS prin care utilizatorul este alertat că senzorul de nivel al apei a depășit valoarea impusă.

Fig.2.26 Testarea senzorului de nivel al apei

Testarea Senzorului de Sunet FC-04

Senzorul de Sunet FC-04 s-a conectat prin porturile de alimentare ale platformei Arduino Mega 2560 prin care se furnizeaza tensiunea de 5Vcc și GND. Informația este transmisă analogic sistemului digital prin intermediul pinului A4. Pentru efectuarea testului platforma Arduino a fost conectată la calculator și s-a încărcat următorul cod sursă:

#include <SoftwareSerial.h>

SoftwareSerial mySerial(9, 10);

const int SenOut = A4; // Sound to pin A4

int sensorValue = 0;

int sms_count=0;

void setup()

{

pinMode(SenOut, INPUT); // // configuring pin A4 as Input

mySerial.begin(9600);

delay(500);

}

void loop()

{

senzor_sunet();// subroutine to check sensor status and activation of outputs

}

void senzor_sunet()

{

{

sensorValue = analogRead(SenOut);

if (sensorValue > 420)// Checking Sound sensor sends a HIGH signal to Arduino

{

{

SendTextMessage(); // Function to send AT Commands to GSM module

}

sensorValue > 420;

}}

}

void SendTextMessage()

{

mySerial.println("AT+CMGF=1"); //To send SMS in Text Mode

delay(1000);

mySerial.println("AT+CMGS=\"+40755574347\"\r"); // change to the phone number you using

delay(1000);

mySerial.println(" Senzor de sunet");//the content of the message

delay(200);

mySerial.println((char)26);//the stopping character

delay(5000);

sms_count++;

}

După ȋncarcarea codului sursă, în figura 2.27 se poate observa faptul ca telefonul mobil a primit un SMS transmis de către modulul GSM prin care utilizatorul este informat că modulul a detectat sunetele din împrejurimi care depășesc pragul de detecție impus.

Fig.2.27. Testarea modulului Senzorului de Sunet FC-04

Interconectarea sistemului

După testarea individuală a fiecărui modul pentru determinarea parametrilor de funcționare, s-a realizat interconectarea întregului sistem pentru efectuarea testelor de laborator. Sistemul este prezentat în figura 2.28, unde se poate observa poziționarea pozționarea senzorilor și interconectarea acestora cu restul componentelor electronice.

Fig. 2.28. Vederea de ansamblu a sistemului de securitate

A………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………….

IMPLEMENTAREA SISTEMULUI DE SUPRAVEGHERE

Pentru realizarea sistemului de supraveghere s-au folosit două telefoane mobile cu sistem de operare android. In acest fel, unul dintre cele doua telefoane mobile va functiona ca si dispozitiv de transmitere a informatiilor, iar celelalt telefon se utilizeaza ca si dispozitiv care va receptiona informatiile transmise.

Transmiterea imaginilor

Pentru transmiterea imaginilor, pe telefonul mobil, utilizat ca si dispozitiv de transmitere a informatiilor, s-a instalat aplicația IP Webcam. Aplicatia este gratuita si se poate descarca din magazinul Google Play. Cu ajutorul acestei aplicatii, telefonul mobil poate fi transformat într-o camera web care ofera diferite optiuni de vizualizare. Transmisia video poate fi accesata folosind utilitarul VLC Media Player sau un browswer web. De asemenea ofera si posibilitatea de transmisie a datelor pe o platforma din Cloud (Ivideon).

Aceasta aplicatie ofera posibilitatea de a particulariza preferintele pentru transmiterea imaginilor video si de asemenea setarea diferitelor efecte, cum ar fi: detectia miscarii, a sunetelor si multe altele.

Transmiterea imaginilor se poate realiza prin doua metode: transmisia in interiorul unei retele locale si transmisia pe o platforma din Cloud. Setarea telefonului pentru transmiterea de imagini in interiorul unei retele locale se realizeaza prin pornirea acestuia ca un srever care transmite informatii, iar transmisia va fi de tipul Server-Client. Pentru transmiterea informatiilor este necesara particularizarea setarilor de transmisie prin setarea unui ume de utilizator, a unei parole si a unui port. Particularizarea setarilor se efectueaza din submeniul Connection Settings aplicatiei (figura 3.1), unde se alege optiunea Local broadcasting.

Fig.3.1. Setarea conexiunilor

Aici se deschide o fereastra care ofera posibilitatea de setare a utilizatorului, a parolei, a portului si a familiei de adrese prin care se transmite informatia (figura 3.2).

Fig.3.2. Setarea transmisiei.

Pentru transmiterea informatiilor pe o platforma din Cloud este necesar crearea unui cont Ivideon, unde utilizatorul se va loga cu contul unei adrese de email si parola (figura 3.3).

Fig.3.3. Transmiterea informatiilor pe o platforma din Cloud – crearea unui cont

Dupa crearea logarea utilizatorului in contul Ivideon, din submeniul Cloud streaming se va bifa optiunea Cloud streaming active pentru a incepe transmisia datelor.

Ultimul meniu din interfata aplicatiei IP Webcam, prezentat in figura 3.4, reprezinta optiunea de pornire a serverului pentru transmisia video.

Fig.3.4. Interfata IP Webcam – pornirea serverului.

Dupa pornirea serverului, pe ecranul telefonului se vor afisa imaginile transmise, iar in parte dreapta a ecranului se poate accesa meniul ,,Actions”, care permite particularizarea transmisiei video. De asemenea in partea de jos a ecranului este afisata adresa IP, portul pe care se transmite informatia dar si numarul dispozitivelor care urmaresc imaginile transmise.

Accesarea imaginilor

Pentru accesarea imaginilor s-a folosit cel de al doilea telefon mobil, care functioneaza ca si dispozitiv de receptie a informatiilor. Pe telefon s-a instalat aplicatia Ivideon, de asemenea si aceasta aplicatie este gratuita si se poate descarca din magazinul Google Play. Aplicatia este destinata monitorizarii video la distanta si stocarea informatiilor pentru camerele de securitate, DVR (Digital Video Recorder) și NVR (Network Video Recorder). De asemenea aplicatia este destinata si telefoanelor mobile cu suport Android sau IOS si transmite in timp real alerte referitoare la diferite evenimente cum ar fi detectia miscarii sau a sunetului, care pot fi stocate local sau pe platforma Ivideon din Cloud.

Meniul aplicației este prezentat în figura 3.5. Din meniu se pot accesa dispozitivele conectate sau se pot conecta noi dispozitive. De asemenea se pot urmari alertele (detectia sunetului sau a miscarii), sau se pot efectua diferite setari cum ar fi optimizarea calitatii video sau activarea alertelor.

Fig.3.5. Meniul aplicației Ivideon

Urmarirea transmisiei video a dispozitivelor conectate se poate efectua prin accesarea submeniului Cameras. În figura 3.6 se poate observa transmisia video prin Cloud a unui dispozitiv conectat la aplicație.

Fig.3.6. Accesarea imaginilor video.

În momentul detectării mișcării sau a sunetului, aplicația va transmite notificări pe telefonul mobil despre eveniment. O astfel de notificare este prezentată în figura 3.7, unde s-a detectat o mișcare în fața camerei video a telefonului mobil.

Fig.3.7. Notificare privind detectia mișcării.

De asemenea, în submeniul All alerts al aplicatiei se pot accesa toate alertele, iar aici se poate urmări conținutul video al perioadei în care a avut mișcarea în fața camerei (figura 3.8).

Fig.3.8. Accesarea conținutului video al alertelor.

Sistemul propus în acest capitol prezintă o metodă ieftină si eficientă deoarece utilizatorul va folosi telefonul mobil ca și sistem de supraveghere pe care se va instala aplicatie gratuita. Pe de altă parte se poate utiliza conexiunea de date a telefonului, aceasta fiind o metodă eficientă dacă infractorii vor intrerupe conexiunea la serviciul de internet.

CONCLUZII

Anexe

Codul sursa al sistemului de securitate

#include <SoftwareSerial.h>

#include <Keypad.h> // library for keyboard

#include <Password.h> // library for password

Password password = Password( "1234" ); // password

const byte rows = 4; // four rows

const byte cols = 4; // three columns

char keys[rows][cols] = { // keys on keypad

{'1','2','3','A'},

{'4','5','6','B'},

{'7','8','9','C'},

{'*','0','#','D'},

};

byte rowPins[rows] = {22, 24, 26, 28 };

byte colPins[cols] = {30, 32, 34, 36};

Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, rows, cols);

SoftwareSerial mySerial(9, 10); // rx la 10 iar tx la 9

#define alrm 12 // pin for siren, buzzer

bool sound = false;

int smokeA5 = A5; // Fum to pin A5

int sensorThres = 40;

int waterSens = A0; // Water to pin A0

int waterVal = 0;

int sensor=7; // PIR to pin 7

int sensor_value;

int SenOut = A4; // Sound to pin A4

int sensorValueout = 0;

int sms_count=0;

int blueLed = 4;

int redLed = 13;

const int contactor = 2; // contactor magnetic

int state;

unsigned long ceas, timpmemorat;

int intarziereactivare = 5; // To delay for standby to armed

int intarzieredezactivare = 5; // To delay for triggered to alarm activated

int timpurlat = 5; // Time of alarm is on

// This is the variable for states "0"

char caz = 0;

int sistem = 0; // system is 0 for off and 1 for on

// polling

int counter_gas =0;

int counter_apa = 0;

int counter_contactor = 0;

//

int trigger_gas = 6;

int trigger_apa =6;

int trigger_contactor = 15;

//

void setup()

{

keypad.addEventListener(keypadEvent); // an object is created for tracking keystrokes

pinMode(alrm, OUTPUT);

Serial.begin(9600);

mySerial.begin(9600);

delay(500);

pinMode(smokeA5,INPUT);

pinMode(waterSens, INPUT);

pinMode(sensor,INPUT);

pinMode(SenOut, INPUT);

pinMode(blueLed, OUTPUT);

pinMode(redLed, OUTPUT);

pinMode(contactor,INPUT_PULLUP);

Serial.println("System startup");

}

void loop()

{

// increment counter polling

counter_gas++;

counter_apa++;

counter_contactor++;

// conditie timer gas

if ( counter_gas == trigger_gas)

{

senzor_fum_gaze();

counter_gas = 0;

}

// conditie timer apa

if ( counter_apa == trigger_apa)

{

senzor_apa();

counter_apa = 0;

}

// conditie timer contactor

if ( counter_contactor == trigger_contactor)

{

contactor_magnetic();

counter_contactor= 0;

}

ceas = millis(); // read the internal clock

keypad.getKey();

if (sistem%2 == 0)

{

// alarm is off

caz = 0;

Serial.println("System is OFF !");

digitalWrite(redLed, LOW);

}

else

{

// alarm is on

if(caz == 0)

{

caz = 1;

timpmemorat = ceas;

}

if(caz == 1) // system waiting

{

if ((ceas%1000)<500) digitalWrite(redLed, HIGH);

else digitalWrite(redLed, LOW);

keypad.getKey();

if(ceas >= timpmemorat + intarziereactivare * 1000) {caz = 2;}

//Serial.println("System is arming !");

}

if(caz == 2)

{

digitalWrite(redLed, HIGH);

keypad.getKey();

senzor_prezenta();

senzor_sunet();

}

}

}

void keypadEvent(KeypadEvent eKey){

switch (keypad.getState()){

case PRESSED:

Serial.print("Pressed: ");

Serial.println(eKey);

switch (eKey){

case '*': checkPassword(); break;

case '#': password.reset(); break;

default: password.append(eKey);

}

}

}

void checkPassword(){

if (password.evaluate()){

Serial.println("Success");

sistem++;

password.reset();

Serial.println("Armed");

}

else{

Serial.println("Wrong");

}

password.reset();

}

void senzor_fum_gaze()

{

sensorThres=analogRead(smokeA5); // Reading sensor value from pin A5

if(sensorThres >150) // Checking if smoke sensor sends a HIGH signal to Arduino

{

digitalWrite(blueLed, HIGH);

tone(alrm, 10); // Send 1KHz sound signal…

delay(5000); // …for 5 sec

SendTextMessageGas(); // Function to send AT Commands to GSM module

}

else

{

digitalWrite(blueLed, LOW);

noTone(alrm); // Stop sound…

// delay(1000); // …for 1sec

}

}

void SendTextMessageGas()

{

mySerial.println("AT+CMGF=1"); //To send SMS in Text Mode

delay(1000);

mySerial.println("AT+CMGS=\"+40756940222\"\r"); // change to the phone number you using

delay(1000);

mySerial.println(" Senzor de gaze");//the content of the message

delay(200);

mySerial.println((char)26);//the stopping character

// delay(500);

sms_count++;

}

void senzor_prezenta()

{

sensor_value=digitalRead(sensor);

Serial.write(" senzor_prezenta : ");

Serial.print(sensor_value);

if(sensor_value==HIGH)

{

digitalWrite(blueLed, HIGH);

tone(alrm, 10); // Send 1KHz sound signal…

delay(5000); // …for 1 sec

SendTextMessagePIR(); // Function to send AT Commands to GSM module

}

else

{

digitalWrite(blueLed, LOW);

noTone(alrm); // Stop sound…

}

}

void SendTextMessagePIR()

{

mySerial.println("AT+CMGF=1");

delay(1000);

mySerial.println("AT+CMGS=\"+40756940222\"\r");

delay(1000);

mySerial.println(" Senzor de prezenta");

delay(200);

mySerial.println((char)26);

// delay(500);

sms_count++;

}

void senzor_sunet()

{

sensorValueout = analogRead(SenOut);

Serial.write(" senzor_sunet : ");

Serial.println (sensorValueout);

if (sensorValueout > 1015)

{

digitalWrite(blueLed, HIGH);

tone(alrm, 10); // Send 1KHz sound signal…

delay(5000); // …for 1 sec

SendTextMessageSound(); // Function to send AT Commands to GSM module

}

else

{

digitalWrite(blueLed, LOW);

noTone(alrm); // Stop sound…

// delay(1000); // …for 1sec

}

}

void SendTextMessageSound()

{

mySerial.println("AT+CMGF=1");

delay(1000);

mySerial.println("AT+CMGS=\"+40756940222\"\r");

delay(1000);

mySerial.println(" Senzor de sunet");

delay(200);

mySerial.println((char)26);

// delay(500);

sms_count++;

}

void senzor_apa()

{

waterVal = analogRead(waterSens);

Serial.write(" senzor_apa : ");

Serial.print(waterVal);

if (waterVal > 80)

{

digitalWrite(blueLed, HIGH);

tone(alrm, 10); // Send 1KHz sound signal…

delay(5000); // …for 1 sec

SendTextMessageWater(); // Function to send AT Commands to GSM module

}

else

{

digitalWrite(blueLed, LOW);

noTone(alrm); // Stop sound…

// delay(1000); // …for 1sec

}

}

void SendTextMessageWater()

{

mySerial.println("AT+CMGF=1");

delay(1000);

mySerial.println("AT+CMGS=\"+40756940222\"\r");

delay(1000);

mySerial.println("senzor nivel al apei");

delay(200);

mySerial.println((char)26);

// delay(500);

sms_count++;

}

void contactor_magnetic()

{

state = digitalRead(contactor);

Serial.write(" contactor : ");

Serial.print(state);

if (state==HIGH)

{

digitalWrite(blueLed, HIGH);

tone(alrm, 10); // Send 1KHz sound signal…

delay(5000); // …for 1 sec

SendTextMessageContact(); // Function to send AT Commands to GSM module

}

else

{

digitalWrite(blueLed, LOW);

noTone(alrm); // Stop sound…

}

}

void SendTextMessageContact()

{

mySerial.println("AT+CMGF=1");

delay(1000);

mySerial.println("AT+CMGS=\"+40756940222\"\r");

delay(1000);

mySerial.println("contactor");

delay(200);

mySerial.println((char)26);

// delay(500);

sms_count++;

}

BIBLIOGRAFIE

Similar Posts