Platformă low-cost sincronizată temporal [304880]

[anonimizat]-[anonimizat], Raspberry Pi 3, [anonimizat], dar si pentru posibilitatea de interconectare cu alte platforme in timp real.

Senzorii sunt utilizați pentru a converti cantitatea fizică în date numerice. [anonimizat], [anonimizat] o rețea de senzori fără fir. În această lucrare a fost realizată o [anonimizat]. În dezvoltarea sistemului provocarea principală a fost sincronizarea temporală a acestuia, pentru care s-a recurs la acuratețea de 1 milisecundă (local) a Network Time Protocol și folosirea unui Raspberry Pi drept Server NTP local; [anonimizat].

Orientarea spre disponibilitatea modulară a componentelor/senzorilor compatibili Raspberry Pi existenți/construiți, dar și a versatilității pachetelor open source OS Debian/Linux peste o [anonimizat] 3 [anonimizat]-throughput, pentru colecție de date de localizare acustică. [anonimizat], oferă universalitatea și scalabilitatea înaltă a [anonimizat], [anonimizat], conferă pletora de aplicații WSN posibile.

Cuvinte Cheie: Platformă, Sincronizare, WSN, WLAN, [anonimizat].dr.ing. [anonimizat] a acesteia în cadrul grupului de cercetare DRAMCO (Design and Research of Aerial eMbedded devices and Cool Other stuff) [anonimizat].

[anonimizat]. [anonimizat]. Bart Thoen pentru tot sprijinul acordat pe parcursul acestui proiect.

[anonimizat], care au contribuit direct sau indirect acestei lucrări.

Nu în ultimul rând ofer mulțumiri familiei și prietenilor apropiați pentru încurajările și sprijinul acordat.

Capitolul i

Introducere

Context și motivație

Sarcina unui senzor este de a converti o cantitate fizică în date numerice. [anonimizat] a colecta date din același punct mai îl mai putem numi nod de senzori. Atunci când multe noduri de senzori sunt organizate într-o rețea distribuită pentru a [anonimizat], numim aceasta configurație rețea de senzori. Este posibilă stabilirea unei legături de comunicare de date prin sau fără pentru fiecare dintre aceste noduri pentru transmiterea datelor colectate către un nod central de colectare a datelor. Utilizarea firelor este depășită și sa dovedit a fi dificilă pentru nodurile senzorilor situate departe de utilizator.În ultimii ani, am văzut o nouă eră a tehnologiilor wireless, cum ar fi Wi-Fi, Bluetooth, ZigBee, 6LoWPan. Dispozitivele wireless realizate utilizând aceste tehnologii au caracteristici diferite de rate de date, rază de acțiune, consum de energie. Când folosim un număr mare de noduri de senzori cu transmițător radio pentru a colecta și transmite date fizice sau de mediu prin comunicații wireless, numim rețeaua de senzori ca fiind fără fir sau wireless. Unele dintre utilizările rețelei de senzori wireless sunt monitorizarea poluării aerului / apei, sistemul de management al clădirilor, monitorizarea mediului etc. Utilizarea rețelei de senzori fără fir introduce câteva provocări. Nodurile senzorilor vor trimite date în mod autonom sau când li se va cere să facă acest lucru. Tehnicile de achiziție și de stocare a datelor sunt necesare pentru a face față datelor primite. De asemenea pentru aplicații dependente de timp, cum este localizarea acustică, este necesar ca senzorii să aibă același ceas; acest fapt impactează direct eroarea de localizare, cu cât discrepanța dintre ceasurile senzorilor este mai mare cu atât eroarea de măsură este mai mare întrucât este înregistrată la timpi diferiți. Am propus și am dezvoltat un cadru bazat pe Raspberry Pi, Raspbian 3; o variantă a Debian pentru Raspberry Pi și Network Time Protocol pentru sincronizarea, controlul și achiziționarea datelor potențialilor senzori. Conceptul de sincronizare a computerelor temporal prin NTP, nu este nimic nou, însă inovația o reprezintă posibilitatea actuală de producție a computerelor la scală mică. Arhitectura integrării tuturor componentelor de calcul pe o singură placă electronică de dimensiuni reduse și uzul protocoalelor deja existente; universal compatibile cu tehnica de calcul implementată și masiv răspândită, cât și versatilitatea de interconectare fizică input-output; SPI, I2C, Serial, USB, GPIO a Raspberry Pi 3, pot crea baza; platforma, unei rețele de senzori wireless. Senzorii se pot conecta la fiecare din computerele rețelei creând în tandem cu acestea noduri de senzori. În funcție de fiecare aplicație în parte aceștia pot fi configurați pentru a putea interfața cu computerele singleboard. Această versatilitate este înlesnită de beneficiile sistemelor de operare bazate pe Linux care rulează pe Raspberry Pi. În această lucrare accentul este pus pe menținerea costurilor la un nivel strict necesar, adică cel a achizițiilor hardware.

Obiectivul Cercetării

Problema de sincronizare a timpului menținut de ceasurile locale ale nodurilor senzorilor din rețeaua fără fir a fost a studiat intens în literatură în ultimele două decenii și totuși nu există o schemă specifică de sincronizare a timpului disponibile pentru a atinge un grad mare de precizie, cu scalabilitate înaltă, independent de topologie și aplicare . Aceasta reflectă complexitatea asociată naturii colaborative a nodurilor, în multe rețele de senzori; o problemă trivială în sine. Una dintre serviciile middleware de bază ale rețelelor de sincronizarea la scală largă a timpului. Multe aplicații de rețele de senzori necesită timp pentru a sincroniza rețeaua. Exemple de astfel de aplicații includ monitorizarea mediului, urmărirea obiectelor mobile (țintă), fuziunea datelor, ordonarea mesajelor sunt doar câteva exemple. Să considerăm o aplicație de localizare a obiectelor mobile. Atunci când un obiect apare, nodurile de detectare înregistrează locația de detectare și timpul de detectare. Apoi, datele locației sunt trimise la nodul de agregare (sau fuziune) care estimează traiectoria în mișcare a obiectul. Fără o schemă exactă de sincronizare a timpului, traiectoria estimată a obiectului urmărit ar putea să difere semnificativ de cea reală. Prin urmare, un serviciu precis ori global (sau localizat) de sincronizare temporală este critic și trebuie să fie disponibil pentru fiecare dintre nodurile senzorilor pentru orice aplicație

Conceptul inițial al acestei teze a fost de a facilita activitățile de colectare a datelor pentru rețeaua senzorilor fără fir din perspectiva utilizatorului. Un număr redus de 3 noduri și un server au fost conectate pentru a reproduce o rețea reală de achiziție a datelor.

Primul obiectiv a fost acela de identifica soluțiile hardware ce pot răspunde problemei conectării acesteia și prelucrarea datelor unei rețele acustice formată din microfoane MEMS

propusă în lucrarea de cercetare a grupului DRAMCO „A low-power MEMS microphone array for wireless acoustic sensors” și conceperea unei platforme peste care această aplicație să poată funcționa în condiții de throughput optim colectării fluxului de date generate.

De asemenea, a fost nevoie de rezolvarea problemei sincronizării tuturor nodurilor pentru a putea funcționa identic, iar al doilea obiectiv a fost dezvoltarea unei metode de sincronizare a ceasurilor de sistem a computerelor Raspberry Pi. Pentru aceasta a fost folosit un RTC în tandem cu protocolul NTP.

Contribuția Cercetării

Rețeaua de senzori wireless are o mulțime de aplicații. Sistemul dezvoltat este potrivit pentru aplicații de monitorizare sensibile de timp. Entuziaștii și pasionații au început să folosească computere de dimensiuni reduse cum ar fi Raspberry Pi sau Beagle Bone pentru micile lor proiecte de acasă. Prin această lucrare am arătat că poate fi folosit și ca o rețea locală pentru cercetarea științifică. În lucrarea de față putem observa versatilitatea computerelor Raspberry Pi atât ca Server NTP, cât și ca noduri de rețea, ceea ce face costul implementării să fie foarte scăzut. Prin intermediul programului freeware NTP Plotter s-a înregistrat rata ceasurilor sistemelor pe perioade îndelungate, ce a servit drept mijloc de monitorizare, test de stabilitate și sursă valori de bază pentru un reglaj fin al acurateței ceasurilor pe toată întinderea rețelei, dar și a configurațiilor diferite de conexiune, Ethernet, Wi-Fi. De asemenea pentru evidențierea datelor valorice ceasurilor de sistem si modulelor RTC în condiții de întrerupere a conexiunii către un ceas de referință; server NTP, s-a recurs la o metodă simplă de plot a offset-urilor relative local. Aceasta constă în înregistrarea timpilor interogărilor, aferenți componentelor din sistem și calculul diferențelor acestora. Toate acestea se pot realiza și dintr-o locație îndepărtată, care oferă o mare libertate activității de cercetare.

