Naslovna Projekti Svi projekti Prikazivanje podataka na udaljenom displeju primenom servisa GSM mreže

Prikazivanje podataka na udaljenom displeju primenom servisa GSM mreže

Ovaj rad opisuje realizaciju sistema za kontinualno prikazivanje podataka o zagađenosti vazduha. Prikupljeni rezultati od merne stanice stižu u jednu bazu podataka. LED displeji postavljeni na prometnim tačkama grada, preko GSM mreže, konektuju se za server, pristupaju bazi podataka, očitavaju novi sadržaj. Sistem administrator pomoću korisničke aplikacije preko interneta može da prati i kontroliše rad uređaja. 

 
Uvod
 
  Danas se u svetu razvijaju sistemi za predstavljanje informacija prenosom na veće daljine. Displeji mogu biti LCD ili plazma ekrani za prikazivanje različitih reklamnih poruka. Za prikazivanje određenih vrsta podataka veoma su pogodni LED¸ displeji. Svi ovi displeji su naročito našli primenu za rekleme i zovu se digitalno informacioni reklamni sistemi (DIRS). Za prenos informacija se mogu koristiti: telefonske veze, radio prenos, internet, mobilna telefonija. Mi smo se ovde opredelili GPRS internet servis GSM, s obzirom na rasprostranjenost GSM mreže.
 
  Prikazivanjem informacija na ovaj način postiže se velika ušteda na resorsima i dobija se na brzini i efikasnosti. Na slici 1. prikazan je predloženi sistem.
 
slika1_prikazivanje_podataka_na_udaljenom_displeju_primenom_gsm_projekti_automatika.rs.jpg
Slika 1. Izgled sistema za prikazivanje podataka
 
Realizacija sistema
 
  Opis funkcionisanja
 
  Sistem se sastoji od 3 dela: server, led displej i korisnička aplikacija. Na serveru, nalazi se MySQL baza podataka[1], u koju stižu rezultati merenja od automatske merne stanice. Displej svakih 10 minuta automatski otvara TCP konekciju[2] i očitava nove podatke sa servera. Za prenos podataka se koristi GPRS internet servis GSM mreže. Sistem može da bude instaliran bilo gde, ako je dostupan mrežni napon i GSM/GPRS mreža. Admimistrator pomoću PC računara može da prati i kontroliše rad displeja. Sa Display Utility programom korisnik moze da sastavlja novi sadržaj od tekstova i grafike, određuje redosled prikazivanja pojedinih delova, dodaje pomeranje teksta i pauze između koraka. Sa programom istovremeno moze da proverava i funkcionalnost displeja.
 
  Hardver:
 
  Hardver sadrži sledeće funkcionalne blokove:
  • upravljačka kartica;
  • komunikaciona kartica;
  • LED modul (displej kontroler i LED matrix).

   Svaki blok sadrži Atmel ATMEGA64 mikrokontroler, koji međusobno komuniciraju preko SPI bus-a. Organizacija hardvera prikazana je na slici 2. Upravljačka kartica je definisan kao master, ostale kartice kao slave. U ram memoriji svakog slave mikrokontrolera definisan je jedan ulazni i jedan izlazni bafer. Master preko SPI bus-a virtuelno može da piše i čita ove bafere. Slave blokovi – led modul i komunikaciona kartica – pod upravljanjem mastera ponašaju kao periferije. Svaki paket upian u baferima slaveova sadrži polja podataka i polja za komande ili konfiguracione bajtove. Slave blokovi tokom izvršavanja dobijenih zadataka (npr. razmena podataka ili prikazivanje teksta) postavljaju povratnu informaciju u izlaznom baferu koji je dostupan masteru. U korišćenoj komunikacionoj rutini za povećanje pouzdanosti implementiran je handshaking i korekcija greške.

 
