Reţele Wireless de tip ZigBee pentru măsurări şi
automatizări
Tom SAVU
www.dolsat.comTehnologie de masurare Wireless
Metode de masurare bazate pe tehnologii wireless (adica prin
radio) au fost si sint folosite de multa vreme in industrie,
aplicatii unde este nevoie de communicatie la distanta relativ
mare in care costul instalarii sirmelor este mai mare decit cel
al transmiterii prin radio. Conducte de petrol, gaz, statii de
pompare, lucrari agricole, sint doar citeva exemple unde se
aplica cu succes comunicare prin radio. Ceea ce face aceasta
metoda si mai interesanta in ziua de azi, este convergenta
tehnologiilor de microprocesoare puternice cu consum redus,
cu cea a radiourilor de dimensiuni foarte reduse si consum
foarte mic. Miniaturizarea acestor tipuri de componente face
azi posibila construirea de retele de sensori wireless de
dimensiuni foarte reduse ce functioneaza pe baterii ani de zile
in conditii nesupravegheate. Reteaua de sensori wireless este
un instrument de masura virtual adica bazat pe computerul
PC. Acest articol descrie o retea wireless de tip ZigBee
implementata cu module din familia WN – Wireless Nodes
ce sint manufacturate in Romania, si care am avut ocazia sa
le testez recent.
Ce este ZigBee?
ZigBee reprezintă denumirea unei specificaţii tehnice
utilizate în protocoalele de comunicaţii radio digitale, de mică
putere, bazate pe standardul IEEE 802.15.4 pentru reţele
wireless personale (Wireless Personal Area Networks).
Versiunea ZigBee 1.0 a fost ratificată la 14 decembrie 2004.
Operând în benzile radio de 868 MHz (Europa), 915 MHz
(SUA) şi 2,4 GHz în majoritatea ţărilor, un circuit radio
ZigBee produs în serie foarte mare costa în 2005 circa 1,10
dolari SUA, iar preţul unui microcontroler dedicat este în
prezent mai mic de 3 dolari.
Utilizând o tehnologie mult mai simplă şi mai ieftină decât
alte reţele wireless, cu dimensiuni ale software-ului între 2 %
şi 10 % din cele pentru un nod Bluetooth tipic, reţelele
ZigBee sunt destinate aplicaţiilor cu consumuri foarte mici de
putere (schimbarea bateriilor se poate face în unele cazuri
doar o dată la doi ani) şi care nu necesită rate mari de tranfer
al datelor.
O reţea ZigBee poate fi utilizată într-o gamă largă de
domenii, de la controlul industrial, reţelele cu senzori
integraţi, achiziţia de date medicale şi sistemele antiincendiu
şi antiefracţie până la automatizările din clădiri şi casele
inteligente.
Reţele ZigBee WN
O reţea ZigBee WN (Fig. 1) este constituită dintr-o serie de
module hardware ce permit măsurarea sau comanda unor
echipamente cu transmiterea radio digitală a informaţiei.
Există două categorii principale de module ZigBee WN:
• Module coordonatoare,
• Module finale (de măsurare sau de comandă).
Un modul coordonator reprezintă nucleul reţelei ZigBee, el
asigurând legătura între aceasta şi un computer sau o altă
reţea. Modulul coordonator stochează informaţia despre
modulele finale, formând împreună o reţea în configuraţie
"stea".
Sunt disponibile două tipuri de module coordonatoare:
• WN-Ethernet
• WN-USB
Modulul WN-Ethernet se conectează la un port Ethernet,
permiţând astfel ca reţeaua de module finale pe care le
coordonează să poată fi accesată utilizând un computer
conectat la Internet aflat oriunde în lume.
Modulul WN-USB se conectează la un port USB al
computerului, fiind util în situaţiile în care se doreşte
accesarea "locală" a reţelei de module finale.
Un modul coordonator poate dialoga cu până la 65.000 de
module finale, asigurând rate de tranfer de 250 kbps prin
radio şi 115,2 kbps prin interfaţa Ethernet sau USB.
Puterea de emisie este de 60 mW la 18 dBm, iar raza sa de
acţiune este de până la 100 m în clădiri sau în mediu urban şi
de până la 1,6 km în linie directă.
Alimentat de la o sursă de 1,8 ... 6,5 Vcc cu minim 300 mA,
modulul consumă circa 0,9 W în perioadele de maximă
activitate.
Fig. 1: Reţea ZigBee WN cu modul coordonator USB
Modulele finale îndeplinesc diverse funcţiuni specifice unui
sistem de măsurare şi automatizare:
• WN-AI (Fig. 2) şi WN-Current: module cu două canale
pentru măsurare de semnale analogice (tensiune în
intervalul ± 10 V RSE sau curent în intervalul 4 – 20
mA), utilizând un convertor Delta-Sigma pe 24 de biţi,
cu o rată maximă de eşantionare de 240 S/s, dispunând
de o stivă FIFO proprie pentru 500 de valori;
• WN-DIO: modul cu patru linii digitale bidirecţionale,
TTL sau CMOS, protejate până la 47 V, asigurând la
ieşire până la 500 mA la utilizarea unui singur canal sau
până la 180 mA/canal atunci când sunt activate toate cele
patru canale;
• WN-CNT: numărător pe 32 de biţi, TTL sau CMOS, cu
frecvenţa maximă de 5 MHz;
• WN-RLY: modul cu două relee tip C (1 A la 30 Vcc şi
0,5 A la 30 Vca), cu frecvenţă maximă de 60 cpm.
Fig. 2: Modul final pentru intrări analogice în tensiune
Fiecare tip de modul final este disponibil în două variante
constructive, în funcţie de distanţa maximă până la care
modulul final se poate afla în raport de modulul coordonator:
• modul cu rază scurtă de acţiune, dispunând de o antenă
interioară, cu o putere de emisie de 1 mW, capabil de a
comunica maxim până la 30 m în incinte şi 100 m în
exterior;
• modul cu rază lungă de acţiune (Fig. 3), dispunând de o
antenă exterioară, cu o putere de emisie de 60 mW,
capabil de a comunica maxim până la 100 m în incinte şi
1,6 km în exterior.
Fig. 3: Modul final cu rază lungă de acţiune
Configurare şi programare
La instalarea software-ului livrat împreună cu componentele
reţelei, acesta instalează automat un driver pentru porturi
seriale virtuale (VSPD = Virtual Serial Port Driver),
utilizabil în sistemul de operare Windows, care emulează
porturi seriale virtuale (VSP) percepute drept porturi COM
de către aplicaţiile Windows.
Driver-ul identifică automat porturile USB ale computerului
şi emulează porturi virtuale corespunzătoare, iar adăugarea de
porturi Ethernet, ştergerea sau configurarea porturilor VSP
se realizează cu un utilitar VSP Manager.
În acest mod, comunicaţia dintre aplicaţia Windows şi
reţeaua ZigBee WN se realizează ca şi printr-o interfaţă
serială "normală", porturile VSP fiind transparente pentru
utilizator.
Odată porturile VSP emulate, utilitarul Wireless Nodes
Explorer permite definirea de către utilizator a structurii
reţelei ZigBee WN prin:
• adăugarea de module coordonatoare;
• asignarea unui port VSP fiecărui astfel de modul;
• adăugarea de module finale în reţeaua unui modul
coordonator.
Utilitarul Wireless Nodes Explorer permite de asemenea
testarea componentelor reţelei (Fig. 4).
Fig. 4: Utilitarul Wireless Nodes Explorer
Definirea structurii reţelei poate fi realizată şi prin
intermediul mediului de programare în care utilizatorul îşi
dezvoltă aplicaţia software.
Reţelele ZigBee WN pot fi programate şi comandate atât prin
aplicaţii scrise în limbajul de programare C cât şi prin
Instrumente Virtuale realizate în mediul de programare
grafică LabVIEW 8.
De exemplu, în mediul de programare grafică LabVIEW 8,
adăugarea programatică a unui nod se realizează cu ajutorul
funcţiei WN_AddNode, aceasta având drept variabile de
intrare: un cuvânt-cheie specificând tipul nodului, adresa
MAC a modulului final (marcată pe carcasa acestuia) şi un
nume (alias) sub care modulul va fi recunoscut în cadrul
aplicaţiei.
Citirea unei valori măsurate de la un modul pentru intrări
analogice poate fi efectuată prin apelarea succesiunii de
funcţii:
• WN_Connect pentru deschiderea conexiunii cu
modulul;
• WN_AIRead pentru citirea efectivă a valorii măsurate
(funcţia poate fi apelată repetat);
• WN_Disconnect pentru închiderea conexiunii.
Funcţia WN_AIRead are drept variabile de intrare: numele
canalului sau canalelor de pe care se efectuează citirea,
valoarea ratei de eşantionare agregate şi numărul de valori
citite. La ieşire, funcţia returnează un vector în care, dacă au
fost citite ambele canale ale modulului, valorile citite sunt
multiplexate.
Mod de operare
Fiecare modul WN, coordonator sau modul final, conţine un
emiţător – receptor radio ZigBee IEEE 1451 preprogramat
cu valori implicite ale celor doi parametri care determină
durata şi frecvenţa perioadelor sale de activitate: lungimea
perioadei inactive (Sleep Period = SP) şi lungimea perioadei
active (Wake-up Period = WP). Într-o reţea radio, toate
modulele sunt la un moment dat în aceeaşi stare activă (WP)
sau inactivă (SP).
Un modul coordonator baleiază continuu în căutarea de
module finale şi îşi actualizează propriile informaţii
referitoare la modulele disponibile din vecinătatea sa.
Pe parcursul perioadelor active, modulele finale încearcă să
stabilească o legătură cu un modul coordonator pentru a fi
înregistrate de către acesta drept module active.
Dacă în acest timp există o aplicaţie rulând pe un PC care
solicită date de la modulele finale, atunci între modulul
coordonator şi câte un modul final la un moment dat are loc
un schimb de comenzi şi date, doar pe parcursul perioadei
active.
Valorile pentru lungimile perioadelor activă şi inactivă
determină astfel timpul de răspuns al sistemului de măsurare.
Răspunsurile mai rapide vor necesita durate reduse ale
perioadei inactive, iar în cazul timpilor de răspuns mai mari
pot fi acceptate valori mai mari pentru această durată. Pe de
altă parte, cu cât perioadele de inactivitate sunt mai mari, cu
atât puterea consumată de către modulul final va fi mai
redusă.
Exemplu de Aplicatie
Un exemplu tipic de aplicatie ce foloseste o retea de noduri
de masura WN este cel in care nodurile sint plasate undeva in
teren sau fabrica, ele trimit date la intervale pre-definit de
timp (ex: la fiecare 30 minute) unui router de tip WNEthernet
ce le trimite mai departe via TCP/IP catre un server
de date ce le stocheaza local. Computere client pot accesa
oricind serverul si datele culese de nodurile de masura in
paralel cu operatia retelei de noduri care in tot acest timp
pompeaza date in server. O panela a unui singur nod de
masura din acest sistem ar arata in felul urmator:
Bibliografie
• Patrick Kinney; ZigBee Technology: Wireless Control
that Simply Works;
http://hometoys.com/htinews/oct03/articles/kinney/zigbee.htm
• ZigBee;
http://en.wikipedia.org/wiki/ZigBee• Measurements using Wireless Nodes; Marius
Ghercioiu, WSS Chicago Sept 2005.