Sistemul este extrem de portabil atât în ceea ce privește software-ul, cât și hardware-ul. Raspberry Pi are un consum foarte mic față de serverele tradiționale. Deci, putem să-l implementăm și în locații exterioare fără a cheltui prea mult pentru bateriile de back-up. Sincronizarea și controlul Serverului NTP se realizează prin linie de comandă în consola „Terminal” nativă mediului Linux , astfel încât pentru o misiune critică, întreaga operațiune poate fi mutată pe un server adecvat pentru industrie, fără a consuma prea mult timp.

Capitolul ii

Rețele de senzori Wireless

Introducere

Rețelele de senzori wireless (Wireless Sensor Networks) au fost considerate pe scară largă ca fiind una dintre cele mai importante tehnologii pentru secolul al XXI-lea. Pe baza progreselor recente înregistrate în sistemele microelectromecanice (MEMS) și în comunicațiile fără fir, senzorii minusculi, ieftini și inteligenți ce pot fi implementați într-o zonă fizică și în rețea prin intermediul legăturilor wireless și Internet, oferă oportunități fără precedent pentru o varietate de aplicații civile și militare, ca de exemplu, monitorizarea mediului, supravegherea campaniilor de luptă și controlul proceselor industriale. Distinse de rețelele tradiționale de comunicații fără fir, ca de exemplu, sistemele celulare și rețelele ad-hoc mobile (MANET), WSN-urile au un caracter unic, de exemplu, un nivel mai dens de localizare a nodurilor, fiabilitate scăzută a nodurilor senzorilor și constrângeri severe în ceea ce privește energia de funcționare, calculul și stocarea, care prezintă multe noi provocări în dezvoltarea și aplicarea WSN-urilor.

În ultimele decenii, WSN-urile au primit o atenție extraordinară atât din partea academică, cât și din partea industriei din întreaga lume. O cantitate mare de activități de cercetare
au fost efectuate pentru a explora și rezolva diverse probleme de proiectare și aplicare,
și s-au înregistrat progrese semnificative în ceea ce privește dezvoltarea și implementarea
WSN-urilor. Se presupune că în viitorul apropiat WSN-urile vor fi utilizate pe scară largă în diverse domenii civile și militare și vor revoluționa modul în care trăim, lucrăm și interacționăm
cu lumea fizică.

Caracteristici WSN

O rețea wireless de senzori constă în mod obișnuit dintr-un număr mare de noduri de senzori low-cost, low-power și multifuncționali amplasate într-o regiune de interes. Nodurile de senzori sunt de dimensiuni relativ mici, dar sunt echipate cu senzori, microprocesoare încorporate,
și transmițătoare radio, și, prin urmare, nu au numai capacitatea de detectare, ci de asemenea, capabilități de procesare și comunicare a datelor. De regulă comunică la o distanță mică printr-o metodă wireless și colaborează pentru a realiza o sarcină comună, de exemplu, monitorizarea mediului, supravegherea câmpurilor de luptă sau controlul proceselor industriale.

În comparație cu rețelele de comunicații tradiționale fără fir, ca de exemplu sistemele de telefonie mobilă și rețele ad hoc, rețelele de senzori au următoarele caracteristici și constrângeri unice:

Densitatea nodurilor. Nodurile senzorilor sunt, de obicei, desfășurate în număr mare în zona domeniului de interes. Numărul de noduri de senzor dintr-o rețea de senzori este mult mai numeros relativ cu cel al rețelelor ad-hoc.

Nodurile de senzori alimentate prin baterie. Cum sugerează clasificarea, sursa lor de alimentare este bateria. În cele mai multe situații, ele sunt amplasate într-un mediu dur sau ostil, unde este foarte dificil sau chiar imposibil de a reîncărca sau schimba bateriile.

Constrângeri privind energia, calculul și stocarea. Nodurile senzorilor sunt de regulă limitate în ceea ce privește puterea de funcționare, capacitățile calcul și de stocare.

Autoconfigurabile. Atunci când nodurile senzorilor sunt amplasate aleatoriu fără o planificare detaliata au capacitatea de a se configura autonom într-o rețea de comunicații.

Specifice aplicației. Sistemele de senzori sunt specifice fiecărei aplicații. O rețea este de obicei proiectată și implementată în funcție de necesitățile aplicației.

Noduri de senzori instabile. Nodurile senzorilor amplasate în condiții dure sau severe, ce funcționează fără întreținere, sunt predispuse la daune sau defecțiuni.

Schimbarea frecventă a topologiei. Actualizarea topologiei rețelei se datorează frecvent din cauza defecțiunii nodului, deteriorarea, adăugarea, epuizarea energetică sau slăbirea canalului.

Modelul de trafic many-to-one. În cele mai multe aplicații ale rețelelor de senzori, datele
înregistrate de nodurile de senzori se transmit către un nod de colectare.

Redundanță de date. În majoritatea aplicațiilor, rețelele de senzori sunt amplasate într-o regiune de interes și colaborează pentru a realiza o sarcina comună de detectare. Astfel, datele detectate în mod uzual de nodurile senzorilor multiple au un anumit nivel de corelare sau de redundanță.

Caracteristicile și constrângerile unice prezintă numeroase noi provocări privind proiectarea rețelelor de senzori.

Aplicații

Senzorii pot fi utilizați pentru a detecta sau monitoriza o varietate de condiții sau parametri fizici ca de exemplu:

Lumină

Sunet

Umiditate

Presiune

Temperatură

Compoziția solului

Calitatea aerului sau a apei

Atribute ale unui obiect cum ar fi mărimea, greutatea, poziția, viteza și direcția.

Senzorii wireless au avantaje semnificative față de senzorii cu fir convenționali.
Aceștia nu numai că pot reduce costurile și timpul dezvoltării aplicațiilor, ci și pot fi aplicați
în orice mediu, în special în cele în care rețelele cu senzori cu fir convențional sunt imposibil de aplicat, de exemplu, terenuri inospitaliere, câmpuri de luptă, spațiu sau adâncul oceanelor. WSN-urile au fost inițial motivate de aplicațiile militare, care variază de la sistemele de supraveghere acustică la scară largă pentru ocean până la rețele mici nesupravegheate de senzori de teren pentru detectarea țintelor la sol. Cu toate acestea, disponibilitatea senzorilor de cost redus și a comunicațiilor fără fir a promis dezvoltarea a numeroase aplicații în ambele domenii civile și militare. Următoarea secțiune prezintă câteva exemple de senzori aplicații de rețea.

Monitorizarea Mediului

Monitorizarea mediului este una dintre cele mai vechi aplicații ale rețelelor de senzori. În monitorizarea mediului, senzorii sunt utilizate pentru a monitoriza o varietate de parametri sau condiții de mediu.

Monitorizarea habitatelor. Senzorii pot fi utilizați pentru a monitoriza condițiile de mediu ale animalelor sau plantelor în habitate sălbatice.

Monitorizarea calității aerului sau a apei. Senzorii pot fi amplasați la sol sau sub apă pentru a monitoriza calitatea aerului sau a apei. De exemplu, monitorizarea calității apei poate fi utilizată în domeniul hidrochimiei. Monitorizarea calității aerului poate fi utilizate pentru controlul și combaterea poluării aerului.

Monitorizare hazarduri. Senzorii pot fi utilizați pentru monitorizarea biologică sau chimică a locațiilor, de exemplu, o fabrică chimică sau un câmp luptă.

Monitorizarea dezastrelor. Senzorii pot fi intenționat dens localizați într-o regiune pentru detectarea dezastrelor naturale sau non-naturale. De exemplu, senzorii pot
să fie împrăștiați în păduri sau albii pentru detectarea focurilor forestiere sau a inundațiilor. Senzori seismici pot fi amplasați într-o clădire pentru a detecta direcția și magnitudinea unui cutremur și să ofere o evaluare a siguranței clădirii.

Aplicații militare

Rețelele wireless de senzori devin parte integrantă ale sistemelor militare de comandă, control, comunicare și informații (C3I). Senzorii wireless pot fi dispersați rapid într-o regiune de luptă sau o regiune ostilă fără infrastructură. Datorită ușurinței de amplasare, a confidențialității, a funcționării nesupravegheate și toleranței la defecte, rețelele senzorilor vor juca mai multe roluri importante în viitoarele sisteme C3I militare și vor facilita desfășurarea conflictelor într-un mod mai inteligent cu implicare umană redusă.

Monitorizarea câmpului de luptă. Senzorii pot fi localizați într-o zonă de luptă pentru a fi monitorizată prezența forțelor și a vehiculelor forțelor opozante și urmărirea mișcărilor acestora supravegherea strânsă a acestora.

Aplicații medicale

Rețelele de senzori pot fi folosite pentru a monitoriza pacienții și persoanele în vârstă cu scopul de îngrijire a sănătății, fapt ce ar putea să scadă substanțial lipsa severă a personalului medical și reducerea cheltuielilor pentru sănătate în sistemele actuale de îngrijire a sănătății.

Monitorizarea comportamentului. Senzorii pot fi poziționați în casa unui pacient cu rolul de a monitoriza comportamentul pacientului. De exemplu, poate alerta medicii când
pacientul cade și necesită asistență medicală imediată. Poate monitoriza
ceea ce face pacientul și poate oferi mementouri sau instrucțiuni pe un televizor
sau radio.