Slika 2. Organizacija hardvera
 
  Sa korišćenom hardverskom arhitekturom lako je izvodljivo buduće proširivanje hardvera. Dodavanje novih modula zahteva samo manje modifikacije u programu upravljačke kartice i ne utiče na ostale, postojeće salve priferije.
 
  Upravljačka kartica: Ovaj blok služi kao interfejs, upravlja tok podataka između ostalih periferija. Definisan je kao master na SPI bus-u, on kontroliše rad ostalih delova. Flash memorija mikrokontrolera sadrži parametre koji su jedinstveni za dati displej preko upravljačke kartice je izvršena prva inicialna konfiguracija sistema.
  
  U bazi podataka je definisano polje “Controller commands“ preko kojeg administrator može onlajn da izvrši podešavanje sistema, da promeni učestanost komunikacije sa serverom, ili da isključi neke delove sistema. Pojednostavljen algoritam programa upravljačke kartice je prikazan na slici 3. U jednom ciklusu izvršeni su sledeći koraci: 1. Očitavanje log kvarova iz bafera led modula. 2. Očitavanje senzora temperature i vlažnosti. 3. Sastavljanje izlaznog stringa. 4.Dodavanje komunikacionih parametara. 5. Upisivanje u bafer komunikacione kartice. 6. Čekanje završetka komunikacije sa serverom. 7. Očitavanje izlaznog bafera komunikacione kartice. 8.Upisivanje novog sadržaja u bafer led modula. 9 Čekanje određenog intervala vremena.
 
Slika 3. Algoritam upravljačke kartice
 
   Pored mikrokontrolera kartica sadrži senzor SHT11, koji služi za merenje temperature i vlažnosti unutar kućišta uređaja. Temperatura i vlažnost su vrlo korisni za buduće testiranje i kasnije za nalaženje uzroka eventualnih kvarova.
 
  Komunikaciona kartica: Komunikaciona kartica sastoji od mikrokontrolera i Telit GM862 QUAD GSM modema, koji su povezani sa serijskom komunikacijom. Ovaj deo hardvera je zadužen za razmenu podataka sa serverom.
 
  Mikrokontroler u ulaznom baferu dobija pakete od upravljačke kartice koji sadrže komunikacione parametre i izlazne podatke koji, se šalju na server. Upravljanje modemom se vrši slanjem AT komande koju mikrokontroler generiše po dobijenim parametrima. Komunikacija se sastoji od 4 osnovna koraka koje modem izvršava: 
  1. uspostavljanje TCP konekcije sa serverom;
  2. pozivanje PHP skripta za upis ili očitavanje podataka;
  3. primanje odgovora servera i traženih podataka;
  4. zatvaranje konekcije.
  Primer za upis ili očitavanje tabele baze:
 
Niz komandi za očitavanje jedne tabele:
//podešavanje parametra TCP konekcije
send_string
("AT#SKTSET=0,1024,“www.tippnet.rs“\r\n");
//otvaranje TCP konekcije
send_string ("AT#SKTOP\r \n ");
//pozivanje PHP skripta
send_string("GET/disp/rdata.php?Id0=12&Id1=01
/HTTP/1.0\r\n“);
send_string ("Host: www.tippnet.rs\r\n");
//zatvaranje konekcije
send_string ("Connection: close\r\n");
 
