FUNDAȚIA PENTRU CULTURĂ ȘI ÎNVĂȚĂMÂNT “IOAN SLAVICI” TIMIȘOARA UNIVERSITATEA “IOAN SLAVICI” TIMIȘOARA FACULTATEA DE INGINERIE DOMENIUL CALCULATOARE… [306946]
FUNDAȚIA PENTRU CULTURĂ ȘI ÎNVĂȚĂMÂNT
“IOAN SLAVICI” TIMIȘOARA
UNIVERSITATEA “IOAN SLAVICI” [anonimizat], [anonimizat]. [anonimizat]: [anonimizat]
2019
Cuprins
CAPITOLUL I – Introducere 7
[anonimizat], [anonimizat] 9
2.1 Sistemele de monitorizare și automatizare folosite de către operatorii de telecomunicații 9
2.1.1 Site-urile de telecomunicații 11
2.1.2 Centrul de operațiuni de rețea NOC 11
2.2 [anonimizat] a instalațiilor de climatizare 12
2.3 [anonimizat] 14
2.4 [anonimizat] 14
2.5 Monitorizarea, alarmarea și automatizarea cu ajutorul centralelor de detecție 16
2.6 Monitorizarea, alarmarea și controlul de la distanță al alimentării cu energie electrică 18
2.7 Monitorizarea, alarmarea și controlul de la distanță a generatoarelor 19
[anonimizat], alarmare și automatizare 21
3.1 Selectarea și interconectarea părților hardware 22
3.2 Placa de dezvoltare Arduino UNO R3 22
3.3 Controlerul de rețea Arduino Ethernet Shield W5100 25
3.4 Unitățile de senzori și relee utilizate în proiectarea hardware a sistemului 26
3.5 Senzorul de nivel de apă 27
3.6 Senzorul de temperatură și umiditate AM2320 28
3.7 Senzorii de curent 29
3.8 Senzorul de tensiune 30
3.9 Unitățile de relee 30
3.10 Dispozitive folosite pentru monitorizarea accesului în site 31
3.11 Dispozitive folosite la circuitul de alimentare 34
3.12 Proiectarea și realizarea componentei software a sistemului 35
3.13 Diagramă Setup 36
3.14 Diagramă intruziune 37
3.15 Diagramă citire senzori 38
3.16 Diagramă control relee temperatură 38
3.17 Diagramă răspuns HTML 39
[anonimizat], alarmare și automatizare 41
4.1 Testarea părții sistemului ce asigură monitorizarea accesului în site 41
4.2 Testarea părții sistemului ce asigură monitorizarea și automatizarea mediului ambiental 42
4.3 Testarea părții sistemului ce asigură monitorizarea alimentării cu energie electrică 44
Capitolul V – Concluzii 45
Bibliografie 46
Anexa I [anonimizat] 47
Anexa II Index figuri 52
CAPITOLUL I – [anonimizat]-urile de telecomunicații. Cu ajutorul sistemului proiectat starea echipamentelor din camera tehnică a site-ului poate fi monitorizată de la distanță.
Partea de monitorizare de la distanță a sistemului se ocupă cu monitorizarea următorilor parametrii: starea accesului în camera tehnică prin monitorizarea stării ușii (deschisă sau închisă), starea sistemului de alarmă (armat sau dezarmat), starea parametrilor ambientali din camera tehnică (temperatura, umiditate, nivel de apă) și starea alimentării cu energie electrică de la rețea sau de la acumulator (sursa de rezervă) a site-ului.
Partea de alarmare la distanță a sistemului se ocupă cu afișarea de mesaje importante în funcție de anumiți paramentrii predefiniți și anume: starea accesului în camera tehnică (echipă de intervenție în site sau intruziune), o posibilă inundație (nivel apă ridicat), întreruperea alimentării cu energie electrică de la rețea (lipsă energie electrică de la rețea) și starea temperaturii ambientale din camera tehnică (temperatură joasă sau temperatură înaltă).
Partea de automatizare a sistemului permite automatizarea controlului următoarelor echipamente: pornirea instalației de iluminat atunci când ușa este deschisă, pornirea instalațiilor de răcire (ventilator) și încălzire (radiator) în funcție de temperatura mediului ambiental care duc la o funcționare optimă a echipamentelor de telecomunicații. Sistemul proiectat permite obținerea de informații în timp real despre accesul în site iar daca acesta este neautorizat duce la descurajarea locală a eventualelor intruziuni neautorizate prin utilizarea unui dispozitiv de semnalizare audio (buzzer) ce emite un sunet deranjant.
Conform statisticilor populația digitală globală din ianuarie 2019 se situa la nivelul a 4.388 miliarde de utilizatori activi de internet, iar accesarea internetului cu ajutorul telefonului mobil este făcută de 63.4% din populația globală [17]. Văzând aceste statistici ne dăm seama că tot mai multă populație accesează zilnic internetul ceea ce însemnă pentru furnizorii de telecomunicații necesitatea asigurării unor servicii de bună calitate care să se realizeze fără întreruperi.
În speranța reducerii numărului de deranjamente și a timpului de nefuncționare în care telecomunicațiile sunt întrerupte trebuie să îmbunătățim operațiunile de monitorizare și prevenție a eventualelor deranjamente. Multe din deranjamentele site-urilor de telecomunicații sunt cauzate din cauza gestionării neeficiente a infrastructurii IT și a eventualelor deranjamente provocate din cauze diverse cu ar fi intruziunile neautorizate, deranjamente cauzate din lipsa alimentării cu energie electrică, deranjamente ale echipamentelor de comunicații care nu sunt tratate în funcție de prioritate.
Pentru o monitorizare eficientă a telecomunicațiilor și o detecție a funcționării necorespunzătoare cât mai promptă a echipamentelor dintr-un site de telecomunicații am proiectat și am realizat un sistem de monitorizare, alarmare și automatizare pentru site-urile de telecomunicații care pot fi monitorizate de la distanță de către centrele de operațiuni de rețea.
Sistemele de monitorizare și alarmare sunt extrem de importante pentru centrele de operațiuni a rețelelor, deoarece oferă informații cum ar fi: starea echipamentelor de telecomunicații, securitatea site-urilor și a camerelor tehnice. Securitatea site-urilor de telecomunicații, a camerelor tehnice, a sălii serverelor este foarte importantă deoarece orice intruziune neautorizată poate produce pagube marcante fie că au fost produse voit cu scopul furtului sau vandalismului, dintr-o eroare, sau fără nici o intenție.
Automatizarea sistemelor de climatizare (răcire și încălzire) din camerele tehnice ale site-urilor este vitală în a asigura funcționarea în parametrii optimi a echipamentelor de telecomunicații. Funcționarea în parametrii a unei rețele de telecomunicații constă în funcționarea corectă a echipamentelor IT folosite la transportul datelor și a unei bune securități a transmisiei datelor. Sistemul de monitorizare, alarmarea și automatizare proiectat poate fi adaptat în funcție de cerințele clientului indiferent că este furnizor de servicii IT diverse cum ar fi: internet, telefonie, televiziune, radiocomunicații, furnizor de servicii cloud etc., deoarece se pot aduce îmbunătățiri sistemului dezvoltat prin înlocuirea unor funcții disponibile sau adăugarea ulterioară a unor funcții noi.
Necesitatea acestui studiu provine din nevoia asigurării unor servicii de bună calitate, care să se realizeze fără întreruperi și de ușurare a muncii omului prin introducerea unui sistem capabil să ofere sprijin în monitorizarea, alarmarea și automatizarea echipamentelor folosite în site-urile de telecomunicații.
În această lucrare s-a dorit a se proiecta un sistem de monitorizare, alarmare și automatizare simplu (datorită componentelor hardware folosite), care este ușor instalabil și mentenabil (datorită modularității componentelor), dezvoltat cu un cost de preț mic și care are o versatilitate sporită din punct de vedere al utilizării.
CAPITOLUL II – Sisteme de monitorizare, alarmare și automatizare folosite în site-urile de telecomunicații
Operatorii de telecomunicații se confruntă cu noi provocări pentru operarea rețelei lor iar așteptările sunt ridicate în ceea ce privește fiabilitatea rețelei. În același timp nivelul pregătirii personalului care se ocupă cu intervențiile din teren și bugetele aferente pentru operațiile de mentenanță a rețelei sunt în scădere. Sunt create noi instrumente care permit o abilitate mult mai mare de monitorizare și control de la distanță a securității, a sistemelor de climatizare folosite în site-urile de telecomunicații. Sistemele de automatizare a site-urilor de telecomunicații sunt soluții care sunt deja utilizate în perspectivă de aproape toti operatorii din întreaga lume. Automatizarea actuală a site-urilor de telecomunicații este o extensie modernă a ceea ce a fost odată denumită de operatori ca fiind gestionarea de la distanță a site-ului sau sistemul de monitorizare de la distanță.
Nu cu mulți ani în urmă, exista o clasă de produse denumită unitate terminală de control la distanță RTU (Remote Terminal Unit) [14]. Au fost utilizate în principal pentru a monitoriza închiderile de contact de la alte piese de echipament cum ar fi radiatoarele cu microunde sau redresoarele de curent continuu. De-a lungul timpului, aceste dispozitive au devenit bazate pe protocolul de comunicații IP (Internet Protocol) la fel ca și echipamente monitorizate de către RTU. Datorită creșterii nivelului de eficiență în gestionarea site-urilor la distanță, au fost dezvoltate seturi de funcții și instrumente care reduc povara gestionării site-urilor și duc la creșterea numărului de site-uri pe care un tehnician îl poate gestiona. Această colecție de instrumente definește o nouă clasă de produse, un controler al sistemului de automatizare a site-urilor de telecomunicații.
Colectarea datelor și controlarea de la distanță a echipamentelor și instalațiilor din site-uri era o condiție necesară în zilele noastre datorită faptului că operatorii se confruntă cu presiuni de scădere a prețurilor și necesitatea de a face mai mult cu resurse mai puține. Astăzi o singură unitatea de control poate controla generatoarele, redresoarele, sistemele de climatizare, sistemele de iluminat, sistemele de stingere a incendiilor, sistemele de control al accesului, sistemul de securitate, sistemul de înregistrare cu camerele de luat vederi și alte sisteme.
Sistemele de monitorizare și automatizare sunt importante deoarece cu ajutorul lor se pot obține costuri reduse prin reducerea consumului de energie și gestionarea mai eficientă a site-urilor [1]. Furtunile puternice, ninsorile puternice, incendiile și alte evenimente ce pot produce avarii au scos la iveală slăbiciunile rețelei și au arătat nevoia unor strategii pentru "întărirea" site-urilor. Sistemele de monitorizare și automatizare pot oferi beneficii valoroase sub forma unei rețele mai rezistente și mai eficiente.
2.1 Sistemele de monitorizare și automatizare folosite de către operatorii de telecomunicații
Sistemele de monitorizare și automatizare folosite de către operatorii de telecomunicații sunt formate din două părți: partea hardware care cuprinde unități de comandă și control, senzori, relee, etc., și care reprezintă partea de automatizare a sistemului și partea software care cuprinde partea de monitorizare, alarmare și control de la distanță a întregului sistem [2].
Mai jos sunt prezentate tipurile de sisteme de automatizare folosite în site-uri de telecomunicații:
– sistemele de automatizare care utilizează instalația electrică existentă sunt ieftine deoarece nu necesită cabluri suplimentare pentru a transfera informațiile. Acest sistem este complicat, necesitând circuite și dispozitive suplimentare de convertire a semnalului;
– sistemele de automatizare cu cabluri utilizează o magistrală de comunicații comună la care sunt conectate toate echipamentele din camera tehnică;
– sistemele de automatizare wireless sunt un avans tehnologic de automatizare în comparație cu automatizarea cu fir. Se folosesc tehnologii wireless pentru realizarea monitorizării și controlul operațiilor de la distanță.
Progresul sistemelor poate fi evidențiat prin următoarele etape sau generații de sisteme de automatizare: sistem de automatizare cu panou central de control și monitorizare, sistem de automatizare cu panou central computerizat de control și monitorizare, sistem de automatizare cu minicalculator cu panou de colectare a datelor, sistem de automatizare cu microprocessor folosind o rețea LAN (Local Area Network) și sistem de automatizare compatibil cu rețele de intranet sau internet.
Mai jos în figura 2.1 este prezentată schema unui sistem de monitorizare, alarmare și automatizare folosit într-un site de telecomunicații.
Figura 2.1 Sistem de monitorizare, alarmare și automatizare a site-urilor
Beneficiile site-urilor automatizate sunt rezumate mai jos:
– Controlul echipamentelor și al instalațiilor. Controlul este cel mai important avantaj al utilizării sistemelor de monitorizare, automatizare și control deoarece permite controlul de la distanță. Accesul la toate echipamentele și instalațiile din site este posibil de la distanță, unde se poate verifica starea lor și se pot comanda echipamentele și instalațiile conform dorințelor;
– Reducerea costurilor. Cu ajutorul monitorizării și a controlului de la depărtare vine și reducerea costurilor operative datorită reducerii semnificative a intervențiilor de mentenanță și a potențialelor deranjamente care pot duce la nefuncționarea echipamentelor de telecomunicații;
– Economisirea energiei. Sistemele permit controlul instalațiilor de climatizare, care sunt acționate automat în funcție de temperatura ambientală, în acest mod obținându-se un consumul de energie redus;
– Securitate sporită. Site-urile pot să aibă instalate camere video analogice, camere wifi sau camere cu IP care pot permite monitorizarea non-stop a site-ului. Împreună cu acestea, senzori de fum, senzori de prezență, senzori laser și alarme automate de intruziune sunt instalate care duc la creșterea securității site-urilor. Cel mai important lucru este că site-ul este securizat și este sub control tot timpul;
Pentru a înțelege mai bine principiul de funcționare al unui sistem de monitorizare și automatizare trebuie să înțelegem mai bine cum funcționează o rețea de telecomunicații [7].
O rețea tipică de telecomunicații este formată din: site-urile de telecomunicații și centrele de operațiuni de rețea NOC. Site-urile de telecomunicații sunt locurile unde se află echipamentele de telecomunicații care furnizează serviciile de comunicații către clienți iar centrele de operațiuni de rețea NOC este locul distant din care se monitorizează și se operează controlul asupra site-urilor de telecomunicații.
2.1.1 Site-urile de telecomunicații
Infrastructura operatorilor de telecomunicații se bazează foarte mult pe performanțele site-urilor lor deoarece cu ajutorul site-urilor se realizează transportul de date între site-uri dar și transportul de date către terminalele cliențiilor [16]. O rețea de telecomunicații este formată din mai multe site-uri care sunt interconectate între ele și care asigură în felul acesta emisia de semnal pe o suprafață cât mai mare.
Un site de telecomunicații radio tipic constă dintr-un turn sau pilon cu antene sau radiorelee și o mică clădire la baza turnului care este o cameră tehnică numită shelter. Pereții shelter-ului constau dintr-o carcasă exterioară din beton turnat, perete intermediar metalic, izolație și placaj interior. Există și sheltere fabricate din carcasă de metal pe diferite dimensiuni în funcție de nevoile operatorilor de telecomunicații.
Shelter-ele conțin echipamente de telecomunicații specifice cum ar fi echipamente indoor ale antenelor și radioreleelor care sunt echipamente de transport a datelor, echipamente de alimentare cum ar fi redresoarele, sisteme de alimentare autonome cum ar fi generatoarele de curent, ups-urile sau lanțurile de acumulatori și echipamente de rețea cum ar fi switch-urile, routerele etc.
Sistemele de monitorizare, automatizare și securitate sunt gândite din faza de proiectare a site-urilor și sunt realizate în regim personalizat conform cerințelor operatorului de telecomunicații asigurând o bună furnizare de servicii integrate [6]. În figura 2.2 se poate observa amplasamentul unui site de telecomunicații situat în câmp.
Figura 2.2 Site de telecomunicații
2.1.2 Centrul de operațiuni de rețea NOC
Centrul de operațiuni de rețea NOC (Network operations center) este un loc fizic, unde administratorii de rețea (tehnicieni sau ingineri) pot supraveghea, monitoriza și întreține o rețea și toate dispozitivele conectate la aceasta [15]. De obicei se folosește acronimul NOC, aceasta fiind o cameră cu acces securizat plină cu monitoare (pot fi și ecrane foarte mari cum sunt cele folosite de către NASA) care afișează informații detaliate de monitorizare, starea vizuală a unei rețele și a dispozitivelor asociate acesteia. Acesta este locul central pentru depanare, actualizări de software, distribuție de patch-uri de securitate, administrarea routerelor, a domeniilor și coordonarea cu rețelele afiliate. În figura 2.3 se poate observa dispunerea ecranelor de monitorizare în cadrul unui centru de operațiuni de rețea NOC.
Figura 2.3 Centrul de operațiuni de rețea NOC
NOC-ul poate să fie aflat în locații fizice unde pot fi și echipamente de telecomunicații (săli de echipamente cu routere, switch-uri, servere, etc.) dar și locul distant din care se monitorizează și se operează controlul asupra rețelelor de telecomunicații sau a site-urilor de telecomunicații care sunt dispersate geografic pe o arie foarte mare. Obligațiile unui NOC rămân aceleași indiferent de locația sa sau de mărimea rețelei de telecomunicații pe care o monitorizează.
Sistemele de monitorizare folosite astăzi în camerele tehnice din site-urile de telecomunicații monitorizează parametrii cum ar fi temperatura, umiditatea, detecția de fum, detecția incendiilor, detecția nivelului de apă, detecția intruziunilor neautorizare, alimentarea cu energie electrică a echipamentelor, starea acumulatorilor sau a generatoarelor.
Utilizarea acestor sistemele de monitorizare și control de la distanță a echipamentelor au ca efect obținerea unor metode de economisire a resurselor, gestionare a deranjamentelor, planificare a intervențiilor de mentenanță, furnizare a serviciilor neîntrerupte și de o mai bună calitate.
2.2 Sistemele de monitorizare, automatizare și control a instalațiilor de climatizare
Primele sisteme automatizate din site-urile de telecomunicații au fost sistemele de control a instalațiilor de încălzire, ventilație și aer condiționat deoarece funcționarea echipamentelor în parametrii optimi este influențată de o temperatură ambientală adecvată. Odată cu creșterea flexibilității arhitecturii controlerelor logice programabile PLC [14], a fost posibilă implementarea unor algoritmi inteligenți de control a instalațiilor de încălzire, ventilație și aer condiționat, precum și asigurarea unei conectivități la rețea pentru monitorizare care nu era disponibilă cu soluțiile tradiționale utilizate de instalațiile de climatizare în mod normal.
În trecut, PLC-urile nu au fost luate în considerare pentru controlul instalațiilor de climatizare deoarece aveau niște costuri prohibitive în comparație cu produsele folosite în mod uzual. Odată cu dezvoltarea tehnologiei a dus la scăderea prețului controlerelor, ele devenind rentabile, creând astfel oportunitatea de a aplica tehnologia PLC în domeniul telecomunicațiilor. Pentru furnizorul de servicii de telecomunicații rezultatul a fost reducerea costurilor cu energia consumată, capacitatea de a monitoriza de la distanță și de a controla sistemele de climatizare din rețeaua lor.
Obiectivul unui sistem de automatizare și monitorizare a instalațiilor de climatizare este de a controla temperatura, umiditatea relativă, mișcarea aerului și curățenia aerului în incinta camerelor tehnice (shelter) din site-urile de telecomunicații. Acești factori afectează în mod individual și colectiv performanțele echipamentelor electronice.
Camerele tehnice conțin echipamente de telecomunicații, echipamente de alimentare (generatoare de curent, ups-uri sau lanțuri de acumulatori), echipamente de rețea (switch-uri, routere etc.), echipamente de transport a datelor, toate acestea generând continuu căldură și necesitând răcire pe tot parcursul anului. De obicei sistemele de climatizare sunt formate din unități de răcire (clime cu aer condiționat), unități de ventilație a aerului (ventilatoare ce scot aerul cald afară) și unități de încălzire (radiatoare electrice).
În figura 2.4 se pot observa (de la stânga la dreapta) sisteme de ventilație cu turbină de aer montată pe acoperiș, fante de ventilație ajustabile, ventilator axial și ventilatoare electrice montate pe tavan utilizate în cadrul unui site de telecomunicații.
Figura 2.4 Sisteme de ventilație
Ventilația automatizată este o modalitate mai sigură de a ventila atunci când avem nevoie de rezultate consecvente. Un aparat de aer condiționat răcește o cameră tehnică, deoarece elimină căldura din aerul din interior și o transferă afară în aer liber. Majoritatea sistemelor de climatizare cu aer condiționat au cinci componente mecanice: un compresor, un condensator, o bobină de vaporizator, o suflantă și un agent frigorific chimic.
În figura 2.5 se poate observa un sistem de aer condiționat (de la stânga la dreapta) care este format din unitatea externă ODU (outdoor unit), unitatea internă IDU (indoor unit) și panoul de control al sistemului de automatizare care conține termostatul ambiental utilizate în cadrul unui site de telecomunicații.
Figura 2.5 Sistem de aer condiționat
Un aparat de încălzire folosit în site-urile de telecomunicații este un radiator electric care ajută la încălzirea aerului din camera tehnică în sezonul rece, deoarece produce căldura prin trecerea curentului electric prin rezistență aparatului. Este nevoie de sistem de încălzire în site-urile de telecomunicații doar în zonele unde anotimpul rece este prezent.
În figura 2.6 se poate observa un sistem de încălzire care este format dintr-un radiator electric care încălzește mediul ambiental dintr-un site de telecomunicații în sezonul rece.
Figura 2.6 Sistem de încălzire
La fel ca și sistemele de ventilație și aer condiționat, sistemele de încălzire se leagă la panoul de comandă și control pentru a putea fi asigurată automatizarea sistemului, monitorizarea și controlul de la distanță. Prin urmare, este esențial ca mediul ambiental din camerelor tehnice să fie controlat pentru a maximiza funcționarea echipamentelor, obținerea performanțelor optime ale componentelor electronice și pentru a minimiza eventualele defecțiuni ale echipamentelor.
2.3 Monitorizarea mediului ambiental din site-urile de telecomunicații
Monitorizarea mediului ambiental din camerele tehnice ale site-urilor se face utilizând următorii senzori ce pot determina parametrii importanți:
– senzor de temperatură și umiditatea folosit pentru monitorizarea temperaturii și umidității din camera tehnică;
– senzor detecție fum folosit pentru monitorizarea prezenței fumului;
– senzor nivel de apă folosit pentru monitorizarea prezenței apei;
– senzor de aer folosit pentru monitorizarea prezenței fluxului de aer;
– senzor de monoxid de carbon folosit pentru monitorizarea prezenței monoxidului de carbon;
– senzori de hidrogen folosit pentru monitorizarea prezenței hidrogenului;
Se pot folosi senzori pentru monitorizarea condițiilor meteo exterioare camerei tehnice a site-ului. Utilizarea unei stații meteorologică dedicată este cel mai bun mod de obținere a datelor legate de condițiile meteo din zona site-urilor, dar ridică costurile cu achiziția hardware. Condițiile meteo se pot obține și prin accesarea informațiilor disponibile online pe internet, obținute cu stațiile meteorologice specializate situate în zona din proximitatea site-ului de telecomunicații.
2.4 Sistemele de securitate și automatizare folosite în site-urile de telecomunicații
Deși în zilele noastre aproape fiecare persoană din lume deține un telefon mobil și dorește o acoperire bună a telefonului mobil atunci când dorește să facă un apel, să trimită un mesaj text sau să se conecteze la internet, când vine vorba de locația site-urilor de telecomunicații nimeni nu vrea ca operatorul să instaleze un pilon în apropierea locuinței sau a locului de muncă. Din cauza importanței comunicațiilor mobile, astăzi există piloni cu antene și relee de telecomunicații pretutindeni [18]. Deoarece sunt atât de multe și conțin tehnologie costisitoare, acestea reprezintă infrastructură critică pentru operatorii de telecomunicații și clienții lor. Acest lucru a dus, în consecință, la o securitate sporită a turnurilor de telecomunicații, atât în formele cibernetice cât și în cele fizice de protecție a securității.
Figura 2.7 Sistem de securitate și automatizare a site-urilor
Sistemul de securitate și automatizare a site-urilor de telecomunicații prezentat mai sus în figura 2.7 este compus din:
– Camere de supraveghere video CCTV (Close-circuit television). Se pot folosi camere video analogice, camere video cu IP, camere video termice și camere cu protecție împotriva exploziilor pentru a oferi supraveghere video de la distanță;
– Sistemul de automatizare din camera tehnică a site-ului. Sistemul acționează echipamentele din clădire fie cu ajutorul controlului de la distanță, fie în urma unor reguli de funcționare definite anterior;
– Panoul de control al alimentării cu energie electrică. Se poate monitoriza consumul de energie electrică al site-ului și nivelul bateriilor utilizând echipamentele de măsurare a curentului electric;
– Perimetrul de protecție al site-ului. Se poate monitoriza eficient pentru orice intruziune în perimetrul site-ului și trimiterea unei alerte instantanee prin sistemul de alertare.
– Controlul accesului în site. Pentru controlul accesului la intrarea în site se pot instala sisteme de acces cu cititor de carduri de acces sau o tastatura pentru introducerea codului de acces;
– Grup electrogen sau generator electric de curent. Prin monitorizarea generatoarelor se menține energia de rezervă care este necesară în cazul în care alimentarea electrică de la rețea este întreruptă. Generatoarele sunt automatizate facând parte din gama generatoarelor industriale concepute sa functioneze imediat ce sunt instalate, necesitând doar adăugarea lichidului de răcire, combustibil și acid sulfuric pentru accumulator;
– Rezervorul de combustibil. Monitorizarea nivelului de combustibil din rezervoarelor destinate să alimenteze generatoarele de rezervă are o importanță deosebită deoarece lipsa alimentării cu energie electrică poate duce la nefuncționarea echipamentelor;
– Instalația de iluminat exterioară și de sonorizare. Controlul instalației de iluminat exterioară și a unei instalații sonore ce poate descuraja intruziunile neautorizate se poate face prin automatizare hardware sau prin controlul de la distanță de către administratorii de rețea din cadrul NOC-urilor.
Datorită prezenței pretutindeni a telefoniei mobile, este necesar ca și site-urile de telefonie mobilă să fie omniprezente. Toate aceste site-uri necesită echipamente de telecomunicații care pot să creeze o rețea ce va permite telefoanelor mobile și altor dispozitive conectate să comunice cu echipamentele centrale de telecomunicații, care apoi conectează apelurile către restul lumii. Deoarece turnurile de telecomunicații sunt atât de numeroase și sunt localizate în locații îndepărtate (în special în zonele rurale), există pericolul constant ca acestea să fie vizate de hoți și vandali. Există site-uri unde alimentarea cu energie electrică nu este posibilă, deci trebuie să fie alimentate de generatoare, care folosesc benzină sau motorină. Amenințarea cu furtul combustibilului destinat alimentării generatorului este larg răspândită.
Alte amenințări la adresa securității site-urilor o reprezintă incendiile, alte distrugeri cauzate de intruziunile neautorizate care pot duce la perturbarea transmisiei semnalului sau chiar la nefuncționarea diferitelor echipamente. Deoarece site-urile sunt ținte atrăgătoare pentru hoți și vandali, tehnologia este folosită pentru a monitoriza încercările de intruziuni neautorizate și pentru a genera alerte în timp real declanșate de aceste evenimente.
Există o varietate de motive ca securitatea site-urilor să includă măsuri de securitate fizică stricte. Există adesea multe cazuri de furturi de combustibil, de sârmă de cupru, de baterii și vandalism. Deci, este important să fie protejate site-urile de telecomunicații cu camere de securitate mobile de la distanță, precum și dispozitivele de securitate de la distanță și alte măsuri. Pentru monitorizare se folosește soft-ul inteligent de detectare și alarmare a intruziunilor.
În figura 2.8 se poate observa un sistem de supraveghere video format din trei camere de luat vederi dar și instalații de avertizare luminoasă și sonoră menite să descurajare eventualele intruziuni neautorizate.
Figura 2.8 Sistem de securitate cu camere de luat vederi
Pentru o securitate mai bună a site-urilor de telecomunicații se pot avea în vedere următoarele metode de siguranță:
– Supraveghere cu ajutorul camerelor de filmat. Toate turnurile de celule trebuie monitorizate de la distanță cu ajutorul camerelor de filmat. Este recomandat ca filmarea să fie făcută în mod continuu iar monitorizarea să se realizeze fie cu un soft inteligent fie cu ajutorul personalului;
– Automatizarea instalațiilor de descurajare a intruziunilor. Deoarece cele mai multe site-uri de telecomunicații sunt nesupravegheate, este recomandată utilizarea automatizării pentru controlul instalației de iluminat exterioară, a instalației de sonorizare și a altor metode de descurajare a furtului;
– Monitorizarea generatorului și a nivelului de combustibil. Din cauza amplasării site-urilor în zone unde rețeaua electrică este foarte nesigură sau unde apar întreruperi dese ale alimentării cu energie electrică este recomandată existența unui generator de rezervă. Monitorizarea stării generatorului și a nivelului de combustibil permite asigurarea comunicațiilor continue în timpul întreruperilor;
– Monitorizarea alimentării de la rețea și a acumulatorilor. Similar cu situația generatoarelor de mai sus, infrastructura de telecomunicații este importantă, necesitând o funcționare neîntreruptă a serviciilor. În cazul unei întreruperi a alimentării de la rețea este necesară existența unei surse de curent de rezervă. Această sursă de rezervă este de regulă un lanț de acumulatori. Monitorizarea de la distanță a alimentării de la rețeaua de energie electrică cât și starea acumulatorilor este recomandată să se facă atât pentru pentru a se asigura funcționarea continuă a serviciilor;
– Perimetrul de apărare și de control al accesului. Este foarte importantă existența mai multor niveluri de securitate pentru a monitoriza și proteja bunurile aflate în site. Este recomandată existența unui sistem perimetral, care să asigure o mai bună securitate împotriva intruziunilor neautorizate pentru stoparea eventualelor furturi ale echipamentelor de comunicații, ale instalațiilor cum ar fi generatoarele, acumulatorii și rezervele de combustibil.
2.5 Monitorizarea, alarmarea și automatizarea cu ajutorul centralelor de detecție
Operatorii de telecomunicații au înțeles importanța protejării site-urilor împotriva incendiilor sau a intruziunilor ilegale. De aceea mulți operatori folosesc sisteme de monitorizare și alarmare la distanță cu centrală de detecție. Centralele de detecție a intruziunilor și a incendiilor actuale oferă posibilitatea de monitorizare cu ajutorul stației centrale asigurând o notificare promptă și sigură pentru a putea proteja proprietățile deservite. Multe firme de telecomunicații folosesc serviciile de monitorizare oferite din partea unor terțe firme deoarece au personal specializat pentru intervenții în caz de intrări ilegale sau mașini dotate cu echipamente de stingere a incendiilor.
Un sistem de alarmă anti-efracție cu stație centrală de detecție este unul în care funcționarea dispozitivelor și a circuitelor de protecție este semnalizată automat unei locații numită punct central de monitorizare, al cărei unic scop este furnizarea de servicii de monitorizare cu scopul protecției [4]. Activitățile de armare și de dezarmare a sistemului de alarmă sunt responsabilitatea persoanelor autorizate cu acces în locație, însă aceste sarcini (deschiderea și închiderea) sunt semnalizate la postul central unde sunt înregistrate și notate. Comunicațiile privind deschiderea și închiderea incintei asigură funcționarea sistemului de alarmă. La primirea unui semnal de alarmă, operatorul stației centrale determină dacă este vorba despre o deschidere sau o închidere autorizată sau o alarmă a unei intruziuni neautorizate. Dacă există o condiție de alarmă, operatorul trimite imediat echipa specializată de intervenție și anuntă poliția.
Centrala de detecție în sine trebuie să fie construită dintr-un material care oferă siguranță, unitatea centrală să aibă o structură rezistentă la foc, să conțină echipamentele specifice de detecție a incendiilor (senzor de fum, senzor infraroșu, senzor de temperatură), să conțină sisteme de semnalare și de avertizare a incendiilor, să conțină echipamente de înregistrare, de testare și de alimentare de rezervă.
Centrala de detecție monitorizeaza toate intrările de la detectorii montați în incintă, sesizează orice schimbare de la condițiile normale semnalate de aceștia și pregătește sistemul pentru a interveni prin activarea ieșirilor (sirena de alarmare, sisteme de avertizare vocală, transmițătorul telefonic sau mijloacele de stingere automată și limitare a extinderii incendiului). Centrala poate asigura de asemenea energia electrică pentru senzorii și releele folosite în cadrul sistemului. Se folosesc centrale inteligente (adresabile) deoarece au una sau mai multe bucle la care se conectează o serie de module de monitorizare (detectori), butoane manuale, module de control și sirene, fiecare cu adresa lui. Centrala Fire Class 200, prezentată în figura 2.9, are o buclă la care se pot conecta în mod obișnuit până la 396 de dispozitive conectate.
Figura 2.9 Centrală de detecție a intruziunilor și a incendiilor
Centralele inteligente au o flexibilitate mult mai mare decat centralele analogice și sunt adecvate pentru obiective de dimensiuni medii și mari. Sistemele inteligente de detecție și avertizare adresabile (inteligente) identifică fiecare senzor cu o anumită adresă. Centrala de incendiu comunică cu fiecare dispozitiv care emite rapoarte despre nivelurile de căldură sau fum precum și cu modulele de comandă si control prin care sistemul interacționează cu restul clădirii. Centrala de incendiu și nu detectorul, ia decizia de a activa starea de alarmă în funcție de automatizarea acesteia. Pentru locațiile mai mari, folosind un sistem inteligent de cartografiere și localizare a tuturor elementelor sistemului, incendiul detectat poate fi localizat cu exactitate.
2.6 Monitorizarea, alarmarea și controlul de la distanță al alimentării cu energie electrică
Sistemele disponibile astăzi pot monitoriza și trimite alarme la distanță privind alimentarea cu energie electrică a site-urilor de telecomunicații anunțând eventualele deranjamente survenite. Sistemele pot obține informații cum ar fi citirea în timp real a tensiunii de alimentare pentru fiecare fază de alimentare, dar și citirea în timp real a informațiilor primite de la redresoarele de încărcare, citirea stării acumulatorilor și a nivelului de încărcare al UPS-urilor (alimentarea de backup) [8]. Pe lângă informațiile primite sistemele pot permite alertarea prin trimiterea de mesaje dacă există situații care necesită atenție.
Infrastructura de telecomunicații este importantă, necesitând o funcționare neîntreruptă a serviciilor oferite și în cazul unui deranjament al alimentării de la rețea este necesară existența unei surse de curent de rezervă care să asigure alimentarea provizorie până la rezolvarea problemelor. Această sursă de rezervă este de regulă un lanț de acumulatori (alimentat cu ajutorul unui redresor), o sursă de curent neîntreruptibilă UPS (uninterruptible power supply) sau un generator de curent (situația generatoarelor va fi dezbătută în subcapitolul de mai jos). Monitorizarea și alarmarea de la distanță a alimentării de la rețeaua de energie electrică cât și monitorizarea stării acumulatorilor este recomandată să se facă pentru a se asigura funcționarea continuă a serviciilor.
Pentru alimentarea de la rețea se pot folosi relee multifuncționale de monitorizare care sunt o soluția ieftină pentru controlul continuu și pentru monitorizarea parametrii de sistem importanți din punct de vedere electric și fizic. Prin intermediul releelor multifuncționale pot fi monitorizați următorii parametrii: tensiunea de descărcare și tensiunea minimă, supracurentul și pragul minim de curent, căderea de fază, succesiunea de faze și asimetria fazelor, factorul de putere, puterea activă și nivelul de umplere fazelor.
Lanțul de acumulatori sau UPS-urile folosite sunt proiectate să corespundă nevoilor de alimentare specifice ale site-ului. De regulă pachetul standard al lanțului de acumulatori conține opt baterii de acumulatori de mare capacitate care vor furniza 300 de ore de funcționare la 24V sau 48V curent continuu nominal. Se poate monitoriza starea utilizării acumulatorilor în felul acesta putând evalua durata de funcționare al echipamentelor alimentate de la acumulatori în cazul unei avarii. Sistemele pot fi monitorizate și comandate de la distanță, circuitul cu redresori în felul acesta putând comanda încărcarea sau descărcarea acumulatorilor putând obține cele mai bune performanțe ale acumulatorilor și o durată de viață prelungită a acestora.
În figura 2.10 se pot observa (de la stânga la dreapta) un lanț de acumulatori, UPS-uri standard și un UPS rackabil utilizate în cadrul unui site de telecomunicații.
Figura 2.10 Acumulatori și modele de UPS-uri standard și rackabile
Sistemul de gestionare al acumulatorilor din UPS-urile folosite la alimentarea de rezervă permite o încărcare inteligentă care garantează faptul că acumulatorii din UPS sunt încărcați optim și sunt gata pentru utilizare. Fie că este vorba de modelele standard sau cele rackabile, pot fi accesate prin intermediul browserului, combinând monitorizarea și alarmarea în cazul unei situații de deranjament. Detectarea defectării acumulatorilor se face prin monitorizarea modificărilor de temperatură ale încăperii și ale acumulatorilor în mod individual pentru a detecta imediat instabilitatea termică, elementele de baterie în scurtcircuit, circuitul deschis și bateria defectă. Monitorizare individuală a acumulatorilor se face prin monitorizarea tensiunii și curentului garantând faptul că aceștia sunt gata pentru utilizare și înlocuire numai când este necesar. Încărcare individuală a acumulatorilor suplimentară, asigură încărcarea completă a fiecărui acumulator și contribuie la prevenirea îmbătrânirii premature cauzate de supraîncărcare.
Cu ajutorul sistemelor de astăzi se pot trimite notificări de defecțiune, în felul acesta se pot lua măsuri de asigurare că situațiile importante sunt rezolvate la timp. Sistemele sunt accesibile folosind un browser, oferind acces rapid de oriunde din rețea, nefiind necesară instalarea de software iar trimiterea alarmelor se poate face prin puncte de date permițând gestionarea infrastructurii unei rețele de telecomunicații dintr-un singur punct de operațiuni. Accesul de la distanță se poate face prin management Telnet sau SSH, existând posibilitatea înregistrării datelor evenimentelor într-un jurnal, exportarea jurnalului de date pentru analiză ulterioară pentru identificarea cu precizie a momentului și succesiunea evenimentelor care au generat un incident. Monitorizarea alimentării cu energie electrică de la rețea și a stării acumulatorilor sau UPS-urilor care asigură alimentarea echipamentelor de telecomunicații este foarte importantă pentru operatorii de telecomunicații deoarece în acest fel sunt anunțate posibilele deranjamente ale alimentării cu energie electrică. Orice fel de deranjament care nu este tratat cu atenție poate duce la funcționarea rețelei ce înseamnă pagube pentru operatorii de telecomunicații.
2.7 Monitorizarea, alarmarea și controlul de la distanță a generatoarelor
Sistemele disponibile astăzi pot monitoriza și controla de la distanță pornirea sau oprirea oricărui model de generator de curent. Sistemele pot obține informații cum ar fi citirea în timp real a nivelului de combustibil disponibil în rezervor și poate permite alertarea pentru orice lucru care necesită atenție. Pornirea și oprirea generatoarelor de la distanță se face cu ajutorul releelor ATS (automatic transfer switches), dar pot fi comandate și manual sau printr-un program de automatizare prestabilit [9]. Cu ajutorul unei interfațe web sau a unei aplicații se acționează comenzile aferente pentru pornirea sau oprirea manuală a generatoarelor sau pentru setarea unei funcționări prestabilte pentru întreținere.
Funcționarea programată cu scopul rodajului ajută la respectarea recomandărilor fabricantului pentru întreținere și ajută la asigurarea faptului că generatorul va porni dacă nu este disponibilă o sursă de curent alternativ. Exercițiile programate pot fi setate pentru o anumită zi (săptămânal sau de două ori pe săptămână) pentru a începe la o anumită oră și pentru o anumită durată (cel puțin 30 de minute).
Timpii de funcționare ai generatoarelor sunt înregistrați și salvați în fișiere ce pot fi descărcate pentru a urmări statusul generatoarelor. Aceleași date privind timpul de funcționare sunt trimise și la un sistem de management al rețelei SNMP (Simple Network Management Protocol). Dacă un generator nu reușește să pornească, se poate trimite un e-mail sau o alertă SNMP la NOC pentru ca administratorii de rețea să poată investiga și remedia problema. Adițional față de pornirea și oprirea generatoarelor, se pot monitoriza date privind funcționarea motorului (nivelul combustibilului, temperatura uleiului, voltajul bateriei, nivelul lichidului de răcire, etc.) și datele privind puterea generatorului (tensiunea și curentul pe toate fazele, puterea totală Kw, etc.). Aceste date sunt afișate în interfața web și pot fi de asemenea trimise către NOC. Monitorizarea nivelului de combustibil se face cu ajutorul senzorilor de nivel care sunt conectați la panoul central. Panoul de comandă central centralizează datele primite de la senzori, le procesează și acționează în consecință. În funcție de valorile datelor primite, acționarea releelor comandate de la distanță se face conform dorințelor administratorilor de rețea.
Datele privind nivelul de combustibil în timp real sunt importante pentru NOC care trebuie să asigure că rezervoarele de combustibil ale generatorului sunt umplute înainte de evenimente meteorologice nefavorabile. Se pot trimite alerte SNMP sau prin e-mail când nivelurile de combustibil scad sub pragurile critice. Scăderile neobișnuite sau rapide ale nivelului de combustibil pot indica o scurgere, un furt de combustibil sau un act de vandalism.
În figura 2.11 de mai jos este prezentat un generator de curent cu panou de comandă folosit la alimentarea echipamentelor unui site de telecomunicații.
Figura 2.11 Generator de curent cu panou de comandă
Astăzi se folosesc generatoare care permit automatizarea controlului și care au încorporat un modem cu conexiune ethernet sau wifi pentru a ușura transferul de date folosit pentru monitorizarea, alarmarea și controlul de la distanță. Există sisteme care pot fi adaptate la generatoare ca să permită accesul de la distanță la funcțiile de control, inclusiv exercițiile programate, monitorizarea nivelului combustibilului ajutând administratorii de rețea să se asigure că generatoarele sunt funcționale. În acest fel, resursele folosite la alimentarea cu combustibil și la lucrările de întreținere a generatoarelor pot fi alocate mai eficient, ducând automat la reducerea costurilor și la evitarea nefuncționării rețelei.
Capitolul III – Proiectarea hardware și programarea sistemului de monitorizare, alarmare și automatizare
Sistemul de monitorizare, alarmare și automatizare pentru site-urile de telecomunicații are un rol foarte important pentru NOC-uri deoarece se pot monitoriza parametrii de funcționare al echipamentelor de telecomunicații, se pot monitoriza eventualelor alarmele deoarece acestea pot prefața un impact negativ asupra rețelelor de telecomunicații și se pot automatiza instalațiile de climatizare care pot menține funcționarea echipamentelor în parametrii normali de funcționare [11].
Operatorii de telecomunicații pot fi afectați prin pagube însemnate dacă nu monitorizează parametrii următori: temperatura ambientală necorespunzătoare a site-urilor, lipsa alimentării site-urilor cu energie electrică și intruziunile neautorizate prin efracție în site-uri. Acești parametrii sunt foarte importanți deoarece pot afecta grav funcționarea site-urile de telecomunicații ducând chiar la nefuncționarea echipamentelor de telecomunicații.
În zilele noastre monitorizarea și alarmarea de la distanță este necesară și datorită diversității serviciilor oferite de operatorii de telecomunicații, care a dus la dezvoltarea de rețele de telecomunicații de dimensiuni foarte mari, care sunt dispuse fizic pe o arie foarte mare de acoperire dar și localizarea site-urile din afara localităților care pot fi amplasate în zone greu accesibile cum ar fi regiuni de câmp, deal sau munte. Administratorii de rețea (tehnicieni sau ingineri) din cadrul NOC-ului pot astfel monitoriza rețeaua de telecomunicații și în cazul alarmelor pot excalada pe scară ierarhică eventualele deranjamente în așa fel încât personalul tehnic autorizat să se deplaseze pe teren în cel mai scurt timp să rezolve deranjamenele.
Sistemul de monitorizare, alarmare și automatizare proiectat este compus din trei părți și anume:
– partea de senzori care colectează informații din site-urile de telecomunicații;
– partea de relee care se ocupă cu automatizarea sistemului proiectat;
– pagina web de monitorizare ce asigură interfața dintre interacțiunea între om și calculator.
Schema bloc a sistemului de monitorizare, alarmare și automatizare este prezentată în figura 3.1:
Figura 3.1 Schemă bloc a sistemului de monitorizare, alarmare și automatizare
Etapele parcurse pentru construirea sistemului proiectat sunt:
– proiectarea hardware a sistemului prin alegerea și interconectarea componentelor hardware;
– proiectarea și realizarea soft-ului necesar funcționării sistemului;
– realizarea sistemului și testarea funcționării în parametrii a fiecărei componente a sistemului.
Etapele parcurse pentru construirea sistemului vor fi prezentate detaliat cu ajutorul subcapitolelor următoare.
3.1 Selectarea și interconectarea părților hardware
Structura părților electronice ale sistemului de monitorizare, alarmare și automatizare este alcătuită din următoarele componente:
– placa de dezvoltare Arduino UNO R3 este unitatea centrală a sistemului;
– controlerul de rețea Arduino Ethernet Shield W5100, interfață ethernet pentru serverul web;
– unitățiile de senzori formate din modul senzor de nivel apă, modul senzor de temperatură și umiditate, două module senzori de curent și un modul senzor de tensiune;
– două unitați relee care comandă cu ajutorul plăcii de dezvoltare următoarele dispozitive periferice: led pentru iluminat, ventilator și radiator;
– dispozive folosite pentru monitorizarea accesului în site: buton contact închidere ușă (microswitch cu 2 poziții), buton armare alarmă (întrerupător cu 2 poziții pornit-oprit), modul led RGB și modul buzzer activ pentru sunetul de alarmă;
– dispozitive folosite la circuitul de alimentare: priză dublă alimentare, alimentator de la rețea 12V, 2.5A, acumulator Eagle Battery ES 12V, 1.3AH/20HR, modul coborâre tensiune LM2596 și multipriză alimentare improvizată;
– routerul wireless Bandbridge Atheros reprezintă în machetă echipamentul radio pentru transmisia de date;
– fire și conectori folosiți pentru transferul de date și alimentare a părților electronice.
3.2 Placa de dezvoltare Arduino UNO R3
Unitatea centrală a sistemului de monitorizare, alarmare și automatizare este placa de dezvoltare Arduino UNO R3. Arduino UNO este bazată pe un microcontroler de 16 biți ATmega328p fiind format din 20 pini care pot fi intrări și ieșiri, din care 6 pini sunt pini analogici de intrare, 14 pini sunt digitali din care 6 pini pot fi utilizați ca pini de ieșire PWM (Pulse-width modulation), un oscilator de 16MHz, o programare în circuit (ICSP), un port conexiune USB, o mufă de alimentare și un buton de resetare. Atmega328 are o memorie flash de 32 KB (din care 0,5 KB este ocupat de bootloader), o memorie SRAM de 2 KB și o memorie EEPROM de 1 KB (care poate fi citită și scrisă cu ajutorul bibliotecii EEPROM) [20]. Arduino UNO este una dintre cele mai populare plăci de dezvoltare folosite în cadrul dezvoltării de proiecte electronice, întrucât este ușor de configurat, are un număr destul de mare de pini și este compatibilă cu un număr foarte mare de shield-uri, care permit adăugarea diverselor funcționalități.
R3 din numele microcontrolerului reprezintă faptul că placa de dezvoltare a ajuns la a treia revizie, ce are o mulțime de modificări față de predecesoarele sale și anume: numărul de pini a fost suplimentat, aceștia fiind duplicați ai pinilor anteriori, pinii I2C (A4 și A5) au fost scoși lângă AREF pe marginea plăcii fiind pinii SDA și SCL, lângă pinul de reset există un pin IOREF care este un pin de 5V, chip-ul controlerului USB ATmega8U2 care avea o memorie flash de 8 KB a fost înlocuit de Atmega16U2 care are o memorie flash de 16 KB și butonul de RESET este poziționat lângă portul USB, fiind mai ușor de acționat după o modificare de program [19].
Mai jos în figura 3.2 este prezentată placa de dezvoltare Arduino UNO.
Figura 3.2 Placa de dezvoltare Arduino UNO
Arduino UNO R3 dispune de următorii pini [22]:
– pinul IOREF – este pinul care furnizează tensiune de alimentare la care funcționează microcontrolerul. De obicei furnizează tensiune de 5V dar poate sa furnizeze și tensiune de 3.3V;
– pinul RESET – este pinul utilizat în proiectele unde se dorește adăugarea unui buton de resetare adițional sau unde cel de pe placă este inaccesibil;
– pinul 3V3 – pinul care furnizează o tensiune de alimentare de 3.3V generată de regulatorul plăcii;
– pinul 5V – pinul care furnizează o tensiune de alimentare de 5V care poate fi utilizat ca sursă de alimentare pentru alimentarea microcontrelerului și a altor componente. Alimentarea poate fi făcută cu ajutorul unui VIN printr-un regulator de pe placă, poate fi furnizată de un cablu USB sau de la altă sursă de alimentare cu 5V;
– pinii GND – pinii de nul;
– pinul Vin – pinul care furnizează tensiunea de intrare a plăcii Arduino atunci când se utilizează un alimentator dedicate (între 5 – 20V);
– pinii A0 – A5 – pinii analogici de intrare care oferă 10 biți de rezoluție adică 1024 de valori diferite;
– pinul A4 sau SDA – pinul de date seriale SDA și pinul A5 sau SCL – pinul pentru ceasul serial SCL sunt pinii care asigură comunicația magistralei I2C;
– pinul 0 sau RX – pinul digital folosit pentru a primi date seriale TTL;
– pinul 1 sau TX – pinul digital folosit pentru a transmite date seriale TTL;
– pinii 2 și 3 – pinii digitali care pot să fie configurați pentru întreruperile externe;
– pinii 3, 5, 6, 9, 10 și 11 – pinii digitali de ieșire PWM;
– pinii 10 (SS – selectarea dispozitivului Slave cu care Master-ul comunică), 11 (MOSI – linia Master de a transmite date către dispozitive periferice), 12 (MISO – linie pentru trimiterea datelor către dispozitivul Master), 13 (SCK – semnalul de clock generat de dispozitivul Master pentru sincronizarea transmisiei de date) – pini digitali care asigură comunicarea SPI cu ajutorul bibliotecii SPI;
– pinul 13 – la pinul digital 13 este conectat un LED care este încorporat în placă, care atunci când pinul este în starea High, ledul este aprins, iar când este LOW este stins;
– pinul AREF – pinul care furnizează tensiunea de referință pentru intrările analogice;
Pinii pot furniza un curent cu intensitatea de 40mA la tensiunea electrică de funcționare de 5V și au un rezistor de ridicare intern de 20 – 50KOhm (deconectat în mod implicit) care se activează cu modul de funcționare INPUT_PULLUP.
În cadrul proiectului am ales ca alimentarea cu energie electrică a controlerului să se facă prin portul USB fiindu-i asigurată o alimentare cu tensiune de funcționare 5V curent continuu oferită de un modul coborâre tensiune LM2596 utilizat în machetă cu rolul coborârii tensiunii de 12V oferită de acumulator. Am încercat alimentarea cu 12V direct de la acumulator dar am observat că funcționarea microcontrolerului era instabilă. Am utilizat alimentarea cu 5V care era folosită pentru alimentarea routerului wireless deoarece oferă o funcționare în parametrii optimi.
Se poate alimenta cu energie electrică și de la sursă externă cum ar fi un alimentator dedicat care are posibilitatea să asigure un interval de tensiune de 6-12 V curent continuu. Dacă se folosește un alimentator direct de la rețeaua de curent este preferabil ca alimentarea să se facă într-un interval de tensiune de 7 – 9V curent continuu, dacă limita superioară de tensiune este depășită poate duce la supraîncălzirea regulatorului de tensiune și prin urmare la funcționarea necorespunzătoare sau chiar defectarea controlerului.
Arduino UNO R3 este ultima actualizare adusă platformei Duemilanove, care constă în înlocuirea cip-ului FTDI FT232RL cu un procesor produs de Atmel Atmega 16U2, care preia functiile de convertor USB-serial, pe care le făcea vechiul cip FT232. Datorită acestui procesor auxiliar placa de dezvoltare are propriul bootloader USB, oferind posibilitatea programatorilor să scrie un alt program pentru acesta.
Arduino UNO are trei cronometre numite timer0, timer1 și timer2 [10]. Fiecare dintre cronometre are un contor care este incrementat pe fiecare bifă a ceasului cronometrului.
Întreruperile de temporizare permit efectuarea unei sarcini la intervale foarte precise, indiferent de ce se întâmplă în codul programului. Întreruperile cronometrului CTC Mode (Clear Timer on Compare Match) sunt declanșate atunci când contorul atinge o valoare specificată, stocată în registrul de comparare a potrivirii. Odată ce un contor de timp ajunge la această valoare, se va șterge (resetarea la zero) la următoarea bifă a ceasului, iar apoi va continua să numere până când va atinge din nou valoarea de comparație. Alegerea valorii de comparare a potrivirii și stabilirea vitezei cu care cronometrul crește numărătorul, putem controla frecvența întreruperilor cronometrului.
Pentru programarea microcontrolerului am folosit mediul de dezvoltare integrat Arduino IDE (Integrated Development Environment). Arduino IDE fiind principalul program de editare a textului unde se introduce codul program înainte de a fi încărcat pe placa de dezvoltare pe care am dorit să o programăm. Utilizând protocolul STK500, folosim bootloader-ul preinstalat pentru încărcarea codului program, nefiind necesară utilizarea unui programator extern. Se poate programa controlerul și fără utilizarea bootloader-ului prin standardul de programare serială ICSP (In Circuit Programming Serial) [19]. Arduino IDE folosește limbajul de programare C++. După ce am încărcat secvența de cod, aceasta rămâne salvată în cadrul memoriei flash chiar și după ce nu mai avem alimentare. În momentul în care realimentăm placa nu mai este nevoie să ne reconectăm și să retransmitem codul întrucât el este deja acolo și este rulat automat.
Placa de dezvoltare Arduino UNO este utilizată de o mare comunitate de utilizatori și are o plajă extinsă de biblioteci care poate fi folosită pentru o multitudine de proiecte. Există kit-uri pentru dezvoltatori începători ce conține breadbord-uri, conectori, fire, led-uri care ușurează munca dezvoltatorilor. Singurele dezavantaje sunt frecvența destul de scăzută a microprocesorului și memoria nu foarte cuprinzătoare de tip flash și EEPROM. Un alt amănunt care nu se pliază foarte bine cu transmiterea datelor la distanță (conceptul IoT) este acela că placa nu vine cu un adaptor ethernet inclus, dar se poate rezolva prin achiziționarea separată a unui controler de rețea compatibil (shield).
Pinii plăcii Arduino UNO pot fi utilizați ca pini de intrare sau de ieșire utilizând funcțiile: „pinMode()”- definim modul de funcționare al pinilor folosiți (INPUT sau OUTPUT), „digitalRead()”- alocăm pinilor folosiți variabile pentru citire senzori și „digitalWrite()”-alocăm pinilor folosiți în modul INPUT o valoare inițială.
3.3 Controlerul de rețea Arduino Ethernet Shield W5100
Controlerul de rețea Arduino Ethernet Shield W5100 a fost aleasă datorită necesității transmiterii la depărtare a datelor obținute local de către sistemul de monitorizare, alarmare și automatizare proiectat. Am folosit placa de dezvoltare Arduino UNO și Arduino Ethernet Shield W5100 pentru a crea un server web care să găzduiască pagină web care va permite monitorizarea sistemului proiectat asigurând interfața dintre interacțiunea între om și calculator.
Arduino Ethernet Shield W5100 este simplu spus un controler de rețea de 10/100 cu un singur chip integrat conceput pentru diverse aplicații din sistemele încorporate, fiind compatibil atât cu placa de dezvoltare Arduino UNO cât și cu modelul Arduino MEGA. Modelul W5100 a fost conceput pentru a ușura implementarea conectivității pe internet fără sistem de operare. Este un controler foarte eficient datorită ușurinței de integrare, stabilității în funcționare, performanței oferite în raport cu costurile sistemului încorporat.
Arduino Ethernet Shield este bazat pe un microcontroler cu chipset Wiznet W5100 fiind format din 20 de pini care pot fi intrări sau ieșiri, 14 pini sunt digitali din care 4 pini asigură ieșire PWM, 6 pini sunt pini analogici de intrare, un oscilator de cristal de 16 MHz, un port conector ethernet RJ45, o mufă de alimentare, un conector ICSP și un buton de resetare. În figura 3.3 este prezentată placa de rețea Arduino Ethernet Shield W5100 [21].
Figura 3.3 Arduino Ethernet Shield W5100
Arduino Ethernet Shield W5100 poate fi folosită fie ca server, fie ca și client și este capabilă de a suporta până la 4 conexiuni simultan. Controlerul-ul de rețea W5100 permite ca placa de dezvoltare Arduino UNO să fie conectat la rețeaua de internet. Controlerul W5100 utilizează biblioteca Arduino Ethernet, oferind posibilitate plăcii de rețea de a obține o stivă de rețea, TCP/IP. Suportă protocoale de rețea cum ar fi: TCP, UDP, ICMP, IPv4 ARP, IGMP, PPPoE, Ethernet. Slotul de card microSD din componența controlerului W5100 poate fi utilizat pentru a stoca date pentru a fi utilizate în rețea.
Arduino UNO comunică cu controlerul W5100 prin folosirea pinilor digitali 11, 12 și 13. Comunicarea se realizează prin magistral SPI, pinul digital 10 fiind utilizat pentru conexiunea cu controlerul W5100 și pinul digital 4 fiind utilizat pentru conexiunea cu cardul microSD, având posibilitatea ca numai una din conexiuni să fie activă la un moment dat.
Datorită faptului că am utilizat toți pinii plăcii Arduino UNO și din nevoia utilizării unui nou pin am făcut o modificare a pinilor controlerului W5100. Nefolosind cardul microSD în proiectarea sistemului am decis să îndoi pinul digital 4 al controlerului W5100 ca să nu mai comunice cu placa Arduino UNO, eliberând în felul acesta un nou pin care va fi disponibil pentru conectare. Pe pinul digital 4 de pe placa de dezvoltare am conectat direct un modul de releu utilizat pentru controlul sistemului de răcire prin ventilație. Arduino Ethernet Shield W5100 este prevăzută cu o mufă standard ethernet RJ45, un buton de “RESET”, ce resetează atât placa de rețea cât și Arduino UNO.
Placa conține următoarele LED-uri cu caracter informativ:
– PWR – ce indică faptul că Arduino Ethernet Shield W5100 și placa de dezvoltare Arduino UNO sunt alimentate;
– LINK – ce indică prezența unei legături de rețea și clipește când placa are trafic de date (transmite sau primește date);
– 100M – ce indică prezența unei conexiuni de rețea la viteza de 100 Mb/s (spre deosebire de 10 Mb/s);
– FULLD – ce indică existența unei conexiuni la rețea complet duplex;
– COLL – ce indică detectarea coliziunilor de rețea atunci când clipește;
– RX – ce indică primirea datelor de către placă atunci când clipește;
– TX – ce indică trimiterea datelor de către placă atunci când clipește.
3.4 Unitățile de senzori și relee utilizate în proiectarea hardware a sistemului
În proiectarea hardware a sistemului de monitorizare, alarmare și automatizare am utilizat atât unități de senzori cât și relee de comandare a echipamentelor. Prin definiție senzorii sunt dispozitivele care măsoară o mărime pe care apoi o transformă într-un semnal pe care utilizatorul îl citește, fie că măsurarea este calitativă sau cantitativă.
Releele sunt dispozitivele care pot aduce anumite modificări unui circuit cum ar fi închiderea și deschiderea în funcție de parametrii definiți [12]. Relele pot permite cu ajutorul unui curent de intensitate mică controlarea unui curent de intensitate mare.
Unitățile de senzori dedicate utilizate sunt: modul senzor de nivel apă, modul senzor de temperatură și umiditate, modul senzor de tensiune și două module senzori de curent. Pentru monitorizarea stării ușii de acces în site am utilizat un buton contact microswitch cu 2 poziții. Pentru armarea alarmei site-ului am utilizat un buton întrerupător cu 2 poziții (pornit-oprit), folosit pentru exemplificare în cadrul machetei realizate. În locul unui simplu întrerupător cu 2 poziții, pentru armarea alarmei site-ului putem folosi de exemplu un sistem cu cititor de carduri de acces sau o tastatura pentru controlul accesului în site.
În proiectarea și dezvoltarea sistemului s-a urmărit monitorizarea parametrilor următori:
– starea mediului ambiental prin monitorizarea nivelului de apă, a temperaturii și a umidității din camera tehnică a site-ului;
– starea alimentării cu energie electrică a site-ului prin monitorizarea alimentării de la rețea cât și alimentarea de la acumulator;
– accesul fizic în camera tehnică a site-ului (autorizat sau neautorizat) prin monitorizarea stării ușii (deschisă sau închisă).
Obținerea în timp real a acestor date este foarte importantă pentru monitorizarea și alarmarea administratorilor de rețea din cadrul NOC-urilor, în acest fel orice deranjament poate fi soluționat în cel mai scurt timp posibil și eventualele întreruperi de telecomunicații să fie evitate. Automatizarea sistemului proiectat constă în faptul că: la deschiderea ușii de acces în camera tehnică a site-ului pornirea automată a sistemului de iluminat, la accesul neautorizat în site, pornirea automată a alarmei sonere pentru descurajarea intruziunilor și în funcție de valoarea temperaturii din camera tehnică a site-ului funcționarea automată a sistemului de răcire (ventilator) sau a sistemului de încălzire (radiator). Modulele de senzori și relee folosite pentru realizarea proiectului sunt compatibile cu biblioteticilor Arduino și sunt descrise mai jos.
3.5 Senzorul de nivel de apă
Pentru monitorizarea unei posibile inundații a camerei tehnice din site în sistemul proiectat am folosit un modul senzor de nivel de apă. Senzorul ales este unul simplu, de dimensiuni mici, care are un consum redus de energie, o sensibilitate ridicată și performanțe bune. Senzorul poate fi folosit atât pentru identificarea nivelului de apă cât și pentru identificarea căderii picăturilor de apă. În cadrul sistemului proiectat l-am folosit ca senzor de detectare a nivelului de apă, care va fi de ajutor pentru identificarea posibilelor inundații ale camerei tehnice a site-ului.
Senzorul funcționează cu tensiunea de lucru 3 – 5V, cu un curentul de lucru mai mic de 20mA , obținând performanțe bune când este utilizat împreună cu un controler Arduino. Senzorul are un led Power ce indică faptul că senzorul este alimentat. Temperatura de lucru a senzorului este între 10 – 30°C iar umiditatea de lucru este între 10 – 90% fără condensare.
Detectarea ridicării sau a căderii nivelului de apă se face instant datorită seriilor de fire paralele dispuse pe suprafața senzorului care sunt expuse direct volumului de apă. Senzorul este ușor de instalat și de utilizat, făcând conversia apei în semnal analogic iar valorile analogice de ieșire putând fi citite direct de către Arduino.
Conectarea senzorului la Arduino UNO a fost realizată cu ajutorul pinilor existenți pe carcasa senzorului în felul următor: pinul de alimentare + (plus) l-am conectat la un pin de alimentare de 5V din multipriza de alimentare, pinul de masă – (minus) l-am conectat la un pin de masă din multipriza de alimentare și pinul de date S l-am conectat la pinul analogic A0.
Pinul utilizat pe placa Arduino l-am declarat cu variabila globală „WaterSensorPin=A0” de tip „int” care reprezintă numere întregi. Apoi am declarat variabila senzorului de nivel de apă „StatusApă” de tip „String” care reprezintă un șir de caractere. Am definit modul de funcționare al pinului folosind funcția „pinMode()” de tipul „INPUT_PULLUP”.
Citirea senzorului se realizează cu ajutorul funcției „analogRead()” care poate citi valori de la 0 la 1024. Partea de monitorizare a sistemului afișează în pagina HTML valoarea nivelului de apă afișând mesajul „Nivel apă: _ _ _ _”. Partea de alarmare a sistemului, funcționează adaugând în tabelul cu “Mesaje importante”, o coloană colorată cu portocaliu dacă valoarea nivelului de apă depășește valoarea de 150 („StatusApă>150”) afișând mesajul: „Nivel apă ridicat!”. Mai jos se poate vedea senzorul de nivel de apă prezentat în figura 3.4.
Figura 3.4 Senzorul de nivel de apă
3.6 Senzorul de temperatură și umiditate AM2320
Pentru monitorizarea temperaturii și umidității în sistemul proiectat am folosit senzorul de temperatură și umiditate AM2320. Senzorul AM2320 este un senzor digital de dimensiuni foarte mici, care are o precizie foarte bună, este ușor de utilizat și este foarte eficient din punct de vedere al costurilor având un preț de achiziție mic. Am ales senzorul AM2320 și datorită consumului de energie al acestuia extrem de redus și distanței de transmisie a semnalului care poate ajunge la peste 20 de metri. Senzorul AM2320 este de o calitate excelentă, oferind un răspuns rapid și o puternică capacitate de combatere a interferențelor.
Performanțele senzorului AM2320 la măsurarea temperaturaturii sunt între -40 – 80°C având o precizie de 0.5°C la o temperatură de 25°C, iar umiditatea este măsurată în intervalul 0 – 99%RH având o precizie de 3%. Principiul de funcționare al măsurării umidității și a temperaturii este făcută de un senzor capacitiv de umiditate care masoară umiditatea relativă a mediului ambiant iar temperatura mediului ambiant este masurată de un termistor.
Senzorul AM2320 arată foarte mult cu senzorii de temperatură și umiditate DHT11 și DHT22, dar spre deosebire de senzorii clasici DHT, are o interfață I2C și nu este nevoie să folosim un protocol specific pentru sincronizarea timpului, pentru a comunica cu senzorul [23]. Senzorul de temperatură și umiditate AM2320 este prezentat în figura 3.5 de mai jos.
Figura 3.5 Senzorul de temperatură și umiditate AM2320
Conectarea senzorului AM2320 la Arduino UNO a fost realizată cu ajutorul pinilor existenți pe carcasa senzorului în felul următor: pinul de alimentare 1 (VCC) l-am conectat la un pin de alimentare de 5V din multipriza de alimentare, pinul de masă 3 (GND) l-am conectat la un pin de masă din multipriza de alimentare, pinul de date seriale 2 (SDA) l-am conectat la pinul analogic A4 care la Arduino UNO este predefinit ca pin SDA și pinul pentru ceasul serial 4 (SCL) l-am conectat la pinul analogic A5 care la Arduino UNO este predefinit ca pin SCL. Am declarat biblioteca „AM2320” și variabila senzorului de temperatură și umiditate „THsensor”. Am declarat variabilele „StatusTemp” și „StatusUmid” de tip „float” care au valori ale numerelor reale cu două zecimale. Citirea valorilor senzorului se realizează în funcția „THsensor.Read()” care alocă variabilelor „THsensor.t” și „THsensor.h” valorile citite de la senzori.
Partea de monitorizare a sistemului afișează în pagina HTML valoarea temperaturii afișând mesajul „Temperatură (Celsius): _ _ . _ _” și valoarea umidității relative afișând mesajul „Umiditate (%RH): _ _ . _ _”. În funcție de valorile de temperatură citite partea de automatizare din sistemul proiectat acționează releele care comandă sistemele de climatizare (ventilator sau radiator) în funcție de pragurile de ventilație și căldură definite cu ajutorul constantelor „VentMAX”, „VentMIN”, „CăldurăMAX” și „CăldurăMIN”.Partea de alarmare a sistemului, funcționează adaugând în tabelul cu “Mesaje importante”, o coloană colorată cu galben în funcție de valoarea temperaturii. Dacă temperatura este mai mică decât 27°C („StatusTemp<27”) afișează mesajul: „Temperatură joasă!” iar dacă temperatura este mai mare decât 29°C („StatusTemp>29”) afișează mesajul: „Temperatură înaltă!”.
3.7 Senzorii de curent
Pentru monitorizarea alimentării site-ului cu energie electrică în sistemul proiectat am folosit doi senzori de măsurare a intensității curentului electric. Primul senzor „AmpIn” este folosit la măsurarea curentului de intrare în acumulator și indică eventualele întreruperi cu energia electrică furnizată de alimentatorul conectat direct la rețea. Cel de-al doilea senzor „AmpOut” este folosit pentru măsurarea curentului de ieșire din acumulator și ne permite monitorizarea stării acumulatorului. Monitorizarea intensității curentului electric este benefică deoarece putem observa defecțiuni ale sistemului de alimentare. Modificarea intensității curentului și creșterea puterii poate conduce la defectarea sursei de alimentare sau a acumulatorului.
Senzorii de curent folosiți sunt Hall ACS712, unde tensiunea de alimentare trebuie să fie între 4,5 – 5,5V, consum de curent este de 10mA iar curentul maxim măsurat este de 20A. Senzorul este unul de dimensiuni mici care are un led ce indică faptul că senzorul este alimentat. Senzorul se montează în serie cu circuitul de alimentare, prinderea firelor făcându-se cu ajutorul a două contacte cu șurub.
Conectarea senzorilor la Arduino a fost realizată cu ajutorul pinilor existenți pe carcasele senzorilor în felul următor: pinii de alimentare VCC i-am conectat la pinii de alimentare de 5V din multipriza de alimentare, pinii de masă GND i-am conectat la pinii de masă din multipriza de alimentare și pinii de date OUT i-am conectat la pinul analogic A1 pentru citirea curentului de la alimentatorul de la rețea și la pinul analogic A2 pentru citirea curentului de ieșire din acumulator.
Pinii utilizați pe placa Arduino i-am declarat cu variabilele globale „AmpIn=A1” și „AmpOut=A2” de tip „int” care reprezintă numere întregi. Apoi am declarat variabilele „Amp1=0” și „Amp2=0” de tip „float” care reprezintă tipuri de date pentru numerele cu virgulă. Numerele cu virgulă sunt adesea folosite pentru a aproxima valorile analogice și care sunt continue deoarece au o rezoluție mai mare decât numerele întregi. Am definit modul de funcționare al pinilor folosind funcția „pinMode()” de tipul „INPUT”. Citirea senzorului se realizează cu ajutorul funcției „analogRead()”. Deoarece este o citire digitală se folosește o formulă care ține cont de eșantionarea și de eroarea de măsurare a senzorului.
Citirea valorilor obținute de senzori se face de către Arduino care trimite datele citite către serverul web pentru a putea fi afișate în pagina HTML. Partea de monitorizare a sistemului afișează în pagina HTML valorile intensității curentului afișând mesajele „Ain=_ . _ _ _ A (intrare acumulator)” și „Aout=_ . _ _ _ A (ieșire acumulator)”. Partea de alarmare a sistemului, funcționează adaugând în tabelul cu “Mesaje importante”, o coloană colorată cu roșu dacă valoarea curentului de intrare în acumulator scade sub valoarea de 0.2A („Amp1<0.2”) afișând mesajul: „Lipsă energie electrică de la rețea!”. Senzorul de curent ACS712 este prezentat mai jos în figura 3.6.
Figura 3.6 Senzorul de curent ACS712
3.8 Senzorul de tensiune
Pentru monitorizarea stării acumulatorului din sistemul proiectat pe lângă ampermetrul am folosit și un senzor de tensiune. Senzorul este folosit pentru măsurarea tensiunii de ieșire din acumulator și ne permite determinarea stării de încărcare a acumulatorului. Prin monitorizarea tensiunii de alimentare se pot evita evenimente ce pot genera deranjamente sau defecțiuni ale echipamentelor de comunicații ce au efect întreruperea serviciilor.
Senzorul de tensiune ales utilizează un divizor de potențial cu scopul reducerii tensiunii de intrare cu un factor de 5. Cu ajutorul unei game de intrare analogică 0 – 5V, putem măsura o tensiune până la 25V cu precizia de detecție în plaja de 0,02445 – 25V DC.
Senzorul se montează în paralel cu circuitul de alimentare, borna de alimentare conectându-se la contactul cu șurub VCC iar cea de masă la contactul cu șurub GND. Conectarea senzorilor la Arduino a fost realizată cu ajutorul pinilor existenți pe carcasa senzorului în felul următor: pinul de alimentare + (plus) l-am conectat la un pin de alimentare de 5V din multipriza de alimentare, pinul de masă – (minus) l-am conectat la un pin de masă din multipriza de alimentare și pinul de date S l-am conectat la pinul analogic A3.
Pinul utilizat pe placa Arduino l-am declarat cu variabila globală „VoltOut=A3” de tip „int” care reprezintă număr întreg. Apoi am declarat variabila „Volt=0” de tip „float” care reprezintă tipuri de date pentru numerele cu virgulă. Am definit modul de funcționare al pinului folosind funcția „pinMode()” de tipul „INPUT”. Citirea senzorului se realizează cu ajutorul funcției „analogRead()”. Deoarece este o citire digitală se folosește o formulă care ține cont de eșantionarea și de eroarea de măsurare a senzorului.
Citirea valorilor obținute de senzori se face de către Arduino, care trimite datele citite către serverul web pentru a putea fi afișate în pagina HTML. Partea de monitorizare a sistemului afișează în pagina HTML valoarile tensiunii afișând mesajul „Vout=_ _ . _ _ _ V (ieșire acumulator)”. Senzorul de tensiune este prezentat mai jos în figura 3.7.
Figura 3.7 Senzorul de tensiune
3.9 Unitățile de relee
Pentru acționarea instalațiilor automatizate în sistemul proiectat am folosit două module de relee cu două canale, din care am folosit trei canale pentru a controla iluminatul, ventilatorul și radiatorul din cadrul site-ului. Modulele de relee pot să controleze, cu ajutorul plăcii de dezvoltare Arduino UNO, instalații sau echipamente ce funcționează cu o tensiune electrică înaltă.
Sarcina maximă la care releele pot funcționa este de 250V și 10A curent alternativ sau 30V și 10A curent continuu, iar optocuploarele funcționează la tensiunea de operare de 5V cu un curent de 5mA. Modulele sunt de dimensiuni mici și au două leduri ce indică activarea fiecărui releu. Conectarea echipamentelor acționate se realizează la bornele cu șurub, fiecare modul se poate conecta în mod normal închis sau normal deschis. Există o bornă comună care este notată cu K1 sau K2. Conectarea modulelor le-am făcut în modul normal deschis, atunci când pinul de control este alimentat borna normal închis este deconectată fiind făcută legătura între borna comună și borna normal deschis.
În figura 3.8 este prezentată conectarea echipamentelor la terminalele releelor și pinii de comunicare cu Arduino pentru comandă și control.
Figura 3.8 Module relee și modul de conectare
Conectarea releelor la Arduino a fost realizată cu ajutorul pinilor existenți pe carcasele releelor în felul următor: pinii de alimentare VCC i-am conectat la pini de alimentare de 5V din multipriza de alimentare, pinii de masă GND i-am conectat la pini de masă din multipriza de alimentare, pinul de date IN1 (releu ventilație) l-am conectat la pinul digital 4 și pinul de date IN2 (releu căldură) l-am conectat la pinul digital 6. Pinul de date IN1 (releu LED iluminat) l-am conectat la microswitch-ul ce determină starea ușii (deschisă sau închisă). Atunci când ușa este deschisă releul primește comandă să alimenteze LED-ul ce asigură iluminatul în site.
Pinii utilizați pe placa Arduino i-am declarat cu variabilele globale „ReleuVentilație=4” și „ReleuCăldură=6” de tip „int” care reprezintă număre întregi. Am definit modul de funcționare al pinilor folosind funcția „pinMode()” de tipul „OUTPUT”. Apoi am alocat pinilor valoarea 1 cu ajutorul funcției „digitalWrite()” însemnând faptul că atât ventilația cât și căldura sunt oprite.
3.10 Dispozitive folosite pentru monitorizarea accesului în site
Pentru monitorizarea accesului în site în sistemul proiectat am folosit un buton contact închidere ușă și un buton armare alarmă. Pentru monitorizarea stării ușii de acces am folosit un microswitch cu două poziții (normal deschis) iar pentru armarea alarmei de descurajare a intruziunilor am folosit un întrerupător cu două poziții (pornit – oprit) care a fost folosit pentru exemplificare în cadrul machetei realizate. În locul unui simplu întrerupător cu două poziții, pentru activarea alarmei site-ului putem folosi de exemplu un sistem cu cititor de carduri de acces sau o tastatura pentru controlul accesului în site.
Conectarea microswitch-ului la Arduino (conform figurii 3.10) a fost realizată cu ajutorul a doi pini existenți pe carcasa modulului în felul următor: primul pin (firul de culoare mov) care comunică cu lamela de acționare a fost legat la un pin de alimentare de 5V din multipriza de alimentare iar al doilea pin a fost conectat la Arduino cu ajutorul pinul digital 2 (firul gri) și la releul ce acționează iluminatul cu ajutorul pinului IN1 (firul roșu). Conectarea întrerupătorului la Arduino a fost realizat cu ajutorul celor doi pini disponibili în felul următor: primul pin a fost legat la un pin de alimentare de 5V din multipriza de alimentare iar al doilea pin a fost conectat la Arduino cu ajutorul pinul digital 3.
În figura 3.9 de mai jos sunt prezentate butonul contact închidere ușă în partea din stânga și întrerupătorul cu două poziții în partea din dreapta.
Figura 3.9 Microswitch și întrerupător cu două poziții
Pentru descurajarea intruziunilor locale am folosit un modul buzzer activ pentru alarma sonoră și un modul led RBG pentru afișarea statusului alarmei.
Sistemul de monitorizare a accesului în site funcționează în felul următor:
– la accesul neautorizat în site sistemul pornește alarma sonoră pentru descurajarea intruziunilor neautorizate;
– în funcție de starea alarmei se afișează în mod automat cu ajutorul unui modul led RGB o culoare (roșu, verde și albastru) care indică starea sistemului de alarmă (roșu – intruziune, albastru – intervenție și verde – normal).
Buzzerul activ l-am ales datorită faptului că aveam nevoie de o alarmă sonoră în caz de efracție și datorită principiului de funcționare al modului. Spre deosebire de buzzerul pasiv care are nevoie de un semnal dreptunghiular, modulul activ genereaza un sunet continuu, de frecventa fixa, dacă este aplicat un semnal de 5V. Modulul emite sunet la o frecventa predefinită (2300 ± 300Hz) dacă este alimentat cu tensiunea de alimentare 3.3 – 5V, cu un curent maxim de 30mA și funcționează în parametrii optimi de temperatură cuprinși între -20 – 45°C.
Conectarea modului buzzer activ la Arduino a fost realizată cu ajutorul pinilor existenți pe carcasa modului în felul următor: pinul de alimentare VCC l-am conectat la un pin de alimentare de 5V din multipriza de alimentare, pinul de masă GND l-am conectat la un pin de masă din multipriza de alimentare iar pinul de date I/O l-am conectat la pinul digital 5. În figura 3.10 de mai jos sunt prezentate modulul buzzer activ (în stânga) și ledul RGB (în dreapta).
Figura 3.10 Modul buzzer activ și led RGB
Modulul ledului RGB este format dintr-un led tricromatic care cu ajutorul pinilor R, G, B cu trei intrări de tensiune PWM, poate fi ajustată secțiunea cu trei culori primare (roșu, verde, albastru) pentru a obține un efect de amestecare color. Modulul funcționează la tensiune de operare între 3.3 – 5V având rezistența curentă de 50mΩ și un consum maxim de 20mA pentru fiecare culoare. Conectarea ledului RGB la Arduino a fost realizată cu ajutorul celor patru pini existenți pe carcasa modului în felul următor: pinii de date R, G și B i-am conectat la pinii digitali 7, 8 respectiv 9 și pinul de masă – (minus) l-am conectat la un pin de masă din multipriza de alimentare.
Pinii utilizați pe placa Arduino i-am declarat cu variabilele globale „DoorPin=2”, „AlarmPin=3”, „SpeakerPin=5”, „Red=7”, „Green=8” și „Blue=9” tip „int” care reprezintă numere întregi. Am declarat variabilele „AlarmStatus” și „DoorStatus” de tip „int” care reprezintă numere întregi. Apoi am declarat variabilele „Intruziune=false” ce face ca alarma sonoră ce a fost pornită să nu se oprească atunci când ușa este închisă și variabilele „StatusAlarmă”, „StatusUșă” de tip „string” care reprezintă un șir de caractere.
Am definit modul de funcționare ai pinii folosind funcția „pinMode()” de tipul „OUTPUT”. Apoi am alocat pinilor o valoare inițială cu ajutorul funcției „digitalWrite()” de felul următor: „SpeakerPin” a primit valoarea 1, difuzorul fiind oprit iar „Red”, „Green” și „Blue” au primit valoare 0, culorile roșu, verde și albastru fiind stinse. După am configurat „Timer1” și am declarat procedura „Timer1”.
Citirea stării pinilor „AlarmPin” și „DoorPin” se realizează cu ajutorul funcției „digitalRead()”. În funcție de starea variabilelor „AlarmStatus” și „DoorStatus” am definit comandarea ledului RGB și a buzzerului în felul următor:
dacă alarma este armată și ușa este deschisă cu ajutorul funcției „digitalWrite()” am definit valoarea ledului „Red” să aibă valoarea 1 (ledul RGB se face de roșu), „SpeakerPin” să aibă valoarea 0 (pornește alarma sonoră) și „Intruziune=true” (se definește intruziunea);
dacă alarma este dezarmată, ușa este deschisă și nu este intruziune cu ajutorul funcției „digitalWrite()” am definit valoarea ledului „Blue” să aibă valoarea 1 (ledul RGB se face albastru);
dacă condiția intruziune nu este îndeplinită cu ajutorul funcției „digitalWrite()” am definit valoarea ledului „Green” să aibă valoarea 1 (ledul RGB se face verde).
După aflăm starea alarmei („ARMAT” sau „DEZARMAT”) și a ușii („ÎNCHISĂ” sau „DESCHISĂ”). Citirea valorilor obținute se face de către Arduino care trimite datele citite către serverul web pentru a putea fi afișate în pagina HTML. Partea de monitorizare a sistemului afișează în pagina HTML starea accesului în site afișând mesajele: „Status alarmă:” „ARMAT” sau „DEZARMAT” și „Status ușă:” „ÎNCHISĂ” sau „DESCHISĂ”.
Partea de alarmare a sistemului, funcționează adaugând în tabelul cu “Mesaje importante”, o coloană care afișează mesajul: „Echipă de intervenție în site.” dacă alarma este dezarmată, ușa este deschisă și nu este intruziune sau o coloană colorată cu roșu care afișează mesajul: „INTRUZIUNE!” dacă condiția intruziune este indeplinită.
Schema de conectare a tuturor senzorilor și releelor folosite pentru realizarea sistemului de monitorizare, alarmare și automatizare este prezentată în figura 3.11.
Figura 3.11 Schemă de conectare senzori și relee
3.11 Dispozitive folosite la circuitul de alimentare
Pentru alimentarea tuturor componentelor electronice din sistemul proiectat am folosit următoarele dispozitive: priză dublă alimentare, alimentator de la rețea 12V, 2.5A, acumulator Eagle Battery ES 12V, 1.3AH/20HR, modul coborâre tensiune LM2596, multipriză alimentare improvizată, conectori și fire de conectare. Circuitul de alimentare proiectat este format din mai multe părți: partea de alimentare de la rețeaua de energie electrică , partea de alimentare de rezervă și partea de alimentare între componentele electronice.
Schema bloc a circuitului de alimentare a componentelor electronice din cadrul sistemului proiectat este prezentată în figura 3.12.
Figura 3.12 Schemă bloc a circuitului de alimentare
În cadrul machetei realizate alimentarea site-ului cu energie electrică de la rețea de 220V a fost făcută cu ajutorul unei prize duble și a unui alimentator de 12V, 2.5A. Transferul de curent se face datorită unui cablu de alimentare cu ștecher la capăt care poate fi montat la orice priză. În una dintre cele două prize disponibile în site am conectat un alimentator de 12V, 2.5A care face posibilă alimentarea echipamentelor electronice din macheta sistemului proiectat.
Partea de alimentare de rezervă este formată dintr-un acumulator Eagle Battery ES 12V, 1.3AH/20HR care poate să alimenteze echipamentele electronice pe o perioadă de timp limitată dacă alimentarea de la rețea nu este posibilă. Autonomia acumulatorului este determinată de starea de încărcare a acumulatorului și de consumul echipamentelor alimentate de acesta.
În cadrul machetei sunt alimentate mai multe echipamente electronice care au tensiuni de funcționare diferite și anume: ventilatorul, radiatorul și iluminatul sunt alimentate cu tensiunea de 12V iar Arduino UNO și routerul wireless sunt alimentate cu tensiunea de 5V.
Pentru alimentarea cu 5V a unității centrale a sistemului (Arduino UNO) și a routerului wireless (ce simbolizează echipamentul radio pentru transmisia de date în machetă) am folosit un modul coborâre tensiune LM2596.
Modulul LM2596 are tensiunea de intrare între 4 – 40V (tensiunea de intrare trebuie să fie cu 1.5V mai mare decât tensiunea de ieșire, fără impuls), tensiunea de ieșire între 1.25 – 27V este reglabilă în mod continuu, curentul maxim de ieșire fiind de 3A, puterea de iesire fiind 50W fără răcire și 70W cu răcire, protecția la scurtcircuit fiind de 8A. Temperatura de lucru a modulului este între -40 – 85°C, la frecventa de functionare de 180 Khz, având o eficiență maximă de 96% , modulul având protecție la supratemperatură dar nu are protecție la alimentarea inversă. Pentru a obține tensiunea necesară reglajul se face în trepte de 0.1V cu ajutorul butonului de reglaj situat pe potențiometrul albastru și binențeles monitorizând tensiunea de la ieșire cu ajutorul unui multimetru. Conectarea circuitul de alimentare se face din direcția intrare (cu ajutorul celor două borne IN+ și IN-) iar tensiunea coborâtă se obține în direcția ieșire (OUT+ și OUT-) conform figurii 3.13 de mai jos.
Figura 3.13 Modul coborâre tensiune LM2596
Partea de alimentare între componentele electronice a fost făcută cu ajutorul unei multiprize de alimentare improvizată, a unor conectori și fire de conectare. Multipriza de alimentare suplimentează numărul redus de porturi de alimentare disponibile la Arduino UNO. Multipriza are două rânduri de pini fiecare cu câte 16 porturi, un rând pentru faza de alimentare de 5V și un rând pentru faza de nul GND.
3.12 Proiectarea și realizarea componentei software a sistemului
Proiectarea și realizarea arhitecturii software necesare funcționării sistemului a fost creată conform structurii prezentate în diagrama de program, codul sursă pentru placa de dezvoltare Arduino UNO fiind atașat acestei lucrări în Anexa 1. În figura 3.14 este prezentată diagrama de program pentru sistemul proiectat pentru monitorizarea, alarmarea și automatizarea unui site de telecomunicații.
Figura 3.14 Diagramă de program
Structura programului este construită din mai multe elemente principale și cuprinde partea de inițializare unde sunt declarate bibliotecile, constantele, variabilele globale care vor fi apelate în cadrul programului [3]. Bibliotecile declarate sunt “Ethernet.h” și “AM2320.h” ce sunt folosite pentru placa de rețea și pentru senzorul de temperatură și umiditate. Constantele “VentMAX”, “VentMIN”, “CăldurăMAX” și “CăldurăMIN” definite în partea de inițializare sunt praguri de temperatură utilizate pentru partea de automatizare a climatizării. Variabilele globale, sunt declarate pentru a putea fi apelate în cadrul programului, și conțin denumirile pinilor utilizați, adresa MAC și adresa IP a plăcii de rețea, inițializarea serverului HTTP pe portul 80 și alte variabile care se ocupă de starea senzorilor utilizați în proiect. După urmează procedura de inițializare a programului cu ajutorul funcției “setup()” denumită Diagramă Setup. După urmează declanșarea procedurii „Timer1” care este o buclă fără condiții de oprire folosită la partea de intruziune în site descrisă de Diagrama intruziune. Programul conține și o buclă principală “loop” care este o buclă fără condiții de oprire care citește senzorii utilizați în proiect (Diagrama citire senzori), comandă partea de automatizare ce acționează releele de încălzire și ventilație (Diagrama control relee temperatură). Apoi verifică condiția existenței clienților cu date de transmis iar dacă aceștia nu există așteaptă o secundă și după face un salt la începutul buclei. Dacă aceștia există și condiția “currentLineIsBlank=true” este adevărată verifică conectarea clienților la serverul HTML. Dacă găsește client conectat verifică dacă este disponibil iar dacă nu este îndeplinită condiția execută comanda “client.stop” după care face un salt la începutul buclei.
Dacă răspunsul este afirmativ atunci verifică condiția dacă este disponibilă o linie nouă care este goală. Dacă condiția “linie nouă și currentLineIsBlank=true” este adevărată serverul trimite Diagrama răspuns HTML care se ocupă de afișarea paginii HTML folosită pentru monitorizare și alarmare și după face break. După este verificată condiția existenței unei linii noi, iar dacă aceasta este goală (“currentLineisBlank=true”) programul face un salt până la condiția verificării existenței clienților conectați. Dacă mai există caractere de citit condiția “currentLineisBlank=false” este îndeplinită și după are loc saltul până la condiția verificării existenței clienților conectați.
3.13 Diagramă Setup
Diagrama Setup este procedura de inițializare a programului și a fost realizată cu ajutorul funcției “setup()”. De regulă funcția “setup()” este apelată când se începe o schiță, fiind utilizată pentru a inițializa variabile, modul de funcționare al pinilor sau pentru a începe utilizarea bibliotecilor etc. Funcția “setup()” va fi executată o singură dată, după fiecare pornire sau resetare a plăcii de dezvoltare Arduino. Funcția este executată atunci când placa de dezvoltate Arduino primește alimentare cu tensiune electrică.
Figura 3.15 Diagramă Setup
Conform figurii 3.15 cu ajutorul funcției prima dată am pornit portul ethernet, urmat de pornirea serverului HTML, urmat de definirea modului de funcționare al pinilor utilizați, urmat de alocarea pinilor Output o valoare inițială și ultimul pas fiind configurarea lui „Timer1”.
În cadrul programului software necesar funcționării sistemului proiectat am utilizat un timer din cele trei timere încorporate de către Arduino Uno. “Timer1” este un cronometru de 16 biți adică poate stoca o valoare maximă a contorului de 65535. Un timer este un cronometru sau un contor fiind o bucată de hardware încorporată în controlerul Arduino. “Timer1” este mai simplu spus un ceas și poate fi folosit pentru măsurarea evenimentelor de timp. Cronometrul poate fi programat de către niște registre speciale și se pot configura și trepte pentru cronometru, modul de funcționare și multe alte lucruri.
Odată ce cronometrul atinge valoarea maximă acesta se resetează la zero, procedura numindu-se overflow. Aceasta înseamnă că la 16MHz, chiar dacă setăm comparatorul de potrivire a comparării cu valoarea maximă a contorului, întreruperile vor avea loc la fiecare 65,536 / 16,000,000 , rezultând obținerea întreruperilor la aproximativ 4 ms , fiind foarte util pentru obținerea întreruperilor de doar o secundă. Utilizarea întreruperilor hardware cu ajutorul timerelor Arduino permit efectuarea unei sarcini la intervale foarte precise de timp, indiferent de ce se întâmplă în restul codului programului.
3.14 Diagramă intruziune
Diagrama intruziune urmează să fie executată la declanșarea procedurii “Timer1” care este o buclă fără condiții de oprire folosită la partea de intruziune în site. Procedura „Timer1” se execută la interval de o secundă. Diagrama intruziune pornește cu citirea stărilor variabilelor „AlarmStatus” și „DoorStatus” și se continuă cu trei părți: partea ce comandă ledul RGB și buzzerul, partea ce determină starea sistemului de alarmă (dezarmat sau armat) și partea ce determină starea ușii (deschisă sau închisă).
Figura 3.16 Diagramă intruziune
Conform figurii 3.16 de mai sus după pornirea procedurii se citesc stările variabilelor „AlarmStatus” și „DoorStatus”. După citirea variabilelor se verifică dacă este îndeplinită condiția “AlarmStatus=1” și “DoorStatus=0” (alarma este armată și ușa este deschisă). Dacă condiția este adevărată se definește ledul RGB să fie roșu (intruziune), buzzerul să fie pornit (alarma sonoră ce descurajează intruziunile neautorizate) și „Intruziune=1” (se definește intruziunea). Dacă condiția nu este îndeplinită se verifică dacă este îndeplinită condiția “AlarmStatus=0”, “DoorStatus=0” și „Intruziune=0” (alarma este dezarmată, ușa este deschisă și nu este intruziune). Dacă condiția este îndeplinită se definește ledul RGB să fie albastru fiind echipă de intervenție în site. Dacă condiția nu este îndeplinită se verifică condiția „Intruziune=0” iar dacă este îndeplinită se definește ledul RGB să fie verde (normal).
Partea ce determină starea sistemului de alarmă constă în verificarea condiției “AlarmStatus=1”. Dacă răspunsul este afirmativ “StatusAlarmă” este „ARMAT” iar dacă răspunsul este negativ “StatusAlarmă” este „DEZARMAT”, buzzerul este oprit și „Intruziune=0”. Partea ce determină starea ușii constă în verificarea condiției “DoorStatus=1”. Dacă răspunsul este afirmativ “StatusUșă” este „ÎNCHISĂ” (iluminatul este stins) iar dacă răspunsul este negativ “StatusUșă” este „DESCHISĂ” (sistemul de iluminat din site este aprins).
3.15 Diagramă citire senzori
Citirea senzorilor este definită în cadrul codului programului cu funcția “CitirePrelucrareInfoSenzori()” și este apelată la începutul declanșării funcției principale “loop()”. În figura 3.17 de mai jos este prezentată diagrama citire senzori.
Figura 3.17 Diagramă citire senzori
După pornirea procedurii de citire senzori se citesc pe rând stările nivelului de apă (“StatusApă”), starea temperaturii și umidității („StatusTemp” și „StatusUmid”), starea Ampermetrului 1 (calcul „Amp1” conform formulei, rezultatul obținut fiind în Amperi), starea Ampermetrului 2 (calcul „Amp1” conform formulei, rezultatul obținut fiind în Amperi), starea Voltmetrului (calcul „Volt” conform formulei, rezultatul obținut fiind în Volți) și urmează o întârziere (delay) de 10 ms necesară pentru citirea senzorilor.
3.16 Diagramă control relee temperatură
Partea de automatizare din sistemul proiectat se ocupă cu controlul releelor ce asigură comanda asupra încălzirii și ventilației. Comanda sistemelor de încălzire și ventilație este definită împreună cu citirea senzori în cadrul codului programului cu funcția “CitirePrelucrareInfoSenzori()” și este apelată la începutul declanșării funcției principale “loop()”. În codul programului în partea de inițializare au fost definite constantele “VentMAX=28.5”, “VentMIN=28.0”, “CăldurăMAX=27.9” și “CăldurăMIN=27.5” fiind utilizate ca praguri de temperatură pentru partea de automatizare a climatizării.
În figura 3.18 de mai jos este prezentată diagrama control relee temperatură.
Figura 3.18 Diagramă control relee temperatură
După pornirea procedurii de control relee temperatură se verifică condițiile de atingere a pragurilor de temperatură în funcție de care se comandă releele “ReleuCăldură” și “ReleuVentilație”. Dacă valoarea citită a temperaturii este mai mică de 27.5°C (“<CăldurăMIN”) se pornește încălzirea iar dacă valoarea este mai mare de 27.9°C (“>CăldurăMAX”) se oprește încălzirea, dacă valoarea citită a temperaturii este mai mare de 28.5°C (“>VentMAX”) se pornește ventilația iar dacă valoarea este mai mică de 28°C (“<VentMIN”) se oprește ventilația.
3.17 Diagramă răspuns HTML
Afișarea paginii web care este folosită pentru monitorizare și alarmare în cadrul sistemului proiectat este descrisă în cadrul diagramei răspuns HTML. Diagrama răspuns HTML conține afișarea tuturor informațiilor pentru monitorizarea de la distanță și afișarea mesajelor de alarmare în funcție de valorile primite de la senzori. În subcapitolele precedente au fost prezentate citirile stării senzorilor și mesajele aferente fiecărui senzor care sunt afișate în pagina web.
Pagina web a fost creată cu ajutorul limbajului HTML (HyperText Markup Language), fiind memorată în memoria plăcii Arduino UNO și afișând textul predefinit în funcție de valorile primite la un interval de reîmprospătare de 5 secunde [5]. HTML este simplu spus un limbaj de marcare folosit pentru crearea de pagini web sau aplicații web. Cu ajutorul limbajului pot fi prezentate texte, tabele, paragrafe, culori, fonturi sau imagini într-un format dorit. Limbajul este dezvoltat pentru crearea documentelor electronice numite pagini web, crearea fișierelor HTML fiind simplă, putând fi realizată în cadrul unui editor de text specializat sau a unui editor obișnuit.
Diagrama face parte din buclă principală “loop” și datele sunt trimise de către serverul web către pagina HTML folosită pentru monitorizare și alarmare dacă condiția “linie nouă și currentLineIsBlank=true” este adevărată.
După pornirea procedurii de răspuns HTML prima dată se trimite headerul HTML, unde este setată reîncărcarea automate a paginii la 5 secunde, după se trimite titlul paginii definit “Monitorizare site” unde este setată culoarea fundalului paginii ca fiind albastru deschis. După se trimite textul “Proiect monitorizare site” și se trimite tabelul folosit pentru mesajele de alarmare (partea de alarmare), unde este setat titlul tabelului “ Mesaje importante:” ambele fiind aliniate pe mijlocul paginii și scrise cu font îngroșat. Mesajele de alarmă care sunt afișate în tabel sunt afișate în funcție de anumite condiții.
În figura 3.19 de mai jos este prezentată diagrama răspuns HTML.
Figura 3.19 Diagramă răspuns HTML
Prima condiție care este verificată este “AlarmStatus=0”, “DoorStatus=0”, „Intruziune=0” (ușă deschisă și alarmă dezarmată) iar dacă este îndeplinită este adaugat în tabel o coloană cu mesajul „Echipă de intervenție în site.” După urmează verificarea condiției „Intruziune=1” (ușă deschisă și alarmă armată) care atunci când este îndeplinită adaugă în tabel o coloană colorată cu roșu cu mesajul „INTRUZIUNE!”. După urmează verificarea condiției „StatusApă>150” (valoarea nivelului de apă depășește valoarea de 150) care atunci când este îndeplinită adaugă în tabel o coloană colorată cu portocaliu cu mesajul „Nivel apă ridicat!”. După urmează verificarea condiției „Amp1<0.2” (dacă valoarea curentului de intrare în acumulator scade sub valoarea de 0.2A) care atunci când este îndeplinită adaugă în tabel o coloană colorată cu roșu cu mesajul „Lipsă energie electrică de la rețea!”. După urmează verificarea condiției „Amp1<0.2” (dacă valoarea curentului de intrare în acumulator scade sub valoarea de 0.2A) care atunci când este îndeplinită adaugă în tabel o coloană colorată cu roșu cu mesajul „Lipsă energie electrică de la rețea!”. După urmează verificarea condiției „StatusTemp<27” (dacă valoarea temperaturii este mai mică decât 27°C) care atunci când este îndeplinită adaugă în tabel o coloană colorată cu galben cu mesajul „Temperatură joasă!”. Ultima coloană posibilă din tabel este verificarea condiției „StatusTemp>29” (dacă valoarea temperaturii este mai mare decât 29°C) care atunci când este îndeplinită adaugă în tabel o coloană colorată cu galben cu mesajul „Temperatură înaltă!”. Dacă condițiile de mai sus nu sunt îndeplinite tabelul conține doar capul de tabel. După ce au fost verificare toate condițiile pentru partea de alarmare urmează partea de afișare a informațiilor primite de la senzori (partea de monitorizare).
Afișarea constă în adaugarea în partea din stânga a paginii ( imediat sub tabel) a următoarelor informații:
Status alarmă: ARMAT sau DEZARMAT;
Status ușă: DESCHISĂ sau ÎNCHISĂ;
Nivel apă: _ _ _ _;
Temperatură (Celsius):_ _ . _ _;
Praguri căldură (Celsius): 27.50 – 27.90;
Praguri ventilație(Celsius): 28.00 – 28.50;
Praguri alarmă de temp. (Celsius): <27 și >29;
Umiditate (%RH): _ _ . _ _;
Ain=_ . _ _ _ A (intrare acumulator);
Aout=_ . _ _ _ A (ieșire acumulator);
Vout= _ _ . _ _ _ V (ieșire acumulator).
În figura 3.20 de mai jos este prezentată diagrama de secvență a aplicației.
Figura 3.20 Diagramă de secvență a aplicației
Procedura Timer1 se declanșează automat la un interval de o secundă, independent de bucla principal de program, este inițializată în procedura de inițializare și comunică cu bucla principal prin intermediul variabilelor globale. Toate informațiile afișate în pagina web de monitorizare sunt în timp real iar reîmprospătarea datelor primite se face automat la un interval de 5 secunde.
Capitolul IV – Testarea sistemului de monitorizare, alarmare și automatizare
Operatorii de telecomunicații monitorizează întreaga rețea cu ajutorul centrelor de operațiuni de rețea. Administratorii de rețea folosesc sistemele de monitorizare și alarmare deoarece oferă informații despre starea echipamentelor, starea mediului ambiental din camera tehnică, starea sistemelor de securitate a site-urilor și a camerelor tehnice folosite. Sistemul de monitorizare, alarmare și automatizare proiectat se poate folosi pentru a monitoriza de la distanță starea echipamentelor, a instalațiilor și o detecție a funcționării necorespunzătoare cât mai promptă a echipamentelor dintr-un site de telecomunicații.
În acest capitol este prezentat sistemul de monitorizare, alarmare și automatizare proiectat și realizat într-o machetă funcțională. Testarea sistemului proiectat a fost realizată prin verificarea funcționării corecte a fiecărei componente a sistemului, verificarea afișării corecte a datelor preluate de la senzori, verificarea funcționării dispozitivelor comandate în cadrul proiectului de către placa Arduino (partea de automatizare), verificarea trimiterii datelor de către serverul web către clienții conectați, verificarea funcționarii afișării corecte în cadrul paginii web de monitorizare și alarmare în funcție de scenariile posibile.
Pentru testarea funcționării machetei trebuie să alimentăm cu energie electrică macheta site-ului de telecomunicații. Odată cu alimentarea echipamentelor din cadrul machetei, placa de dezvoltare Arduino UNO începe să funcționeze conform programului software încărcat, pinii conectați la modulele de senzori, de relee și la placa ethernet sunt inițializați. Placa de dezvoltare pornește conexiunea ethernet și serverul web iar după verifică dacă sunt clienți conectați. Administratorii de rețea se pot conecta la serverul web creat cu ajutorul IP-ului 192.168.1.122. Dacă clienții (administratorii) sunt conectați sunt trimise date pentru monitorizare și mesaje de alarmare prin interfața ethernet către dispozitivul de comunicație reprezentat în machetă ca fiind routerul wireless.
În figura 4.1 sunt prezentate macheta sistemului proiectat și realizat (în partea stângă) și pagina web ce este folosită pentru monitorizare și alarmare (în partea dreaptă).
Figura 4.1 Machetă sistem și pagină web de monitorizare
4.1 Testarea părții sistemului ce asigură monitorizarea accesului în site
Accesul în site-uri și în camerele tehnice ale site-urilor precum și alarmarea intruziunilor neautorizate este alt parametru important ce necesită atenția operatorilor de telecomunicații. Datorită furturilor din site-uri sau a vandalizării acestora, care sunt tot mai întâlnite, accesul neautorizat poate duce la prejudicii însemnate atât direct operatorilor cât și indirect clienților acestora prin întreruperea comunicațiilor. Sistemul de monitorizare, alarmare și automatizare a fost proiectat ținându-se seama de acestea și este compus din două părți. Prima partea este cea de automatizare care asigură descurajarea intruziunilor neautorizate prin pornirea alarmei sonore cu ajutorul modului buzzer folosit dacă este intruziune. Automatizarea comandă pornirea iluminatului din site atunci când ușa este deschisă și în funcție de starea accesului în site afișarea cu ajutorul led-ului RGB unei culori predefinite. A doua parte este cea de trimitere a datelor folosite pentru monitorizare și mesajele de alarmare către clienții HTML conectați.
În figura 4.2 sunt prezentate cele trei scenarii posibile privind starea accesului în site și mesajele de monitorizare și alarmare aferente afișate de către sistemul proiectat.
Figura 4.2 Starea accesului în site și mesajele de monitorizare și alarmare afișate
În primul scenariu (partea din stângă a figurii) ledul este de culoare verde și afișează mesajele de monitorizare care înseamnă că ușa este închisă și alarma poate fi armată sau dezarmată. În al doilea scenariu (partea din mijloc a figurii), ledul este de culoare albastră, sistemul de alarmare afișează un mesaj important ce anunță prezența unei echipe de intervenție în site și sunt afișate mesajele de monitorizare care înseamnă că ușa este deschisă și starea alarmei este dezarmată. În cel de-al treilea scenariu (partea din dreapta a figurii), ledul este de culoare roșie, sistemul de alarmare afișează un mesaj important pe fundal roșu ce anunță prezența unei intruziuni în site și sunt afișate mesajele de monitorizare care înseamnă că ușa este deschisă și starea alarmei este armată.
4.2 Testarea părții sistemului ce asigură monitorizarea și automatizarea mediului ambiental
Monitorizarea stării mediului ambiental din camera tehnică a site-ului este făcută prin monitorizarea nivelului de apă, monitorizarea temperaturii și a umidității. Nivelul de apă este monitorizat afișând în pagina HTML valoarea nivelului de apă citită iar sistemul de alarmare afișează mesajul important pe fundal portocaliu dacă valoarea nivelului de apă depășește valoarea de 150. Starea nivelului de apă și mesajele de monitorizare și alarmare afișate sunt prezentate în figura 4.3 de mai jos.
Figura 4.3 Starea nivelului de apă și mesajele de monitorizare și alarmare afișate
În primul scenariu (partea din stânga a figurii) se poate vedea că sistemul afișează nivelul de apă având valoarea 19, această valoare reprezentând eroarea de măsurare a senzorului folosit și nu este cazul alarmării unei posibile inundații. În cel de-al doilea scenariu (partea din dreapta) se poate vedea că este cazul unei inundații în site, sistemul afișează nivelul de apă având valoarea 279 și partea de alarmare afișează mesajul important pe fundal portocaliu că nivelul de apă este ridicat.
Temperatura și umiditatea sunt alți parametrii ce trebuie monitorizați din cauza efectelor negative ce le pot avea asupra echipamentelor prezente într-un site de telecomunicații. Temperatura este monitorizată afișând în pagina HTML valoarea temperaturii citită iar sistemul de alarmare afișează mesajul important pe fundal galben dacă valoarea temperaturii este conform pragurilor alarmei de temperatură. Imediat sub temperatură sunt afișate pragurile de căldură, pragurile de ventilație, pragurile de alarmă de temperatură utilizate în cadrul sistemului proiectat și umiditatea. Umiditatea este monitorizată afișând în pagina HTML valoarea relativă citită a umidității. Starea temperaturii, umidității și mesajele de monitorizare și alarmare afișate sunt prezentate în figura 4.4 de mai jos.
Figura 4.4 Starea temperaturii,umidității și mesajele de monitorizare și alarmare afișate
În primul scenariu (partea din stângă a figurii) temperatura are valoarea de 25.50°C, ceea ce înseamnă că temperatura este mai mică decât 27°C iar sistemul de alarmare afișează un mesaj important pe fundal galben ce anunță că valoarea temperaturii este joasă și umiditatea relativă are valoarea de 54.20. În cel de-al doilea scenariu (partea din dreapta a figurii), temperatura are valoarea de 29.10°C, ceea ce înseamnă că temperatura este mai mare decât 29°C iar sistemul de alarmare afișează un mesaj important pe fundal galben ce anunță că valoarea temperaturii este înaltă și umiditatea relativă are valoarea de 99.90.
Control echipamentelor de ventilație și încălzire este automatizat. În funcție de valorile de temperatură citite partea de automatizare acționează releele care comandă sistemele de climatizare în funcție de pragurile de ventilație și căldură care au fost definite. Echipamentele folosite pentru climatizarea automatizată se pot vedea în stare activă în figura de mai jos. În figura 4.5 sunt prezentate radiatorul și ventilatorul folosite în cadrul machetei.
Figura 4.5 Echipamentele de încălzire și ventilație
Sistemul funcționează conform pragurilor de încălzire definite în felul următor: încălzirea este pornită dacă valoarea citită a temperaturii este mai mică de 27.5°C iar dacă valoarea este mai mare de 27.9°C încălzirea este oprită. Conform pragurilor de ventilație definite sistemul funcționează în felul următor: ventilația este pornită dacă valoarea citită a temperaturii este mai mare de 28.5°C iar dacă valoarea este mai mică de 28°C ventilația este oprită.
4.3 Testarea părții sistemului ce asigură monitorizarea alimentării cu energie electrică
Monitorizarea alimentării site-ului cu energie electrică în sistemul proiectat este făcută cu ajutorul a doi senzori de măsurare a intensității curentului electric și un senzor de măsurare a tensiunii electrice. Primul senzor de intensitate Ain măsoară curentul de intrare în acumulator și poate semnaliza eventualele întreruperi cu energia electrică furnizată de la rețea. Cel de-al doilea senzor Aout măsoară curentul de ieșire din acumulator și alături de senzorul de tensiune poate permite monitorizarea stării acumulatorului. Senzorul Vout măsoară tensiunea de ieșire din acumulator și ne permite determinarea stării de încărcare a acumulatorului. Prin monitorizarea tensiunii de alimentare se pot evita evenimente ce pot genera deranjamente sau defecțiuni ale echipamentelor de comunicații ce au efect întreruperea serviciilor.
Monitorizarea alimentării este făcută afisând în pagina HTML a valorilor intensității curentului de intrare în acumulator Ain, a intensității curentului de ieșire din acumulator Aout și a tensiunii de ieșire din acumulator Vout. Sistemul de alarmare afișează mesajul important pe fundal roșu ce anunță lipsa energiei electrice de la rețea dacă valoarea curentului de intrare în acumulator scade sub valoarea de 0.2A. Starea alimentării cu energie electrică și mesajele de monitorizare și alarmare afișate sunt prezentate în figura 4.6 de mai jos.
Figura 4.6 Starea alimentării cu energie electrică și mesajele de monitorizare și alarmare afișate
În primul scenariu (partea din stânga a figurii) se poate vedea că sistemul afișează Ain având valoarea de 0.684A, Aout având valoarea de 0.732A, Vout având valoarea de 12.414V ceea ce înseamnă că acumulatorul este alimentat de la rețea, neafișând un mesaj important de alarmare și acumulatorul are o stare bună deoarece tensiunea de alimentare are o valoarea mai mare de 12V. În cel de-al doilea scenariu (partea din dreapta) se poate vedea că sistemul afișează Ain având valoarea de 0.000A, Aout având valoarea de 0.684A, Vout având valoarea de 11.706V ceea ce înseamnă că acumulatorul nu mai este alimentat de la rețea, partea de alarmare afișează mesajul important pe fundal roșu ce anunță lipsa energiei electrice de la rețea și acumulatorul este în stare de descărcare deoarece tensiunea de alimentare este sub valoarea de 12V.
Sistemul de monitorizare, alarmare și automatizare realizat a fost testat și funcționează în parametri corespunzători deoarece atât fiecare componentă a sistemului cât și întregul sistem funcționează și se comportă conform cerințelor aferente proiectării sistemului.
Capitolul V – Concluzii
Scopul principal al aceastei lucrări a fost dezvoltarea unui sistem de monitorizare, alarmare și automatizare folosit în site-urile de telecomunicații. Sistemul proiectat ajută operatorii de telecomunicații să obțină detalii în timp real privind starea echipamentelor, starea mediului ambiental din camera tehnică a site-ului în felul acesta monitorizarea poate fi făcută de la distanță. Pe lângă partea de monitorizare, partea de automatizare a sistemului proiectat oferă posibilitatea automatizării instalațiilor de climatizare și partea de alarmare la distanță a sistemului se ocupă cu afișarea de mesaje importante în funcție de anumiți parametrii predefiniți.
Sistemul de monitorizare, alarmare și automatizare oferă posibilitatea monitorizării de la distanță ușurând munca administratorilor de rețea din cadrul NOC-urilor și oferind posibilitatea unei monitorizări eficiente a telecomunicațiilor și a unei detecțiii a funcționării necorespunzătoare cât mai promptă a echipamentelor dintr-un site de telecomunicații.
Cu ajutorul datelor obținute prin monitorizarea în timp real oferită de către sistemul proiectat operatorii de telecomunicații pot obține costuri scăzute ale cheltuielilor operative directe, generate datorită deranjamentelor care au efect nefuncționarea corespunzătoare a echipamentelor sau cheltuielile indirecte prin nefurnizarea serviciilor către clienții abonați la serviciile operatorului.
Selecția componentelor hardware a fost făcută datorită capacităților funcționale și rentabilității sporite dar au fost luate în vedere și următoarele posibilități: înlocuirea unor funcții, modificarea sau dezvoltarea ulterioară a sistemului, ușurința și costul scăzut la care se remediază o defecțiune a unei componente a sistemului.
Programul sistemului proiectat este prezentat în Anexa 1, el fiind proiectat să ofere informații exacte despre starea site-urilor de telecomunicații, să automatizeze instalațiile de menținere a temperaturii ambientale din camera tehnică a site-ului, să descurajeze accesul neautorizat, să funcționeze independent de intervenția omului, atât în partea de automatizare cât și partea de afișare și alarmare a sistemului. Responsabilitățile omului fiind doar acelea de monitorizare prin citirea mesajelor care oferă informații despre starea mediului ambiental, starea diverselor echipamente și citirea mesajelor de alarmare în funcție de situațiile aferente survenite.
Sistemul de monitorizare, alarmare și automatizare proiectat este un sistem simplu, format din mai multe module individuale lucru care îi conferă sistemului o implementare facilă, deoarece este ușor de instalat, de modificat și de reparat. Modelul realizat în această lucrarea a fost implementat cu un preț de cost mic, acesta îndeplinindu-și obiectivul și datorită versatilității sporite a modelului, deoarece se pot adăuga ușor funcții noi, se pot înlocui anumite module de senzori în funcție de cerințele clientului sau datorită modularității se facilizează mult mentenanța sistemului. Sistemul poate fi adaptat cerințelor clienților în funcție de nevoile de monitorizare și automatizare dorite, putându-se monitoriza și alți parametrii specifici domeniului de telecomunicații.
Bibliografie
[1] Stanciu, I. R., Molnar-Matei, F., Sisteme de monitorizare și control în timp real. Timișoara: Editura Eurostampa, 2013;
[2] Molnar-Matei, F., Sisteme încorporate. Notițe de curs, 2019;
[3] Ciocârlie, H., Universul limbajelor de programare, ediția a II-a revizuită. Timișoara: Orizonturi Universitare, 2013;
[4] Stanciu, R, Șorândaru C., Instrumentație virtuală, automatizări și control cu calculatorul. Timișoara: Editura Eurostampa, 2015;
[5] Ciocârlie H., Universul limbajelor de programare, ediția a II a revizuită. Timișoara: Orizonturi Universitare, 2013;
[6] Naghiu, F., Ingineria programării. Notițe de curs, 2018;
[7] Lupșa, R. L., Rețele de calculatoare. Casa Cărții de Știința, 2008;
[8] Parasuraman, R., Mouloua, M., Automation and Human Performance: Theory and Applications. Lawrence Erlbaum Associates. Inc. , 1996;
[9] Shengwey, W., Intelligent Building and Building Automation. Spon Press, USA, 2010;
[10] Wilcher, D., Learn Electronics with Arduino. Apress, 2012;
[11] Nicolae, I., Monitorizarea la distanță a proceselor industrial. Electronica de Azi, 2013;
[12] KMC Controls, Understanding Building Automation and Control Systems. White Paper, 2012.
[13] Ularu, N., Bozeșan, A., Coșariu, C., Herman, L., Albu, M., Baba, M., Slavici, T., Ingineria programării și limbaje de programare. Notițe de curs, teme de laborator și proiect, Timișoara, 2015;
[14] https://www.manufacturing.net/article/2014/08/past-present-history-remote-monitoring;
[15] https://en.wikipedia.org/wiki/Network_operations_center;
[16] https://www.linkedin.com/pulse/evolution-network-operations-amitabh-sharma;
[17] https://www.manufacturing.net/article/2014/08/past-present-history-remote-monitoring;
[18] https://www.intechopen.com/books/telecommunications-networks-current-status-and-future-trends/access-control-solutions-for-next-generation-networks;
[19] http://www.arduino.org/;
[20] https://www.robofun.ro/arduino/arduino_uno_v3;
[21] https://www.arduino.cc/en/Main/ArduinoEthernetShieldV1;
[22] https://www.circuito.io/blog/arduino-uno-pinout/;
[23] https://surtrtech.com/2018/12/23/measuring-temperature-and-humidity-using-am2320-dht12-i2c-sensor/.
Anexa I Programul sistemului de monitorizare, alarmare și automatizare
#include <Ethernet.h> // bibliotecă pentru placa ethernet
#include <AM2320.h> // bibliotecă pentru senzorul de temp./umid. AM2320
//pentru activare mod Debug, trebuie șters comentariul și se activeaza conexiunea serial
//#define DEVMODE 1
// declarare constante
const float VentMAX = 28.5; // prag maxim peste care ventilația pornește
const float VentMIN = 28.0; // prag minim sub care ventilația se oprește
const float CalduraMAX = 27.9; // prag maxim peste care căldura se oprește
const float CalduraMIN = 27.5; // prag minim sub care căldura pornește
// pini utilizați pentru dispozitivele conectate
// pinii digitali 10 – 13 sunt rezervați de placa Ethernet
// pinul digital 4 este rezervat de cititorul de card Micro SD,
// dar am facut bypass, fiind folosit de releul de ventilație
// Pinii A4 si A5 sunt utilizați de senzorul de temperatură și umiditate
int DoorPin=2; // pin digital microswitch ușă
int AlarmPin=3; // pin digital buton armare alarmă
int ReleuVentilatie=4; // pin releu răcire
int SpeakerPin=5; // pin digital difuzor buzzer
int ReleuCaldura=6; // pin releu încălzire
int Red = 7; // pin digital LED RGB – roșu
int Green = 8; // pin digital LED RGB – verde
int Blue = 9; // pin digital LED RGB – albastru
int WaterSensorPin=A0; // pin analogic nivel apă
int AmpIn=A1; // pin ampermetru intrare acumulator
int AmpOut=A2; // pin ampermetru ieșire acumulator
int VoltOut=A3; // pin voltmetru ieșire acumulator
// variabile pentru placa de rețea
byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED}; // adresă MAC a plăcii de rețea
IPAddress ip(192, 168, 1, 122); // adresă IP
EthernetServer server(80); // inițializare server Ethernet pe port 80 (HTTP)
// alte variablie
boolean Intruziune=false; // la intruziune, alarma nu se oprește când se închide ușa
int AlarmStatus; // buton armare alarmă; 0=dezarmat; 1=armat
int DoorStatus; // buton ușă; 0=ușă deschisă; 1=ușă închisă
String StatusAlarma; // ARMAT sau DEZARMAT
String StatusUsa; // Închisă sau Deschisă
String StatusApa; // OK sau Inundație
float StatusTemp; // temperatură în Celsius
float StatusUmid; // umiditate
AM2320 THsensor; // definim o variabilă pentru senzorul de temp./umid.
float Amp1=0; // citire Ampermetru intrare acumulator
float Amp2=0; // citire Ampermetru ieșire acumulator
float Volt=0; // citire Voltmetru ieșire accumulator
// procedură de inițializare program
void setup() {
#if defined(DEVMODE) // pornim comunicarea serială și asteptăm deschiderea portului
Serial.begin(9600); // începem comunicarea serială la 9600 bps
while (!Serial) {;} // așteptăm conectarea portului serial (doar la porturi native USB)
#endif
Ethernet.begin(mac, ip); // pornim conexiunea Ethernet
server.begin(); // pornim serverul
#if defined(DEVMODE)
// transmitem pe portul serial IP-ul serverului
Serial.print("server is at ");
Serial.println(Ethernet.localIP());
#endif
// definim modul de funcționare al pinilor folosiți
pinMode (DoorPin, OUTPUT); // pin microswitch
pinMode (AlarmPin, OUTPUT); // pin buton armare alarmă
pinMode (ReleuVentilatie, OUTPUT); // pin releu răcire
pinMode (SpeakerPin, OUTPUT); // pin difuzor buzzer
pinMode (ReleuCaldura, OUTPUT); // pin releu încălzire
pinMode (Red, OUTPUT); // pin LED RGB – roșu
pinMode (Green, OUTPUT); // pin LED RGB – verde
pinMode (Blue, OUTPUT); // pin LED RGB – albastru
pinMode (WaterSensorPin, INPUT_PULLUP); // pin senzor apă
pinMode (AmpIn, INPUT); // pin ampermetru intrare acumulator
pinMode (AmpOut, INPUT); // pin ampermetru ieșire acumulator
pinMode (VoltOut, INPUT); // pin voltmetru ieșire acumulator
// alocăm pinilor în modul de functionare OUTPUT o valoare inițială
digitalWrite(SpeakerPin, 1); // difuzor buzzer – oprit
digitalWrite(ReleuVentilatie,1); // ventilație oprită
digitalWrite(ReleuCaldura,1); // căldură oprită
digitalWrite(Red,0); // LED RGB – culoarea roșu – stins
digitalWrite(Green,0); // LED RGB – culoarea verde – stins
digitalWrite(Blue,0); // LED RGB – culoarea albastru – stins
// configurăm Timer1
noInterrupts(); // dezactivarea tuturor întreruperilor
TCCR1A = 0;
TCCR1B = 0;
TCNT1 = 65535; // preload timer
TCCR1B |= (1 << CS12); // 256 prescaler
TIMSK1 |= (1 << TOIE1); // enable timer overflow interrupt
interrupts(); // permite toate întreruperile
}
// procedură declanșată de TIMER1 folosită la partea de intruziune în site
ISR(TIMER1_OVF_vect){
// variabile pentru citire senzori
AlarmStatus=digitalRead(AlarmPin); // buton armare alarmă; 0=dezarmat; 1=armat
DoorStatus=digitalRead(DoorPin); // buton ușă; 0=ușă deschisă; 1=ușă închisă
// aflăm starea site-ului
if ((AlarmStatus)and(not DoorStatus)){ // roșu – intruziune
digitalWrite(Red,1);digitalWrite(Green,0);digitalWrite(Blue,0);
digitalWrite(SpeakerPin,0);Intruziune=true;
}
else if ((not AlarmStatus)and(not DoorStatus)and(not Intruziune)){ // albastru – intervenție
digitalWrite(Red,0);digitalWrite(Green,0);digitalWrite(Blue,1);
}
else if (not Intruziune) { // verde – normal
digitalWrite(Red,0);digitalWrite(Green,1);digitalWrite(Blue,0);
}
// aflăm starea alarmei
if(AlarmStatus){StatusAlarma = "ARMAT";}
else {StatusAlarma = "DEZARMAT";digitalWrite(SpeakerPin,1);Intruziune=false;}
// aflăm starea ușii
if(DoorStatus){StatusUsa = "INCHISA";}
else {StatusUsa = "DESCHISA";}
}
// procedura de citire senzori si prelucrare date citite
void CitirePrelucrareInfoSenzori()
{
// citim senzor nivel apă
StatusApa=analogRead(WaterSensorPin);
// citim senzorul de temperatură și umiditate
#if defined(DEVMODE)
switch(THsensor.Read()) {
case 2: Serial.println("Temp. sensor: CRC failed");break;
case 1: Serial.println("Temp. sensor offline");break;
case 0: StatusUmid=THsensor.h;StatusTemp=THsensor.t;break;
}
#else
switch(THsensor.Read()) {
case 2: break;
case 1: break;
case 0: StatusUmid=THsensor.h;StatusTemp=THsensor.t;break;
}
#endif
// citim senzorii de tensiune și curent
Amp1=abs((analogRead(AmpIn)/1024.0)*50-25); // rezultat în Amperi
Amp2=abs((analogRead(AmpOut)/1024.0)*50-25); // rezultat în Amperi
Volt=abs((analogRead(VoltOut)/4.092)/10); // rezultat în Volți
delay(10);
// comandăm încălzirea și ventilația
if(StatusTemp<=CalduraMIN){digitalWrite(ReleuCaldura,0);} // pornim căldura
if(StatusTemp>=CalduraMAX){digitalWrite(ReleuCaldura,1);} // oprim căldura
if(StatusTemp>=VentMAX){digitalWrite(ReleuVentilatie,0);} // pornim ventilația
if(StatusTemp<=VentMIN){digitalWrite(ReleuVentilatie,1);} // oprim ventilația
}
// procedura ce se executa în buclă infinită
// aici se gaseste codul HTML și partea de server HTML
void loop() {
CitirePrelucrareInfoSenzori();
// aici începe partea de HTML
EthernetClient client = server.available(); // așteptăm clienții HTML
if (client) { // daca am găsit un client…
#if defined(DEVMODE)
Serial.println("client nou");
#endif
// o cerere http se termină cu un rând gol
boolean currentLineIsBlank = true;
while (client.connected()) { // atâta timp cât clientul e conectat…
if (client.available()) { // și clientul există…
char c = client.read();
#if defined(DEVMODE)
Serial.write(c);
#endif
// dacă am ajuns la sfârșitul liniei (am primit un caracter pe o linie nouă)
// și linia este necompletată,
// solicitarea HTTP s-a încheiat, pentru a putea trimite un răspuns
if (c == '\n' && currentLineIsBlank) {
// trimite un răspuns standard header http
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println("Connection: close"); //conexiunea va fi închisă după finalizare răspuns
client.println("Refresh: 5"); // refresh automat al paginii la fiecare 5 secunde
client.println();
client.println("<!DOCTYPE HTML>");
client.println("<html><head><title>Monitorizare Site</title></head><body style = "" background-color:powderblue;"">");
client.println("<h1 style=""text-align:center;"">Proiect monitorizare site</h1>");
client.println("<table border = ""2"" align=""center"">");
client.println("<tr><th>Mesaje importante:</th></tr>");
if ((not AlarmStatus)and(not DoorStatus)and(not Intruziune)){client.Println("<tr><td> Echipa de interventie in site.</td></tr>");}
if (Intruziune){client.println("<trbgcolor=""#FF0000""><td>INTRUZIUNE!</td></tr> ");}
if (StatusApa.toInt()>150){client.println("<tr bgcolor=""#FA8072""><td>Nivel apa ridicat!</td></tr>");}
if (Amp1<.2){client.println("<tr bgcolor=""#FF0000""><td>Lipsa energie electrica de la retea!</td></tr>");}
if (StatusTemp<27){client.println("<tr bgcolor=""#FFFFE0""><td>Temperatura joasa!</td></tr>");}
if (StatusTemp>29){client.println("<tr bgcolor=""#FFFFE0""><td>Temperatura inalta!</td></tr>");}
client.println("</table><br />");
client.print("Status alarma: ");client.print(StatusAlarma);client.println("<br />");
client.print("Status usa: ");client.print(StatusUsa);client.println("<br />");
client.print("Nivel apa: ");client.print(StatusApa);client.println("<br />");
client.print("Temperatura (Celsius): ");client.print(StatusTemp);client.println("<br />");
client.print("Praguri caldura (Celsius): ");client.print(CalduraMIN);client.print(" – ");client.print(CalduraMAX);client.println("<br />");
client.print("Praguri ventilatie (Celsius): ");client.print(VentMIN);client.print(" – ");client.print(VentMAX);client.println("<br />");
client.println("Praguri alarma de temp. (Celsius): <27 si >29<br />");
client.print("Umiditate (%RH): ");client.print(StatusUmid);client.println("<br />");
client.print("Ain=");client.print(Amp1,3);client.println("A (intrare acumulator)<br />");
client.print("Aout=");client.print(Amp2,3);client.println("A (iesire acumulator)<br />");
client.print("Vout=");client.print(Volt,3);client.println("V (iesire acumulator)");
client.println("</body></html>");
break;
}
if (c == '\n') {
// începem o nouă linie
currentLineIsBlank = true;
} else if (c != '\r') {
// am obținut un caracter pe linia curentă
currentLineIsBlank = false;
}
}
}
delay(10); // acordă timp browser-ului să primească date
client.stop(); // închidem conexiunea client – server HTML
#if defined(DEVMODE)
Serial.println("client deconectat");
#endif
}
else{
delay(1000);
}
}
Anexa II Index figuri
Figura 2.1 Sistem de monitorizare, alarmare și automatizare a site-urilor 10
Figura 2.2 Site de telecomunicații 11
Figura 2.3 Centrul de operațiuni de rețea NOC 12
Figura 2.4 Sisteme de ventilație 13
Figura 2.5 Sistem de aer condiționat 13
Figura 2.6 Sistem de încălzire 13
Figura 2.7 Sistem de securitate și automatizare a site-urilor 14
Figura 2.8 Sistem de securitate cu camere de luat vederi 16
Figura 2.9 Centrală de detecție a intruziunilor și a incendiilor 17
Figura 2.10 Acumulatori și modele de UPS-uri standard și rackabile 18
Figura 2.11 Generator de curent cu panou de comandă 20
Figura 3.1 Schemă bloc a sistemului de monitorizare, alarmare și automatizare 21
Figura 3.2 Placa de dezvoltare Arduino UNO 23
Figura 3.3 Arduino Ethernet Shield W5100 25
Figura 3.4 Senzorul de nivel de apă 27
Figura 3.5 Senzorul de temperatură și umiditate AM2320 28
Figura 3.6 Senzorul de curent ACS712 29
Figura 3.7 Senzorul de tensiune 30
Figura 3.8 Module relee și modul de conectare 31
Figura 3.9 Microswitch și întrerupător cu două poziții 32
Figura 3.10 Modul buzzer activ și led RGB 32
Figura 3.11 Schemă de conectare senzori și relee 33
Figura 3.12 Schemă bloc a circuitului de alimentare 34
Figura 3.13 Modul coborâre tensiune LM2596 35
Figura 3.14 Diagramă de program 35
Figura 3.15 Diagramă Setup 36
Figura 3.16 Diagramă intruziune 37
Figura 3.17 Diagramă citire senzori 38
Figura 3.18 Diagramă control relee temperatură 39
Figura 3.19 Diagramă răspuns HTML 40
Figura 3.20 Diagramă de secvență a aplicației 41
Figura 4.1 Machetă sistem și pagină web de monitorizare 42
Figura 4.2 Starea accesului în site și mesajele de monitorizare și alarmare afișate 43
Figura 4.3 Starea nivelului de apă și mesajele de monitorizare și alarmare afișate 43
Figura 4.4 Starea temperaturii,umidității și mesajele de monitorizare și alarmare afișate 44
Figura 4.5 Echipamentele de încălzire și ventilație 44
Figura 4.6 Starea alimentării cu energie electrică și mesajele de monitorizare și alarmare afișate 45
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: FUNDAȚIA PENTRU CULTURĂ ȘI ÎNVĂȚĂMÂNT “IOAN SLAVICI” TIMIȘOARA UNIVERSITATEA “IOAN SLAVICI” TIMIȘOARA FACULTATEA DE INGINERIE DOMENIUL CALCULATOARE… [306946] (ID: 306946)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