Monitorizare medicală. Senzorii purtabili pot fi integrați într-un sistem wireless a zonei corporale (Wireless Body Area Network) pentru a monitoriza semnele vitale, parametrii de mediu, și locații geografice, permițând astfel, pe termen lung, monitorizarea neinvazivă și ambulatorie a pacienților sau a persoanelor în vârstă oferind posibilitatea de alertă instantanee și facilitarea asistenței medicale imediate în caz de urgență,
raportarea utilizatorilor despre starea actuală de sănătate și actualizarea în timp real
ale datelor fișelor medicale ale utilizatorilor.

Controlul procesului industrial

În industrie, WSN poate fi folosite pentru a monitoriza procesele de fabricație sau starea echipamentului de fabricație. De exemplu, senzorii wireless pot fi instrumentați pentru în linii de producții și asamblare pentru monitorizarea și controlul proceselor de producție. Instalațiile chimice sau rafinăriile de petrol pot utiliza senzori pentru a monitoriza starea infrastructurii de conducte. Senzori de dimensiuni reduse pot fi încorporate în regiunile unei mașini care sunt inaccesibile oamenilor pentru a monitoriza starea mașinii și a alerta orice defecțiune. Tradițional echipamentul este, de obicei, menținut pe baza unui calendar de inspecție sau revizie, de exemplu, o verificare la fiecare 3 luni. Această metodă este mult mai costisitoare relativ cu soluțiile potențiale ale WSN.

Securitate și supraveghere

Rețelele de senzori pot fi folosite în multe sisteme de securitate și aplicații de supraveghere. De exemplu, senzori acustici, video și alte tipuri de fi utilizați în clădiri, aeroporturi, metrou și alte infrastructuri critice, de exemplu, centralele nucleare sau centrele de comunicații pentru a identifica și a urmări intrușii, și oferă alarme în timp util și protecție împotriva potențialelor
atacuri. Spre deosebire de aplicațiile care nu necesită o infrastructură fixă, aplicații de securitate își pot permite să înființeze o infrastructură pentru alimentarea cu energie electrică și comunicații.

Casa inteligentă

WSN pot fi folosite pentru a oferi comoditate în utilizare și medii inteligente de viață pentru oameni.

Smart Home. Senzorii wireless pot fi încorporați într-o casă și conectați
pentru a forma o rețea autonomă de domiciliu. De exemplu, un frigider inteligent conectat la o plită inteligentă sau la un cuptor cu microunde, puteți pregăti un meniu pe baza inventarului frigiderului și trimite parametrii de gătit relevanți către plita inteligentă sau către cuptorul cu microunde, care va stabili temperatura și timpul de gătire. Conținutul și programele TV, sau playerelor media pot fi monitorizate și controlate de la distanță pentru a îndeplini diferitele preferințe ale membrilor familiei.

Remote metering. Senzorii wireless pot fi utilizați pentru citirea de la distanță a datelor utilităților dintr-o casă, de exemplu, apă, gaz sau electricitate. Valorile se pot transmite unui centru remote, sau direct furnizorilor de utilități.

În plus față de aplicațiile de mai sus, WSN auto-configurabile pot fi utilizate și multe alte domenii, de exemplu, ajutor în caz de dezastru, controlul traficului, managementul depozitului, și inginerie civilă. Cu toate acestea, o serie de probleme tehnice trebuie rezolvate înainte ca aceste aplicații interesante să devină realitate.

Obiectivele arhitecturii rețelelor de senzori

Caracteristicile rețelelor de senzori și cerințele diferitelor aplicații au un impact decisiv asupra obiectivelor de proiectare a rețelei în ceea ce privește capacitățile și performanța rețelei. Principalele obiective de proiectare pentru rețelele de senzori includ următoarele aspecte:

Dimensiuni reduse a nodului. Reducerea dimensiunii nodului este unul dintre obiectivele de proiectare primare pentru rețelele de senzori. Nodurile senzorilor sunt, de obicei, situate într-o zonă de interes în număr mare. Reducerea dimensiunii nodului poate facilita implementarea precum și reducerea consumului de energie și a costurilor nodurilor de senzori.

Costul scăzut. Reducerea costurilor nodurilor este un alt obiectiv primar de design al rețelelor de senzori. Deoarece nodurile senzorilor sunt de obicei implementate în numere mari și nu pot fi refolosite, este important de a reduce costul de producție, astfel încât costul întregii rețele să fie redus.

Consum redus de putere. Reducerea consumului de energie este cel mai important obiectiv în proiectarea unei rețele de senzori. În cazul nodurilor alimentate de acumulator adesea este dificil sau chiar imposibil schimbarea sau reîncărcarea acestora, reducerea consumului de energie a senzorilor este esențială astfel încât durata de viață a nodurilor și de asemenea a rețelei este prelungită.

Auto-configurabilitate. În cazul rețelelor de senzori în nodurile senzorilor sunt de obicei implementate într-o regiune de interes, fără o planificare atentă, odată ce sunt dislocate, nodurile senzorilor ar trebui să se poată organiza în mod autonom într-o rețea de comunicații și reconfigura conectivitea lor în situații de schimbări de topologie și avarii de noduri.

Scalabilitate. În rețelele de senzori, numărul de noduri poate fi de ordinul de zeci, sute sau mii. Astfel, protocoalele de rețea concepute pentru rețelele de senzori trebuie să fie scalabile pentru diferite dimensiuni ale rețelei.

Adaptabilitate. Se poate întâmpla ca un nod să se defecteze, să fie adăugat sau mișcat, fapt care ar duce la schimbări în densitatea nodurilor și topologia rețelei. Prin urmare,
protocoalele de rețea concepute pentru rețelele de senzori ar trebui să fie adaptabile la alterări de densitate și modificări de topologie.

Fiabilitate. Pentru cele mai multe aplicații ale rețelelor de senzori, este necesar ca datele să fie livrate fiabil prin canale wireless ce includ zgomot, interferențe, sunt predispuse la erori și variabile în funcție de timp. Pentru a îndeplini această cerință, protocoalele rețelei concepute trebuie să asigure mecanisme de control al erorilor și corecții pentru furnizarea de date fiabile.

Toleranța defecțiunilor. Nodurile senzorilor sunt predispuse la defecțiuni din cauze multiple. Astfel, nodurile senzorilor ar trebui să fie tolerante la erori și să aibă abilități de autotestare, autocalibrare, reparare și recuperarea de sine.

Securitate. În multe aplicații militare, nodurile senzorilor sunt implementate într-un mediu ostil și vulnerabil adversarilor. În astfel de situații, o rețea de senzori ar trebui să introducă mecanisme de securitate eficiente pentru a împiedica accesul neautorizat la informațiile din rețea sau la un nod de senzori.

Utilizarea canalului. Sistemele de senzori au resurse de lățime de bandă limitată. Astfel, protocoale de comunicare concepute pentru rețele de senzori ar trebui să utilizeze eficient lățimea de bandă pentru a îmbunătăți utilizarea canalului de comunicare.

Suportul Calității Serviciilor. În rețelele de senzori, diferite aplicații pot să aibă necesități diferite privind calitatea serviciilor (Quality of Service) în termeni de latență de livrare și
pierderea de pachete. Spre exemplu, în unele aplicații, cum ar fi monitorizarea incendiilor, livrarea la timp a informațiilor este crucială. Alte aplicații, de exemplu, colectarea de date pentru explorare științifică, sunt tolerante la întârzieri dar nu pot suporta pierderi de pachete. Astfel, design-ul protocolului de rețea ar trebui să ia în considerare
cerințele QoS specifice ale diferitelor aplicații.

Cele mai multe rețele de senzori sunt specifice aplicației. Nu este necesar să implementăm toate obiectivele de proiectare într-o singură rețea. În schimb, doar o parte din aceste obiective ar trebui să fie să fie luate în considerare în proiectarea unei rețele specifice pentru a întâlni necesitățile unei aplicației.

Provocările proiectării rețelelor de senzori

Caracteristicile unice ale rețelelor de senzori prezintă numeroase provocări de proiectare, care implică următoarele aspecte principale:

Energie de alimentare limitată. Nodurile senzorilor alimentate de la baterie au o capacitate limitată de energie. Această constrângere prezintă multe noi provocări în dezvoltarea de hardware și software, precum și de proiectare a arhitecturilor de rețele și protocoale pentru acestea. Pentru a prelungi funcționalitatea și durata de viață a unei rețele de senzori, trebuie luată în considerare eficiența energetică în fiecare aspect al designului, nu numai hardware și software, ci și arhitectura și protocoalele implicate.

Resurse hardware limitate. Nodurile senzorilor au de regulă capabilități de procesare și stocare limitate și prin urmare, pot efectua numai funcționalități computaționale limitate.
Aceste constrângeri hardware prezintă multe provocări în direcția dezvoltării software și proiectarea protocoalelor de rețea pentru WSN, care trebuie să ia în considerare nu numai constrângerile energetice din nodurile senzorilor, ci și prelucrarea și capacitățile de stocare ale nodurilor senzorilor.