Niz komandi za upis u polje errorlog:
//podešavanje parametra TCP konekcije
send_string
("AT#SKTSET=0,1024,“tippnet.rs“\r \n ");
//otvaranje TCP konekcije
send_string ("AT#SKTOP\r \n ");
//pozivanje PHP skripta za upisanje u bazu
//“error log“
send_string("GET/disp/wdata.php?Id0=12&Id1=01&err
or log=“No Error“/HTTP/1.0\r \n ");
send_string ("Host: www.tippnet.rs\r \n ");
//zatvaranje konekcije
send_string ("Connection: close\r \n ");
 
  Pri pozivu PHP skriptova, poslati su jedinstveni dentifikacioni brojevi displeja Id0 i Id1, po kojima server “zna“ koja tabela pripada datom displeju. Nakon slanja omande, server daje potvrdu o upisu ili vraća tražene podatke. Primljeni podaci su upisani u izlaznom baferu omunikacione kartice koji je dostupan preko SPI busa. 
 
  LED modul:  Osnovni zadatak led modula je da prikazuje tekstualne i grafičke podatke koje dobije preko SPI bus-a. Rezolucija led atrice je 64 x 16 piksela. Sa ugrađenom karakter generatorom može da ispiše maksimalno 2 x 8 ASCII karaktera. Organizacija memorije displeja je prikazan na slici 4. Izlazni bafer je podeljen u 2 polja. Ova polja sadrže informaciju o kvarovima. Gornji 128 bajt je slika led matriksa u kojoj svaki resetovan bit obeležava pokvarenu led diodu. U donjem 128 bajtu nule obeležavaju pregrejana led drajver kola. Ulazni bafer displeja je podeljen na 3 dela. Prvo polje sadrži 16 niza od 64 karaktera, drugo polje prvog garfičkog bafera i treće polje prvog komandnog bafera.
 
Slika 4. Organizacija memorije LED modula
 
  U programu mikrokontrolera implementirano je set funkcije koje se aktiviraju upisivanjem odgovarajuće komande u komandni bafer. 

   Korisnici sa Displej Utility aplikacijom mogu da sastavljaju i unesu niz komandi u bazu podataka koju kasnije displej zajedno sa ostalim podacima sa servera automatski očitava. Glavni deo displeja led matrice je realizovan sa AS1110 led drajverima od proizvođača Austriamicrosystem AG. Ovo integrisano kolo ima 16 konstantna strujna izlaza koje napaljaju LED diode, sihnronog serijskog interfejsa sa ugrađenom shift-baferom i dijagnostiku za testiranje ledovke. Realizovani modul sadrži 64 kaskodno vezanih drajver kola i 1024 led diode. Šema povezivanja drajvera je prikazivan na slici 5.
 
Slika 5. Kaskadno povezivanje LED drajvera
 
  Za prenos podataka i upravljanje korišćena je 5 linija SDI – Serial Data In, SDO – Serial Data Out, CLK – Clock signal, LD – Load Data i OEN – Output Enable. Za svaku rastuću ivicu CLK signala sadržaj 16 bitnog shift-bafera pomeren je ulevo, vrednost SDI linije upisan na mesto najvišeg bita, a vrednost najnižeg bita je pomerena na SDO liniju. Posle 16. takta sadržaj bafera je potpuno izmenjen. Za rastuću ivicu LD signala sadržaj shift bafera, je upisan u radni registar koji služi za upravljanje strujnim generatorima koje napajaju led diode. Za opadajuću ivicu OEN signala upaljene su led diode. Kod n serijsko vezahih kola postupak je isti sa razlikom da pomeranje podataka zahteva n*16 takta. Oblici signala i rezultat diagnostike greške je prikazan na
slici 6. 
 
Slika 6. Oblici signala kontrolne linije i linije podataka
 
  Ugrađena diagnostika ima 3 funkcije: testiranje otvorenih izlaza, testiranje kratkospajanih izlaza i detekcija pregrejanja drajvera. Funkcije su aktivirane za vreme visokog nivoa LD signala, pre upisivanja novog sadržaja. Sa pojedinim impulsima CLK signala izabrana je jedna od 3 funkcije a za opadajuću ivicu LD signala rezultati testa upisani u shift-bafer, koji može da se isčita preko SDO linije pomeranjem novog sadržaja u bafer. U dobijenim nizovima 0 bitovi pokazuju mesto kvarova. 
 
  Komunikacija:
 
  Kompletna komunikaciona šema je prikazana na slici 7. Gornji blok simbolizuje MySQL bazu podatak na serveru, a donja tri su pojedini delovi displeja. Prenos podataka između displeja i servera je realizovan TCP konekcijom preko GSM/GPRS mreže, a između blokova displeja SPI komunikacijom. U bazi su definisane dve tabele za ulazne i izlazne podatke. Svaki pristup bazi podataka je izvršen korišćenjem PHP skriptova rdata.ph p(čitanje) i wdata.php1 (pisanje). Gornja tabela sadrži izlazne podatke koje displej očitava. Ovde stižu novi podaci od merne stanice i ostali tekstovi, slika i konfiguracioni parametri koje korisnik šalje sa Displej Utility programom. U tabeli je uvek poslednji upisani sadržaj dostupan, stariji podaci su prilikom upisa automatski izbrisani. Donja tabela je autoinkrementnog tipa i služi za arhiviranje podataka dobijenih od displeja. Svaki put kad je izvršen upis, otvorena je nova linija i obeležen redni broj i vreme upisa. Prva dva polja Id0 i Id1 u obe tabele služe za identifikaciju pojedinih displeja. 
 
  U osnovnoj konfiguraciji displej svakih 10 minuta započinje komunikaciju. Jedan komunikacioni ciklus sastoji se od sledećih koraka: 1. Upravljačka kartica očitava izlazni bafer Led modula. 2. Prosleđuje očitani sadržaj, vrednost temperature, vlažnosti i komunikacione parametre komunikacionoj kartici. 3. Komunikaciona kartica na osnovu dobijenih informacija uspostavlja TCP konekciju sa serverom. 4. Pošalje podatke u donju tabelu pozivanjem PHPskripta wdata.php. 5.Očitava gornju tabelu saPHP skriptom rdata.php. 6. Zatvara konekciju sa serverom. 7. Upravljačka kartica očitava izlazni bafer komunikacione kartice. 8. Odvaja “Controller Commands“ polja. 9. Upisuje podatke u ulazni bafer Led modula. 10. Čeka na dati interval vremena. 
 
  Korisnički interfejs: 
 
  Displej Utility je korisnička površina sistema. Može da radi na bilo kojem PC-u, ako je priključen na internet. Sa programom korisnici lako i efikasno mogu da sastave sadržaj koji će biti prikazan na displeju, dodavanjem slike, pomeranjem teksta, pauze i proizvoljnog redosleda. Sa izborom satnog moda displej može da pokazuje tačno vreme i datum. Aplikacija sadrži virtuelni model displeja, sa kojim korisnik može da se simulira rad displeja da bi video pre upisivanja u bazu, kako izgleda sastavljena poruka. Program omogućava i očitavanje log fajlova sa servera, prikazivajući tačna mesta kvarova led dioda i driver čipova.
Upoređivanje mogućih rešenja
 
   Najsloženiji problem kod realizacije sistema je izbor i implementiranje prenosa podataka, koji moze da unosi velika ograničenja i značajno povećava troškove. Kod sličnih displeja najčešće su korišćene sledeće komunikacije linije:
  • Kablovska veza (RS232, RS485, LAN): Najbolji izbor na malim daljinama. Prednosti: zatvorena fizička veza, prenos podataka u realnom vremenu, lako implementiranje dodatne nestandardne funkcije, veća pouzdanost od ostalih rešenja, Mane: ograničen domet i visoka cena instalacije. 
  • Bežična komunikacija (Bluetooth, ZigBee, WLAN, IR): Alternativno rešenje, umesto kablovske veze. Prednosti: prenos podataka u realnom vremenu, zatvoren sistem, niska cena instalacije. Mane: manje pouzdan usled moguće smetnje u prenosnom mediumu i ograničen domet.
  • Direktni prenos preko interneta TCP/IP konekcijom (LAN, WLAN, GPRS,ADSL): Prednosti: neograničen domet, prenos podataka u realnom vremenu. Mane: potrebna kvalitetna internet konekcija i statička IP adresa, pouzdanost zavisi od kvaliteta internet konekcije.
  • Indirektni prenos preko interneta korišćenjem servera (LAN, WLAN, GPRS, ADSL) Prednosti: neograničen domet, može da radi bez prisustva korisnika, najniža cena od svih rešenja. Mane: ne može da radi u realnom vremenu, pouzdanost zavisi od kvaliteta internet konekcije.
Slika 7. Komunikaciona šema sistema
 
Zaključak
 
  U okviru ovog rada opisana je realizacija sistema za online prikazivanje podataka o zagađenosti vazduha. Sistem se sastoji od 3 dela: LED displeja, server sa MySQL bazom podataka i korisnička aplikacija Display Utility. Hardware je zasnovan na ATMEGA64 mikrokontroleru, AS1110 led drajveru, i Telit GM862 Quad GSM modemu. Za prenos podataka između centralnog servera i displeja je korišćen GPRS internet servis GSM mreže. Na serveru očitavanja i upis podataka vrše php skriptovi. Korisnička aplikacija omogućava brzo i lako upravljanje displejom, i pristup svim funkcijam sistema.
 
  Testiranje hardvera je izvršeno u delovima u laboratoriji. Led drajveri su testirani na povećanoj temperaturi oko 70 °C, radi simuliranja otežanih uslova rada koji se javljaju toplih dana. Postavljeni ciljevi su postignuti u okviru rada. Realizovan je prototip sistema. Komunikacija radi zadovoljavajući, drajveri sa maksimalnim opterećenjem pri 70°C ambientalne temperature ne prelaze dozvoljenu temperaturu. Sledeći koraci u razvoju su projektovanje kutije sa potrebnim optičkim filterom i testiranje sistema uživo za duži period vremena.
 
  Autori:

NEMA KOMENTARA

POSTAVI ODGOVOR

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Exit mobile version