Implementarea masivă și aleatorie. Cele mai multe rețele de senzori sunt compuse dintr-un număr mare de noduri, de la sute la mii sau chiar mai mult. Implementarea nodurilor este, de obicei, dependentă de aplicație, și poate fi manuală sau aleatorie. În majoritatea aplicațiilor, nodurile senzorilor pot fi amplasate la întâmplare într-o zonă de interes. Nodurile senzorilor trebuie să se organizeze în mod autonom într-o rețea de comunicații înainte de a începe să efectueze măsurători.

Condiții de mediu dinamice. O rețea de senzori funcționează de obicei într-un mediu dinamic iar în unele cazuri nesigur. Pe de o parte, topologia rețelei de senzori se poate schimba frecvent din cauza defecțiunilor nodurilor, deteriorărilor, adăugării nodurilor noi, sau epuizarea energiei. Pe de altă parte, nodurile senzorilor sunt conectate printr-un
canal wireless, ce are dezavantajul zgomotului, poate fi predispus la erori și variază în funcție de timp. Conectivitatea rețelei pot fi perturbată din cauza atenuării semnalului.

Versatilitate. Rețelele de senzori au o gamă largă de aplicații. Cerințele pentru aplicații pot varia în mod semnificativ în funcție de necesitățile acestora. Niciun protocol de rețea nu poate îndeplini cerințele tuturor aplicațiilor. Proiectarea rețelelor senzorilor este specifică aplicației. Totodată aplicații similare pot împărtăși aceeași platformă.

Sincronizarea timpului în rețelele de senzori

Sincronizarea timpului, ca și în toate celelalte sistemele distribuite, este o componentă importantă a unei rețele de senzori fără fir (WSN), care urmărește să ofere un interval de timp comun pentru ceasurile locale ale nodurilor din rețea. Deoarece toate ceasurile hardware sunt imperfecte, ceasurile nodurilor rețelei pot sa difere, din cauza drift-ului, relativ la ceasul altui nod. Din acest motiv, timpul observat sau duratele intervalelor de timp pot diferi pentru fiecare nod din rețea. Cu toate acestea, pentru multe aplicații sau protocoale de rețea, este necesar
să există o viziune comună a timpului identică pentru toate nodurile în orice moment. Acest subcapitol se concentrează pe problema sincronizării timpului și pe metode și protocoale de sincronizare existente pentru WSN.

Premisele sincronizării

Dispozitivele tradiționale de calcul sunt în mare parte echipate cu un ceas hardware asistat de oscilator implementează o aproximație C (t) de timp real t de forma:

Unde este frecvența unghiulară a oscilatorului hardware k este coeficient de proporționalitate iar reprezintă valoarea inițială a ceasului. Pentru un ceas perfect,
dC / dt ar fi egal cu 1. Cu toate acestea, toate ceasurile sunt supuse unui drift; frecvența oscilatorului poate varia în mod imprevizibil din cauza diferitelor efecte fizice. Chiar dacă
frecvența unui ceas se schimbă în timp, se poate aproxima cu acuratețe printr-un oscilator cu o frecvență fixă. În acest caz putem pentru unele noduri aproxima ceasul local ca fiind:

Unde este deviația sau drift-ul ceasului iar reprezintă offset-ul ceasului nodului i. Drift-ul denotă rata sau frecvența ceasului, iar offset-ul resprezintă diferența valorică față de timpul real t. Cu ajutorul acestei ecuații putem compara ceasurile locale ale doua noduri de rețea de exemplu:

Numim drift-ul relativ iar offset-ul relativ dintre nodurile 1 și 2. Dacă două ceasuri sunt perfect sincronizate, deviația lor relativă este de 1, ceea ce înseamnă că ceasurile au aceeași „bat” în rată, iar offsetul lor relativ este zero, ceea ce înseamnă că aceștia au aceeași valoare în acel moment. Unele studii din literatura de specialitate utilizează și denumirea de "skew" în locde offset, definindu-l ca diferența (spre deosebire de raportul) dintre ratele de ceas.

Problema de sincronizare a unui număr de dispozitive n dintr-o rețea corespunde cu problema de egalizare a ceasurilor interne ale diferitelor dispozitive. Sincronizarea poate fi globală, încercând să egalizăm pentru toate i=1,2,…,n sau local, încercarea de a egaliza pentru un anumit set de noduri – mai ales cele care sunt spațial localizate în aceiași cale dintre nodurile de comunicare. Doar egalarea valorilor instantanei (corectarea offset-urilor) ale ceasurilor nu sunt suficiente pentru sincronizare deoarece ceasurile se vor îndepărta după aceea. Prin urmare, o schema unei sincronizări eficiente ar trebui să egalizeze ratele de ceas, cât și offset-urile sau corectarea deviațiilor in mod repetat pentru a menține ceasurile sincronizate într-o perioadă de timp.

Provocările sincronizării timpului în rețelelor de senzori

Toate metodele de sincronizare a timpului de rețea se bazează pe un de schimb de mesaje
între noduri. Nondeterminism-ul în dinamica rețelei, de exemplu, timpul de propagare sau timpul de acces la canalul fizic, face ca sarcina de sincronizării să fie o provocare în multe sisteme. Când un nod din rețea generează o etichetă de timp către alt nod pentru sincronizare, pachetul care transporta marcajul temporal se va confrunta cu o întârziere variabilă până când ajunge și este decodificat de către destinatar. Această întârzierea împiedică destinatarul de posibilitatea exactă de comparație a ceasurile locale ale celor două noduri și sincronizarea exactă cu expeditorul. Putem descompune, în principiu sursele de erori în metodele de sincronizare a timpului în patru componente de bază:

1. Timpul expedierii. Acesta este timpul petrecut pentru a construi un mesaj de către expeditor. Aceasta include întârzierile aferente sistemului de operare și timpul pentru transferul mesajului către interfața de rețea pentru transmisie.

2. Timpul de acces. Fiecare pachet se confruntă cu o anumită întârziere în faza controlul accesului mediu (MAC) înainte de transmisia efectivă. Sursele acestei întârzieri depind
de schema MAC folosită, dar motivele tipice pentru întârziere sunt în așteptarea
canalului să devină inactiv.

3. Timpul de propagare. Acesta este timpul petrecut în propagarea mesajului
între interfețele de rețea ale expeditorului și ale receptorului.

4. Primirea timpului. Acesta este timpul necesar pentru interfața de rețea a
receptorului pentru a primi mesajul de timp.

În rețelele mari, timpul de propagare poate crește proporțional cu dimensiunea rețelei și este important deoarece include întârzierile de așteptare și de comutare a router-elor pe calea dintre două noduri. Cu toate acestea, întârzierea dintre două noduri are rețelei este de regulă timpul propagării de propagare a pachetelor prin aer, care este de obicei foarte mic. În platforma hardware „Mica”, arhitectura nodurilor de senzorilor ale Berkeley, s-a propus o optimizare la nivel de sistem a rețelei de senzori, care poate fi folosită pentru a elimina efectul întârzierii cauzate de timpul de trimitere și timpul de acces. Dacă există o legătură strânsă între aplicație și protocolul acesteia de comunicare, stratul MAC poate informa aplicația cu privire la întârzierea unui pachet înainte de a fi transmis. Aceste informații pot fi folosite și pentru a modifica pachet-ul atunci când transmisia este începută, astfel încât marcajul temporal (timestamp) din pachet să reflecte momentul exact în care a fost trimis. În mod similar, dacă timpul sosirii poate fi marcat la un nivel suficient de mic al unității de către receptor, eroarea datorată timpului de recepție poate să fie micșorată, deoarece nu ar include întârzierile datorate sistemului de operare sau timpului pentru a transfera mesajul de la interfața de rețea către host.

Necesitatea sincronizării rețelelor wireless de senzori.

Există mai multe motive pentru abordarea problemei de sincronizare în WSN.

În primul rând, nodurile senzorilor trebuie să își coordoneze operațiunile și să colaboreze pentru a le realiza o sarcină complexă de detectare. Fuziunea datelor este un exemplu al unei astfel de coordonări în care datele colectate la noduri diferite sunt agregate într-un rezultat semnificativ. De exemplu, într-o aplicație de urmărire a vehiculelor, nodurile senzorilor raportează locația și timpul la care este detectat vehiculul către un nod colector, care, la rândul său, combină aceste informații pentru a estima locația și viteza vehiculului. În mod clar, dacă în nodurile senzorilor lipsește un interval de timp comun (adică, nu sunt sincronizați), datele și in final măsurătorile vor fi inexacte.

În al doilea rând, sincronizarea poate fi folosită în scheme de economisire a energiei pentru a crește durata de viață a rețelei. De exemplu, senzorii pot „dormi” (intra într-un mod de economisire a energiei prin oprirea senzorilor și, sau transmițătorilor) la momente corespunzătoare și se pot „trezi” când este necesar. Când utilizează modul de economisire a energiei, nodurile ar trebui să doarmă și să se trezească la momente coordonate, astfel încât receptorul radio al unui nod să nu fie oprit când există date direcționate către el. Acest lucru necesită o sincronizare precisă între nodurile senzorilor.

Cerințele sincronizării rețelelor wireless de senzori

Această secțiune prezintă un set larg de cerințe pentru problema de sincronizare a WSN. Aceste cerințe pot fi considerate de asemenea metrici pentru evaluarea sincronizării rețelelor de senzori. Cu toate acestea, între cerințe există compromisuri pentru o soluție de sincronizare eficientă (de exemplu, precizie față de eficiența energetică):

Eficiența energetică. Ca și în cazul tuturor protocoalelor concepute pentru rețele de senzori, schemele de sincronizare ar trebui să ia în considerare resursele de energia limitată din nodurile senzorilor.

Scalabilitate. Cele mai multe aplicații de rețea de senzori au nevoie de aplicarea unui număr mare de noduri de senzori. O schemă de sincronizare performantă ar trebui să poată crește în dimensiuni fără dificultăți.

Precizie. Nevoia de precizie sau acuratețe poate varia semnificativ în funcție de o aplicația specifică și de scopul sincronizării. Pentru unele aplicații, chiar și o ierarhizare simplă a evenimentelor și mesajelor poate fi suficient, în timp ce pentru altele cerința de precizie de sincronizare poate fi de ordinul a câteva microsecunde.

Robustețe. O rețea de senzori este de obicei lăsată nesupravegheată pentru o perioadă lungă de timp și în medii nefavorabile. În cazul defecțiunilor unui număr redus de noduri de senzori, schema de sincronizare ar trebui să rămână valabilă și funcțională pentru restul rețelei.

Durata de viață. Timpul sincronizat între nodurile senzorilor furnizat de un algoritm poate fi instantaneu sau poate dura cât timpul de funcționare al rețelei. Dacă metoda de sincronizare elimină drift-ul și offset-urile, stabilitatea timpului sincronizat este
de obicei mult mai mare.

Domeniul de aplicare. Metoda de sincronizare poate oferi o bază globală de timp pentru toate nodurile din rețea sau sincronizare locală numai unui spațiu închis de noduri. Din cauza problemelor de scalabilitate, sincronizarea globală este dificilă sau prea costisitoare (având în vedere utilizarea energiei și a lățimii de bandă) în rețelele de senzori de dimensiuni mari. Pe de altă parte, o bază de timp comună pentru un număr mare de noduri poate fi necesar pentru a agrega datele colectate de către acestea.

Cost și dimensiune. Nodurile senzorilor wireless sunt de regulă dispozitive foarte mici și necostisitoare. O metodă de sincronizare pentru rețelele de senzori ar trebui să fie dezvoltată cu costuri și dimensiuni reduse.

Eficacitate. Unele aplicații, de exemplu, detectarea pericolelor (de exemplu, detectarea scurgerilor de gaze, detectarea intrușilor) necesită transmiterea imediată a detecției nodului colector. În astfel de aplicații, rețeaua nu poate tolera nici un fel de întârziere atunci când este o situație de urgență este detectată. Acest aspect poate preveni arhitectura protocolului să fie bazată pe procesarea excesivă a datelor, după ce un astfel de moment este înregistrat.

Metode de sincronizare pentru rețelele wireless de senzori

Schemele de sincronizare vizează reglarea timpilor locali ale nodurilor de rețea la aceeași valoare de referință. Cele mai stricte scheme de sincronizare și consumatoare de energie necesită sincronizarea tuturor nodurilor din rețea în orice moment (mereu), în timp ce alte scheme mai puțin pretențioase necesită doar sincronizarea câtorva noduri la un moment dat. Posibilitățile prezente ale sincronizării temporale sunt:

Traditional Time Syncronization (TTS) Sisteme tradiționale pentru sincronizarea nodurilor de rețea, cum ar fi Network Time Protocol (NTP), se bazează pe trimiterea și
primirea de mesaje. În cea mai simplă formă, expeditorul transmite un mesaj cu timpul local curent către destinatar. Odată ajuns mesajul, destinatarul își ajustează propriul ceas conform indicației expeditorului. Această schemă funcționează în cazul întârzierii neglijabile dintre trimiterea și primirea mesajelor. În cazul în care întârzierea este mare, nodul trimite un mesaj și presupunând că receptorul răspunde instantaneu; nodul poate calcula timpul de călătorie a mesajului și poate folosi acest timp pentru a se sincroniza cu
alte noduri. Acestă metoda este, de asemenea, fundamentul multor scheme de protocoale de sincronizări de rețea de senzori, de exemplu, Timing-Sync protocol for sensor networks (TPSN).

Timing-Sync Protocol. Ganeriwal et al. propun un protocol de sincronizare a rețelei în timp denumit protocol de sincronizare a timpului pentru rețelele de senzori (TPSN). Protocolul funcționează în două faze: nivelul de descoperire și nivelul de sincronizare. Scopul primei faze este crearea unei ierarhii în topologia în rețea, unde fiecărui nod i se atribuie un nivel. Numai unu singur nod îi este atribuit nivelul 0, root node. În a doua fază, un nod de nivel i se sincronizează la un nod de nivel i-1. La sfârșitul fazei de sincronizare, toate nodurile sunt sincronizate cu nodul de nivel 0 (root node), iar sincronizarea în rețea este realizată. Acest protocol este ca o adaptare practică a NTP, în cazul în care fiecare calculator poate fi simultan un server pentru calculatoarele inferioare din ierarhie sau clientul computerelor mai înalte în ierarhie. Diferența de bază este că NTP utilizează infrastructura existentă a Internet-ului, în timp ce există într-o rețea senzori nu există nici o infrastructurp, și un astfel de protocol trebuie să creeze o ierarhie virtuală înainte de a aplica schema de sincronizare.

Reference Broadcast Syncronization (RBS). Propus de Elson et al., utilizează un terț pentru sincronizare. În locul sincronizării expeditorului cu un destinatar, această schemă
sincronizează un set de receptoare între ele. Ideea sincronizării destinatar-destinatar a fost anterior propusa pentru sincronizarea în medii de transmisie. În schema RBS, nodurile trimit semnale de referință către vecinii lor. Un semnal de referință nu include un timestamp. În schimb, timpul de sosire este folosit ca punct de referință pentru compararea ceasurilor. Un nivel de acuratețe a μs poate fi atinsă folosind această tehnică.
Pe platforma populara „Berkeley Mote”, a fost atinsă o precizie de 11 μs.

Sincronizarea Lightweight Tree-Based. Propusă de Greunen și Rabaey, (LTS) sedistinge de la alte lucrări, în sensul că obiectivul nu este maximizarea acurateței, ci minimizarea complexității sincronizării. Astfel precizia sincronizării este tratată drept constrângere iar obiectivul este de a elabora un algoritm de sincronizare cu o complexitate minimă pentru a realiza precizia în rețea. Această abordare este susținută de afirmația autorilor că timpul maxim de precizie necesar în rețelele senzorilor este relativ scăzut (fracțiuni de secundă). Prin urmare, este suficient a se utiliza o schemă mai blândă de sincronizare în rețelele de senzori. În mod evident, această presupunere nu poate
fi implementată pentru anumite aplicații sau servicii ale rețelelor de senzori.

Flood Time Synchronization Protocol. FTSP utilizează și îmbunătățește câteva idei cheie din TPSN și RBS, și le combină cu „inundarea” periodică prin mesaje de sincronizare pentru a realiza sincronizarea în rețea. Este robustă împotriva defecțiunilor de noduri sau conexiune. FTSP implementează temporizarea stratului MAC ca în TPSN și compensare de deviație prin regresie liniară ca în RBS. O îmbunătățire critică a performanței FTSP față de protocoalele anterioare se datorează analizei detaliate rutei emitor-receptor în canalul wireless. FTSP utilizează un singur mesaj pe sincronizare și introduce utilizarea mai multormarcaje de timp; timestamp-uri pentru acesta.

Metoda tradițională de sincronizare a timpului (TTS)

De-a lungul anilor, multe protocoale au fost concepute pentru menținere sincronizarea ceasurilor fizice a rețelelor de calculatoare . Aceste protocoale au următoarele caracteristici de bază în comun: un protocol de mesagerie simplu fără conexiune; schimb de informații de ceas între clienți și unul (sau mai multe) servere; metode pentru atenuarea efectelor nondeterminismului în livrarea și prelucrarea mesajelor; și un algoritm al clientului pentru actualizarea ceasurilor locale pe baza informațiilor primite de la server. Acestea diferă în următoarele aspecte: dacă rețeaua este menținută la nivel intern sau sincronizate cu un standard extern; dacă serverul este luat în considerare a fi ceasul canonic sau doar un arbitru al ceasurilor clienților. NTP se evidențiază prin virtutea scalabilității, robusteții sale la diferite tipuri de defecțiuni, auto-configurare, securitate în fața sabotajului deliberat și implementarea omniprezentă. De zeci de ani, a păstrat ceasurile Internetului în fază. Mulți oameni din comunitatea de cercetare WSN întreabă adesea: "De ce să nu folosim NTP și în acest domeniu?". Cel puțin un grup de cercetare sa mutat în această direcție, implementând
un serviciu de timp asemănător NTP asupra unor senzori wireless. Totodată multe voci ale comunității științifice găsesc inadecvat folosirea acestui protocol de sincronizare pentru rețelele de senzori wireless din considerente de conservare a consumului de energie, topologie și altele și favorizează alte scheme de sincronizare, după cum explică Elson și Romer. Însă după argumentarea precedentă și anume necesități diferite per aplicații diferite, împreună cu posibilitatea actuală de folosire a computerelor single board ca hub-uri pentru senzori conectați analog sau digital la acestea, s-a studiat fezabilitatea folosirii proprietăților acestuia ca modalitate ușor de implementat. În studiul efectuat, baza nodurilor de senzori, îl reprezintă un element hardware ce poate beneficia și de proprietățile unui calculator tradițional, în speță și de NTP. Odată ce ceasurile sistemelor acestora sunt sincronizate iar informațiile senzorilor atașați la computerele single board ajung spre procesare la aceștia, ideal la același timp t spre procesare, aceștia pot conlucra fie pentru procesarea locală a informațiilor, fie pentru transmiterea acestora împreună cu timestamp-urile datelor către un nod colector. Studiul de caz a avut premisele alimentării continue a energiei electrice și conexiunea continuă la internet, cu un plan de contingență în condiții de intermitențe ale conexiunii. De asemenea s-a axat pe oferirea unui canal de throughput înalt pentru colectarea și efectuarea testelor de performanță a unui sistem de senzori de localizare și menținerea costurilor la strictul necesar și la ușurința și rapiditatea implementării.

Wi-Fi în aplicațiile rețelelor de senzori

Stratul fizic constă în tehnologiile de transmisie a circuitelor electronice ale unei rețele Este un strat fundamental care stă la baza funcțiilor de nivel superior dintr-o rețea.

În cele șapte straturi ale modelului OSI de rețea informatică, stratul fizic sau stratul 1 reprezintă primul și cel mai jos strat. Acest strat poate fi implementat de un cip PHY.

IEEE 802.11 este un set de specificații pentru controlul accesului MAC (Media Access Control) și stratului fizic (PHYsical layer) pentru implementarea comunicațiilor wireless locale (WLAN) în benzile de frecvențe 900 MHz, 2.4, 3.6, 5 și 60 GHz. Acestea sunt standardele cele mai utilizate pe scară largă în rețelele de calculatoare, și prezente în majoritatea rețelelor de domiciliu și de birou pentru a permite laptopurilor, imprimantelor și smartphone-urilor să discute între ele și să acceseze Internetul fără utilizarea conexiunilor prin cablu. Standardele sunt create și întreținute de către Comitetul pentru standarde LAN / MAN (IEEE 802) al Institutului de Inginerie Electrică și Electronică (IEEE).

În prezent, rețelele wireless bazate pe 802.11 "Wi-Fi", printre altele, au devenit omniprezente în mediul de afaceri și în cel industrial, unde sunt deseori implementate. Prezența unei rețele wireless bine stabilită și standardizată a creat o posibilitate nouă în desfășurarea senzorilor; utilizarea Wi-Fi ca mecanism de transport. 802.11 nu a fost, proiectat inițial ținând cont de aplicațiile de rețelelor de senzori, însă inovațiile în implementare permit utilizarea de 802.11 satisfăcând și depășind necesitățile aplicațiilor.

O implementare tipică Wi-Fi ar avea un set de puncte de acces poziționate astfel încât să asigure acoperirea zonei operaționale; care ar putea fi etajul unei fabrici, birouri, spitale, campus universitar și multe altele. În aproape toate cazurile, topologia rețelei este sub formă de stea, cu posibila furnizare de servicii de roaming sau de transfer. Punctele de acces sunt conectate la rețeaua întreprinderii prin cablu sau în parte prin intermediul unui sistem de wireless. Unul dintre avantajele acestui scenariu este amplasarea unui controller sau coordonator central; aceasta poate fi situat oriunde în rețea și cu conexiune la Internet, localizat oriunde în lume. De asemenea un alt avantaj îl reprezintă transportul standardizat bazat pe IP, fără nevoia de implementare de infrastructură de rețea suplimentară pentru a transfera informațiile senzorilor către orice parte a dispozitivului rețea.

Wi-Fi poate fi, de asemenea, utilizat pentru a determina și furniza locația unui client. De obicei, transmisiile dispozitivului sunt recepționate de către mai multe puncte. Caracteristicile relative ale semnalului înregistrat poate fi folosit, pentru calculul timpului de sosire, ce poate fi folosit pentru localizarea dispozitivelor client. Punctele de acces în aceste scenarii sunt amplasate cu atenție pentru a furniza cele mai bune măsurători ale distanței.

Caracteristicile Wi-Fi în aplicațiile rețelelor de senzori

Odată cu evoluția tehnologiei wireless și SoC, au fost dezvoltate aplicații care să însoțească un nou model WiFi-based Wireless Sensor network, devin realitate . Avantajele folosirii WiFi în aplicațiile rețelelor de senzori sunt:

Lățime de bandă. Cu tehnologia WiFi viteza de transfer de date poate ajunge la 54Mbps (standard g), cele mai recente 802.11n variază de la 54 Mbps la 600 Mbps. De asemenea standardul IEEE 802.11ac, un amendament la IEEE 802.11, publicat în decembrie 2013, care se bazează pe 802.11n, poate atinge rate de transfer de până la 1300 Mbps, pe canale de 80 MHz în banda de 5 GHz. Transmisia prin WiFi este mai eficientă, cu întârzieri reduse, mai bună în timp real și poate fi fără algoritm de programare pentru a rezolva problema congestiei.

Transmisie NLOS. WiFi-ul are o capacitatea unei transmisii non-line-of-sight (NLOS), în afara ariei vizuale. Se poate propaga și prin unele obstacole de exemplu pereți, spre deosebire de Zigbee, care nu are capacitate de transmisie NLOS și este slab în transmisia de date printr-o barieră.

Zona de acoperire. Undele radio WiFi au o acoperire mai largă. Spre deosebire de protocolul Zigbee de exemplu, undele radio au o acoperire mai mică, distanța de transmisie fiind de obicei în intervalul de 10-75 de metri, și transmiterea datelor prin obstacole nu este eficientă; dar domeniul de transmisie WiFi poate ajunge la 300 m neobstrucționat cel puțin și la aproximativ 100 m obstrucționat de pereții spațiilor interioare. Nu numai că poate fi folosit în casă, dar și în clădiri înalte.

Cost eficient. În prezent, rețeaua Wi-Fi a fost construită în multe sisteme inteligente ale
clădirilor dintr-o varietate de dimensiuni de orașe. Costuri semnificative poat fi economisite dacă rețeaua de senzori wireless este construită pe baza resurselor existente de rețea WiFi. Interoperabilitatea cu alte dispozitive, înseamnă un ciclu de dezvoltare mai scurt și costuri mai mici ale proiectului. Cu îmbunătățirea continuă a Tehnologia SoC și o aplicație la scară largă, nodurile de senzori WiFi nodurile vor continua să scadă în cost. În viitorul apropiat, WiFi ar putea înlocui într-un anumit grad rețeaua senzorilor wireless Zigbee.

Expansiune. Fiecare nod de senzori WiFi (cum ar fi un contor inteligent cu capabilități WiFi) poate suporta aproximativ 100 de conexiuni wireless. Din perspectiva dezvoltării casei inteligente în viitor, nodurile senzorilor WiFi, cum ar fi contoarele inteligente (terminale de citire) vor putea comunica cu aparatele de uz casnic fără nevoia de reimplementare a legăturilor de conexiune. În plus față de citirea automată a măsurătorilor, se poate de asemenea realiza control IPTV, control de securitate, medicină la distanță, ceea ce vor crea beneficii caselor inteligente.

Robustețe. Pe măsură ce rețeaua senzorilor bazate pe WiFi utilizează topologia rețelei mesh, unde există, de obicei, mai multe căi disponibile între noduri, se îmbunătățește în mod semnificativ fiabilitatea rețelei. Tehnologia WiFi are de asemenea avantajul
topologiilor multiple si instalare rapida.

Distorsionarea legăturilor. În mediul de rețea cu un singur canal, datorită
concurenței din canalul comun, transmisia a două noduri concurente nu este permisă în zonele adiacente ale canalului, rezultând o conexiune multi-hop. WiFi rezolva această problemă, iar legătura wireless din zona adiacentă utilizează diferite canale ortogonale pentru a reduce interferența între semnalele RF.

În concluzie, utilizarea WSN bazate pe WiFi pentru aplicații de Internet of Things (cum ar fi Automatic Meter Reading) are multe avantaje, astfel încât cercetarea pe tehnologiilor WSN conectate WiFi și aplicațiile sale au o amploare semnificativă pentru a dezvoltarea Internet of Things.

Capitolul iii

Platforma Hardware

Introducere

Acest capitol discută hardware-ul pe baza căruia a fost construit sistemul. Conceptul are ca fundament hardware low cost și o serie de software open-source, astfel încât costul construirii sistemului să fie cât mai scăzut. Unul dintre scopurile proiectării a fost acela de a înlocui computerul personal tradițional în integrarea sistemului. Sunt destul de multe opțiuni de la populare Beagle Bone și Raspberry Pi. S-a recurs ales la din urmă pentru că este economic și are un sprijin enorm în comunitatea online. Sistemul constă dintr-un server Raspberry Pi, ce are rolul de a menține timpul nodurilor conectate prin NTP într-o rețea locală,. Fiecare dintre cele 3 noduri este format dintr-un Raspberry Pi 3 Model B v1.2. Toate acestea sunt interconectate prin Wi-Fi cu ajutorul unui router Linksys WRT54GS.

De menționat este că aceste computere nu au capabilitatea fizică inerentă de a păstrare a timpului, iar pentru a depăși aceasta limitare, atât server-ul cât și nodurile, au conectate și configurate un modul extern Real Time Clock DS3231, cu rolul de îmbunătățire a consistenței acurateței ceasurilor menținute de noduri, în situațiile de modificări on-the-go, cât și ca back-up în condițiile de conexiune precară cu ceasul de referință.

Raspberry Pi

Raspberry Pi este un calculator de dimensiuni egale cu ale unui card de credit, care poate fi folosit ca desktop PC. Este suficient de mic, dar suficient de puternic pentru a efectua operațiuni de text-processing, analiză spreadsheet și alte activități obișnuite din sfera capabilităților PC. De asemenea, poate funcționa non standard, cum ar fi un server media sau poate acționa ca un smartTV. Dimensile originale generației A fiind 85 x 56 x 20 mm.

A fost lansat public pentru prima dată în martie 2012, iar in momentul de față sunt valabile 3 generații Raspberry Pi: A, B și Zero cu o serie de subdiviziuni, revizii ale acestora.

Dimensiunile generației B sunt 85 x 56 x 21 mm iar pentru generația Zero sunt 65 x 30 x 5mm. De menționat este faptul că acestea nu dețin mijloace de stocare integrate, stocarea realizându-se extern prin portul dedicat cu carduri microSD.

O comparație vizuală a generațiilor cât și a componentelor principale ale acestora este după cum urmează:

Dificultatea alegerii hardware-ului pentru acest proiect a fost din cauza varietății de plăci de IoT disponibile pe piață, toate având deosebiri consistente. În practică, este necesar ca acestea să fie disponibile fizic pentru a putea compara caracteristicile acestora. Cu toate acestea, nu multe din plăcile disponibile pe piață au fost dispoziția noastră în prealabil. Acest lucru a condus la o selecție a plăci bazate exclusiv pe specificațiile lor. Examinarea hardware a fost axată pe mai multe caracteristici, cum ar fi conectivitatea, posibilitatea procesării în timp real, posibilitatea unei configurații dinamice, consumul de energie, stocarea disponibilă, dimensiunea memoriei, tipurile și numerele de conexiuni pentru periferice. Dispozitivele examinate au fost: BeagleBoard Black și Raspberry Pi 3. S-a determinat că Raspberry Pi 3 Model B v1.2 ar putea îndeplini cerințele de funcționalitate, atuurile fiind capabilitatea conexiunilor wireless out-of-the-box, posibilitatea Kernel-ului de executare a instrucțiunilor in timp real și comunitatea și documentația disponibilă.

Sistemele de operare includ orice arhitectură de tip UNIX, compilate pentru ARM, inclusiv Linux, freeBSD, Windows 10 IoT Core. De menționat este că se pot conecta monitor, tastatura, mouse și pot fi utilizate ca desktop sau pot fi conectate într-o rețea locală folosind cablu Ethernet sau Wi-Fi. Pot fi accesate remote prin software-uri VNC sau Team Viewer, și pot fi configurați sau alterați parametrii platformei în orice moment.

Specificații tehnice:

În continuare vom examina specificațiile tehnice ale componentelor examinate și a celor folosite împreună cu o comparație a acestora:

Puterea de procesare superioară a modelului folosit în platformă și anume Raspberry Pi 3 Model B v1.2, a cărei producție a început în Februarie 2016, dar și a capabilității de procesare a instrucțiunilor pe 64 de biți, fac din penultimul model al generației B, o unealtă ideală pentru încorporarea și clădirea arhitecturilor de rețele de senzori, surclasat doar de către Raspberry Pi 3 Model B+ a cărei producție a început în Martie 2018.

Un mare avantaj al arhitecturii hardware al Raspberry Pi este faptul că prezintă un General Purpose Input Output ușor accesibil, ceea ce înseamnă că se pot conecta direct la acesta, butoane motoare, senzori etc.

Observăm așadar computerul configurat drept serverul de NTP local sau Masterclock-ul după care nodurile prezente în rețeaua locală interoghează și își setează ceasurile proprii. De menționat este că în partea stânga sus a plăcii peste rândul de pini GPIO este conectat la primii 4 pini ai celui de-al doilea rând un modul RTC DS3231. Scopul acestuia în toate plăcile prezente in sistem este de a oferi o modalitate fizică de păstrare a timpului. Acesta este actualizat de către Kernel-ul Linux-ului o dată la 11 minute din daemon-ul NTP și dă timpul sistemului.

Modulul DS3231 este un I²C Inter-Integrated Circuit

Real Time Clock, extrem de precis, cu un cristal oscilator compensat de temperatură integrat. Dispozitivul încorporează și o baterie care are rolul de a menține precizia valorilor de timp atunci când alimentarea principală a dispozitivului este întreruptă. Integrarea rezonatorului de cristal îmbunătățește și precizia pe termen lung a dispozitivului, totodată cu îmbunătățirea procesului de producție.

Un alt potențial pilon al acestui sistem examinat este BeagleBoard, asemeni Raspberry Pi, cu o suita de generații și modele. Intrat în producție in Iulie 2008 BeagleBoard este un calculator single-board open source, produs de Texas Instruments, în asociere cu Digi-Key și Newark element14. BeagleBoard a fost conceput, de asemenea, în spiritul dezvoltării software-ului open source și ca modalitate de a demonstra sistem-on-a-chip OMAP3530 de la Texas Instrument.

Mai precis varianta considerată BeagleBone Black Wi-Fi, lansată în aprilie 2013 la un preț de 45 USD. Printre alte diferențe, crește cantitatea de RAM la 512 MB, frecvența procesorului la 1 GHz și adaugă un port HDMI, o memorie flash de memorie flash eMMC de 2 GB. BeagleBone Black, de asemenea, este livrat cu kernel-ul Linux 3.8, actualizat de kernel-ul original 3.2 al BeagleBone, care permite BeagleBone Black să profite de Direct Rendering Manager (DRM). BeagleBone Black Revision C (lansat în 2014) a mărit dimensiunea memoriei flash la 4 GB. Acest lucru îi permite să fie livrat cu Debian GNU / Linux instalat în timp ce reviziile anterioare au fost livrate cu Ångström Linux.

Concentrat pe conectivitatea wireless, BeagleBone Black Wireless înlocuiește portul Ethernet 10/100 din BeagleBone Black cu un modul Wi-Fi de 802.11 b / g / n de 2,4 GHz cu Bluetooth. La fel ca BeagleBone Black, Wireless păstrează ieșirea HDMI, portul serial pentru debug, interfața PC USB, USB 2.0, slot-ul pentru card microSD, butoanele de resetare și alimentare și adaugă încă două LED-uri de stare pentru WiFi și Bluetooth. BeagleBone Black Wireless utilizează aceeași tehnologie WiLink 8; modul Wi-Fi plus Bluetooth, ca și BeagleBone Green Wireless. Modulul Wireless oferă funcții avansate de economisire a energiei, precum și o îmbunătățire a semnalizării și a conectivității stabile între dispozitive. O caracteristică binevenită, permițând dezvoltatorilor posibilități multiple de creativitate atunci când proiectează sisteme IoT.

Specificațiile tehnice sunt detaliate și comparate în următorul tabel:

Tabel 1 Comparația specificațiilor hardware ale computerelor singleboard examinate

Deși s-a optat pentru folosirea Raspberry Pi pentru aceasta platformă, de menționat este că date fiind condițiile similare de Hardware, Distribuțiile Linux compatibile și arhitectura adoptată, sistemul poate accepta și poate funcționa și pe baza unui mix hardware de computere singleboard. De exemplu pot fi introduse și noduri Beaglebone Black Wireless în sistem pentru o mai mare versatilitate a aplicațiilor.

Arhitectura hardware

Pentru conexiunea wireless dintre microcomputere s-a folosit WiFi; 802.11g, și o topologie de tip stea. Fiecare microcomputer este conectat la Acces Point-ul denumit „testrouter” (SSID), menținut de router-ul Linksys WRT54GS. De menționat este că fiecare microcomputer are capabilitatea de a fi configurat ca și access point, însă, motivul alegerii unui router pentru a administra fluxul pachetelor îl reprezintă argumentul menținerii microcomputerelor cât mai puțin solicitate, în concluzie a minimiza variabilele ce pot afecta acuratețea sincronizării prin metoda aleasă.

După cum am prezentat în secțiunea capitolului II.8.1, WiFi oferă o serie de beneficii aplicațiilor de rețele wireless de senzor, în comparație cu alte tipuri de conexiuni wireless:

Observăm astfel necesitățile cheie ale aplicațiilor pentru care a fost concepută platforma, date fiind alimentarea cu energie și conexiune la internet nelimitate, conexiunea de tipul 802.11g, care a fost folosită pentru a lega nodurile între ele, pot oferi viteza mare de transmisie a datelor,

în comparație cu celelalte protocoale, împreună cu rază lungă de acțiune de ordinul zecilor de metrii. De asemenea folosirea acestui tip de conexiune poate mări spectrul aplicațiilor bazate

pe acest tip de platformă, de la senzori simpli, ce interfațează cu microcomputerele și trimit date text cum ar fi variații de temperatură, până la senzori de imagine, audio-video, ce pot trimite stream video către Raspberry Pi. Totuși platforma a fost creată pentru a oferi baza unui banc de test pentru a putea colecta date, stress test și a verifica parametrii funcționali unor senzori acustici bazați pe microfoane MEMS, dezvoltați în cadrul centrului DRAMCO. Aceștia prezintă doua necesități. Ca platformă destinată monitorizării clienților centrelor de îngrijire a persoanelor în vârstă, a fost concepută pentru a detecta evenimente scurte, de ordinul a sub 410 milisecunde, cât și evenimente lungi de ordinul a peste 410 milisecunde.

Ideea de bază este alterarea configurației platformei de la conceptul inițial de low-power, flux de date scăzut bazat pe ZigBee, și migrarea către una ce oferă capacitatea sporită de transmisie a datelor pentru colectarea unui număr mare de date ce pot ajusta fin design-ul și configurația senzorilor acustici dezvoltați.

Așadar, trecerea de la tipul de nod de senzori de la configurația din partea stângă, spre cea din dreapta:

După cum am subliniat și în capitolele precedente necesitățile sunt specifice aplicației, lucru subliniat în figurile precedente, și anume pentru schimbarea unei axe de concept e nevoie de alterări hardware dar și software, după cum vom vedea în capitolul următor.

Configurațiile platformei nodurilor fără senzori; Raspberry Pi 3 WLAN, au fost supuse mai multor teste, implicit și unui test comparativ de acuratețe a sincronizării Wired vs Wireless.

Harta de conexiuni WiFi a platformei Raspberry Pi 3 este de forma:

De asemenea legăturile au fost testate și in regim ethernet, pentru a putea compara diferențele de sincronizare dintre cele două protocoale WiFi vs Ethernet. Deși s-au înregistrat valori de acuratețe a sincronizării dintre microcomputere mai bune prin cablu, la nivelul rețelei locale, diferențele dintre noduri în ambele regimuri de conectare pot răspunde diferitor tipuri de aplicații dependente de timp.

După cum am argumentat în capitolul anterior, rolul unei rețele de senzori este de a îndeplini un set de necesități dependente și fundamentale aplicației pentru care aceasta este concepută. Deși conceptul este bazat pe conectivitatea wireless a rețelei ce poate colecta duratele evenimentelor acustice de ordinul milisecundelor, pentru o extindere sau eliminare a factorilor limitatori ai acestui tip de conexiune (timpul de transmisie a pachetelor, interferențe), configurația conexiunilor poate fi schimbată către una prin cablu, notă a versatilității acestei scheme de sistem.

Pentru a putea funcționa în regim sincronizat temporal, sunt necesare o serie de pachete software, protocoale, și configurații ale distribuției Linux cu care Raspberry Pi 3 este livrat.

Capitolul iv

Platforma Software

Introducere

Acest capitol va detalia software-ul și modulele utilizate în dezvoltarea sistemului. Raspberry Pi nu are un sistem de operare pre-instalat, așadar vom avea nevoie de selectarea și instalarea unuia ce va satisface necesitățile sistemului. Sunt introduse diferite programe și instrumente pentru a converti Raspberry Pi într-un server NTP, și punct de comandă pentru celelalte noduri. De asemenea a fost necesară și instalarea și configurarea nodurilor.

Raspbian

Raspbian este un sistem de operare gratuit bazat pe Debian, optimizat pentru hardware-ul Raspberry Pi. Un sistem de operare este setul de programe și utilitare de bază fac ca Raspberry Pi să funcționeze. Cu toate acestea, Raspbian oferă mai mult decât un sistem de operare curat: vine cu peste 35.000 de pachete, software precompilat, îmbinat într-un format eficient pentru o instalare ușoară pe Raspberry Pi.

Construcția inițială a peste 35.000 de pachete Raspbian, optimizată pentru cea mai bună performanță pe Raspberry Pi, a fost finalizată în iunie 2012. Cu toate acestea, Raspbian este încă în curs de dezvoltare activă, cu accent pe îmbunătățirea stabilității și performanței a cât mai multor pachete Debian. Raspbian a fost creat de o echipă mică, dedicată dezvoltatorilor care sunt fani ai hardware-ului Raspberry Pi, obiectivele educaționale ale Fundației Raspberry Pi și, bineînțeles, Proiectul Debian.

Pentru instalarea sistemului de operare avem nevoie de Win32DiskImager, un utilitar Windows pentru a scrie imaginea sistemului de operare pe un card microSD de o capacitate de cel puțin 4GB. Această operațiune poate fie efectuată fie prin scrierea directă a imaginii, fie prin posibilitatea dată de NOOBS (New Out Of the Box Software), un wizard de instalare a sistemului de operare care conține Raspbian și LibreELEC. Acesta oferă, de asemenea, o selecție de sisteme de operare alternative care pot fi descărcate de pe internet și instalate (Windows 10 IoT Core, Ubunty Mate, Snappy Ubunty Core).

După introducerea microSD-ului în Raspsberry Pi, primul boot va întâmpina utilizatorul cu interfața grafică a NOOBS pentru instalarea sistemului de operare.

Pentru toate Raspberry Pi s-a folosit sistemul de operare Raspbian varianta Stretch cu Desktop. Această alegere a fost din rațiunea numărului mare de pachete incluse în distribuție. De asemenea pentru o mai bună performanță a microcalculatoarelor se poate opta și pentru varianta Raspbian Stretch Lite cu interfață prin linie de comandă și instalarea și configurarea pachetelor necesare.

Detaliile Sistemului de Operare sunt: Raspbian Stretch bazat pe Debian Stretch, versiunea 9.4, Linux Kernel 4.9.80. De asemenea pentru un comportament îmbunătățit în materie a execuțiilor de procese in timp real se poate instala Real Time patch (PREEMPT_RT patch).

Acest patch îmbunătățește timpul de răspuns al operațiunilor destinate CPU, ceea ce reprezintă un avantaj enorm și deschide capabilitatea spre calcul în timp real. După cum arată M. Balci latența sistemului este îmbunătățită de la câteva sute de microsecunde la câteva zeci de microsecunde.

Pentru schema folosită nu a fost folosit un Kernel cu capabilități real-time, însă posibilitatea ulterioara a implementării acestuia a fost unul dintre punctele cheie a alegerii platformei hardware.

Arhitectura software

Din punctul finalizării instalării sistemului de operare, și conexiunea microcomputerelor la rețeaua wireless locală și internet, pentru a iniția drumul către o platformă ce poate susține o rețea de senzori, avem nevoie de o serie de elemente.

Primul dintre ele este posibilitatea identificării nodurilor în rețea. Dat fiind faptul că nodurile de senzori vor fi amplasate sub forma unei matrici, vom avea nevoie de posibilitatea rapidă a identificării setului de date captat de către senzori. S-a recurs la configurația IP statică, unde în cazul platformei adresele de la 192.168.1.100 până la 192.168.1.109 sunt rezervate conexiunii WiFi iar cele de la 192.168.1.110 până la 192.168.1.119 sunt rezervate conexiunilor prin cablu.

Astfel adresele corespondente hostname-urilor asignate sunt de forma:

192.168.1.100 și 192.168.1.110 ntpsrv (Server NTP)

192.168.1.101 și 192.168.1.111 raspberrypi101 (Client 1)

192.168.1.102 și 192.168.1.112 raspberrypi102 (Client 2)

192.168.1.103 și 192.168.1.113 raspberrypi103 (Client 3)

Realizat modificând /etc/dhcpcd.conf prin adăugarea/modificarea liniilor, de forma:

interface wlan0

static ip_address=192.168.1.100/24

static routers=192.168.1.1

static domain_name_servers=192.168.1.1

static domain_search=

interface eth0

inform 192.168.1.110/24

static routers=192.168.1.1

static domain_name_servers=192.168.1.1

Similar Posts