Cilj: Ostvariti sustav za dojavu i pozicioniranje tramvaja u mreži.
Tehnologije: Mrežne tehnologije, GPS, GIS.
Detaljno objašnjenje: Ostvariti pozicioniranje tramvaja pomoću GPS tehnologije. Ostvariti prikaz na info-prikaznicima i na mobilnom uređaju na strani korisnika. Napraviti aplikaciju za analizu najkraćeg puta i za dojavu dolaska tramvaja na stanicu.
Dijelovi seminara:
-
Komunikacija tramvaj-poslužitelj
- Integriranje tramvaja u mrežu
- Dojava na mobitel i prikaznike na stanice
- Dokumentacija svakog pojedinog poddijela
Broj osoba: 2-3
Vrijeme izrade: kraj semestra
Sustav za upravljanje VLAB - om
Cilj: Napisati aplikaciju (u programskom jeziku Java) koja će imati mogućnost prenošenja, pokretanja i praćenja rada Rabbit aplikacije te resetiranja Rabbit mikrokontrolera.
Tehnologije: Programiranje u Javi, mrežne tehnologije, razvoj Eclipse plug-inova, PHP, RABBIT, TINI.
Detaljno objašnjenje: Proučiti RABBIT platformu, posebno specifikacije procesora Rabbit 2000. Proučiti mogućnosti modula RCM2200. Proučiti Rabbit SDK i pripadni programski kod u .lib datotekama. Proučiti razvojnu okolinu DynamicC, te načine prevođenja i pokretanja izvornog koda. Pomoću prikladnog softvera, detaljno proučiti aktivnost na serijskom portu pri pokretanju, prenošenju .bin aplikacije i resetiranju Rabbit kontrolera, te utvrditi komunikacijski protokol koji se koristi pri tim akcijama.
Dodatno (ako grupa > 1 studenta): Proučiti način prevođenja izvornih Rabbit programa u izvršni format, pronaći način ručnog prevođenja programa. Dograditi novim plugin-om/ konfigurirati Eclipe CDT razvojno okruženje za kompajliranje Rabbit programa, te integrirati taj plugin s aplikacijom za prijenos / pokretanje / resetiranje Rabbit kontrolera.
Resursi:
- ZWorld – www.zworld.com
- Eclipse CDT plugin – www.eclipse.org/cdt
Krajnji rezultati: Aplikacija napisana u programskom jeziku Java sa sljedećim mogućnostima:
- prijenos prethodno kompajlirane Rabbit aplikacije (.bin) datoteke na Rabbit mrežni mikrokontroler pomoću serijskog programatora,
- pokretanje prenesenog programa na Rabbit mrežnom kontroleru,
- prikaz ispisa programa koji se izvodi na Rabbit kontroleru, te
- resetiranje Rabbit mikrokontrolera.
Detaljno dokumentirano: protokol za serijsku komunikaciju s Rabbit mikrokontrolerom – prenošenje .bin datoteke, pokretanje programa, praćenje standardnog izlaza, resetiranje mikrokontrolera.
[dodatno] stvaranje i korištenje programskog okruženja za prevođenje C aplikacija za Rabbit platformu koristeći Eclipse razvojnu platformu.
Rok izrade: 60 dana (kraj semestra), 1 student (osnovna verzija), maksimalno 3 studenta (proširena verzija zadatka – Eclipse plugin).
Predznanje: Rad s Rabbit mrežnim kontrolerom, programiranje u programskim jezicima Java i C, prethodno iskustvo programiranja za serijski port, iskustvo pisanja dodataka (plugin-ova) za Eclipse platformu (dodatni dio zadatka) .
Otisak prsta - asembler
Cilj: Napisati rutinu za detekciju prsta na senzoru.
Tehnologije: Programiranje u asembleru
Detaljno objašnjenje: Rutina mora biti brza koliko je god to moguće na Rabbit procesoru (dakle, napisana u assembleru) i mora sa što većom sigurnošću reći da je prst zaista prislonjen na površinu senzora. 100%-tna sigurnost, naravno, nije moguća. Softver ne Rabbit-u ne smije u while petlji konstantno vrtiti program od 2 sekunde i provjeravati je li prst pritisnu ili nije, nego treba što češće otići u sleep mode. Kako procesor tako i senzor. Ostvariti dio modula za izgradnju RASIPovog virtualnog laboratorija.
Nakon što je prst prslonjen, potrebno je sliku prenjeti na server. U tu svrhu potrebno je realizirati neku vrst jednostavnog "reliable udp" protokola. Napisati C++ i Java library za rad sa predloženim protokolom na server strani. (1-2 studenta)
Osim udp protokola potrebo je osmisliti i realizirati prijenos slike TCP protokolom. Napisati C++ i Java library za TCP prihvat slike na server strani. (1-2 studenta)
Nova revizija senzora sa hardverskom detekcijom prsta. Imamo samo jedan senzor. Netko tko je dobar u hardveru, mogao bi sastaviti uređaj sa novim senzorom. Pločice postoje od prošle godine i rade (senzor radi i daje sliku na uređaju koji su sastavili studenti prošle godine). U ovoj verziji treba napraviti interrupt inicirani prijenos slike. (3-4 studenta)
Vrijeme izrade: kraj semestra
Praćenje temperature korištenjem bežične mreže osjetila
Cilj: raspodijeljeni sustav praćenja temperature u zgradi.
Tehnologije: bežične mreže osjetila, jezici NesC i Java.
Detaljno objašnjenje: Potrebno je osmisliti i implementirati bežičnu mrežu osjetila i pripadajuću programsku podršku za mjerenje, prenošenje i grafički prikaz temperature u prostorijama Zavoda.
Dijelovi seminara: programska podrška za čvorove bežične mreže osjetila aplikacija za prikaz temperature.
Broj osoba: 2
Vrijeme izrade: kraj semestra
Programski premosnik između bežične mreže osjetila i Interneta
Cilj: izraditi programsko sučelje (poslužitelj) za komunikaciju između Internet aplikacija i bežične mreže osjetila.
Tehnologije: Java, JINI, web servisi, baze podataka.
Detaljno objašnjenje: Cilj projekta je osmisliti arhitekturu i implementirati programski premosnik između bežične mreže osjetila i Internet orijentiranih aplikacija. Potrebno je proučiti postojeće načine izvedbe premosnika, te predložiti i implementirati vlastite premosnike uključujući korištenje tehnologija web usluga i JINI-a.
Dijelovi seminara:
- proučavanje postojećih rješenja
- istraž
iva nje uporabe web servisa i JINI-a - implementacija premosnika
- korištenje premosnika u konkretnoj aplikaciji praćenja temperature
Broj osoba: 2
Vrijeme izrade: kraj semestra
Detekcija pokretnog objekta na osnovu zvuka
Cilj: ostvariti detekciju objekta unutar područja pokrivenog bežičnom mrežom osjetila, procjenu trenutne pozicije objekta i prepoznavanje tipa objekta na osnovu karakteristika zvučnog signala. Ostvariti detekciju objekta unutar područja pokrivenog bežičnom mrežom osjetila, procjenu trenutne pozicije objekta i prepoznavanje tipa objekta na osnovu karakteristika zvučnog signala.
Tehnologije: bežične mreže osjetila, obrada signala.
Detaljno objašnjenje: Cilj seminara je proučiti načine detekcije prolaska objekta i njegove identifikacije na osnovu zvuka. Potrebno je proučiti uzorkovanje audio signala na čvoru bežične mreže osjetila, njegovu obradu gotovim algoritmima za obradu signala i prepoznavanje objekata na osnovu zvučnog potpisa. Ukoliko je to moguće, implementirati procjenu trenutne pozicije objekta na osnovu informacija s više čvorova mreže.
Dijelovi seminara:
- proučavanje prikupljanja zvučnog signala na čvoru bežične mreže osjetila
- obrada prikupljenih podataka na samom čvoru
- učenje i klasifikacija zvučnog potpisa različitih tipova objekata
- prikupljanje podataka iz mreže na centralnoj lokaciji i procjena lokacije objekta
Broj osoba: 1
Vrijeme izrade: kraj semestra
Detekcija prolaska objekta na osnovu promjena magnetskog polja
Cilj: ostvariti detekciju objekta unutar područja pokrivenog bežičnom mrežom osjetila, procjenu trenutne pozicije objekta i prepoznavanje tipa objekta na osnovu promjena u magnetskom polju.
Tehnologije: bežične mreže osjetila, obrada signala.
Detaljno objašnjenje: Cilj seminara je proučiti načine detekcije prolaska objekta i njegove identifikacije na osnovu promjena u magnetskom polju. Potrebno je proučiti uzorkovanje promjene magnetskog polja na čvoru bežične mreže osjetila, njegovu obradu gotovim algoritmima za obradu signala i prepoznavanje objekata na osnovu veličine promjene. Ukoliko je to moguće, implementirati procjenu trenutne pozicije objekta na osnovu informacija s više čvorova mreže.
Dijelovi seminara:
- prikupljanja signala promjene magnetskog polja na čvoru bežične mreže osjetila
- obrada prikupljenih podataka na samom čvoru
- učenje i klasifikacija magnetskog potpisa različitih tipova objekata
- prikupljanje podataka iz mreže na centralnoj lokaciji i procjena lokacije objekta
Broj osoba: 1
Vrijeme izrade: kraj semestra
Detekcija prolaska objekta na osnovu vibracija tla
Cilj: ostvariti detekciju objekta unutar područja pokrivenog bežičnom mrežom osjetila, procjenu trenutne pozicije objekta i prepoznavanje tipa objekta na osnovu vibracija.
Tehnologije: bežične mreže osjetila, obrada signala.
Detaljno objašnjenje: Cilj seminara je proučiti načine detekcije prolaska objekta i njegove identifikacije na osnovu vibracija tla. Potrebno je proučiti uzorkovanje vibracija tla na čvoru bežične mreže osjetila, njegovu obradu gotovim algoritmima za obradu signala i prepoznavanje objekata na osnovu karakteristika vibracija. Ukoliko je to moguće, implementirati procjenu trenutne pozicije objekta na osnovu informacija s više čvorova mreže.
Dijelovi seminara:
- prikupljanja signala vibracija tla na čvoru bežične mreže osjetila
- obrada prikupljenih podataka na samom čvoru
- učenje i klasifikacija vibracijskog potpisa različitih tipova objekata
- prikupljanje podataka iz mreže na centralnoj lokaciji i procjena lokacije objekta
Broj osoba: 1
Vrijeme izrade: kraj semestra
Lociranje čvora bežične mreže osjetila u zatvorenom prostoru
Cilj: ostvariti sustav procjene lokacija čvora bežične mreže osjetila korištenjem audio signala.
Tehnologije: bežične mreže osjetila, jezik NesC, obrada signala, Java.
Detaljno objašnjenje: Potrebno je proučiti mogućnosti određ
Dijelovi seminara:
- proučavanje karakteristika sustava za lociranje objekata na osnovu audio signala
- proučavanje audio komunikacije čvorova bežične mreže osjetila
- programska podrška za čvorove bežične mreže osjetila
- aplikacija za prikaz trenutne lokacije praćenog čvora
Broj osoba: 2
Vrijeme izrade: kraj semestra
Detekcija pada osobe
Cilj: ostvariti sustav detekcije pada osobe i alarmiranja
Tehnologije: bežične mreže osjetila, Java, jednostavni algoritmi umjetne inteligencije
Detaljno objašnjenje: Proučiti mogućnosti praćenja aktivnosti osobe korištenjem bežične mreže osjetila, s naglaskom na detekciju pokreta korištenjem akcelerometara. Istražiti mogućnost detekcije pada osobe na osnovu prikupljanih podataka o aktivnosti, te alarmiranja za to zaduženih osoba.
Dijelovi seminara:
- proučavanje rada osjetila akceleracije na čvoru bežične mreže osjetila
- proučavanje prikupljanja podataka o kretnjama osobe, a temeljenih na praćenju akceleracije
- prikupljanje podataka o "uobičajenim"kretnjama osobe kod obavljanja različitih aktivnosti u zatvorenom prostoru
- detekcije "neobičnih" pokreta osobe
- sustav alarmiranja prilikom detekcije "neobičnih" pokreta, slanje poruka (SMS, MMS)
Broj osoba: 3-4
Vrijeme izrade: kraj semestra
Sinkronizacija satova na čvorovima bežične mreže osjetila
Cilj: ostvariti široko iskoristivi sustav sinkronizacije satova čvorova bežične mreže osjetila.
Tehnologije: bežične mreže osjetila, jezik NesC.
Detaljno objašnjenje: Proučiti problematiku sinkronizacije satova na čvorovima bežične mreže osjetila. Istražiti i primijeniti postojeće metode sinkronizacije satova.
Dijelovi seminara:
- proučavanje postojećih sustava sinkronizacije satova
- implementacija biblioteke ponovno iskoristivih algoritama za sinkronizaciju satova
Broj osoba: 2-4
Vrijeme izrade: kraj semestra
Obrada signala na čvorovima bežične mreže osjetila
Cilj: ostvariti biblioteku algoritama za obradu signala na čvorovima bežične mreže osjetila.
Tehnologije: bežične mreže osjetila, jezici C i nesC.
Detaljno objašnjenje: Potrebno je odabrati osnovne algoritme obrade signala (FFT, SFT, DCT, …), proučiti postojeće implementacije u jeziku C, te ih prenijeti na čvorove bežične mreže osjetila. Također je potrebno ispitati njihove performanse (vrijeme, memorija, energija) u stvarnim uvjetima korištenja.
Dijelovi seminara:
- prenošenje algoritama iz jezika C u jezik nesC
- ispit
ivanje performansi algoritama
Broj osoba: 2
Vrijeme izrade: Nova Godina
Upravljanje proizvodnim procesom korištenjem višeagentskog sustava
Cilj: ostvariti simulaciju proizvodnog procesa korištenjem višeagentskog sustava
Tehnologije: Java, Jade
Detaljno objašnjenje: Proučiti modeliranje proizvodnog procesa korištenjem agenata. Implementirati simulator jednostavnog proizvodnog procesa korištenjem sustava Jade. Pozornost pridati protokolima komunikacije između dijelova sustava.
Dijelovi seminara:
- izrada modela procesa kao višeagentskog sustava
- izrada simulatora procesa u sustavu Jade
Broj osoba: 2
Vrijeme izrade: kraj semestra
Jade Eclipse Plugin
Cilj: proširiti funkcionalnost postojećeg Jade Eclipse plugin-a.
Tehnologije: Java, Eclipse.
Detaljno objašnjenje: Implementacija novih funkcionalnosti u Jade plugin-u za Eclipse.
Broj osoba: 2
Vrijeme izrade: kraj semestra
Osjetilo pritiska za čvorove bežične mreže osjetila
Cilj: ostvariti sustav detekcije pritiska i uklopiti ga kao dodatak za čvor bežične mreže osjetila
Tehnologije: hardware, bežične mreže osjetila
Detaljno objašnjenje: postojeći senzori čvorova bežične mreže osjetila ne posjeduju senzor pritiska, a koji je bitan za ostvarenje sustava pametne okoline (npr. detekciju zauzetosti stolca). Potrebno je prilagoditi i uklopiti senzore pritiska u repertoar osjetila čvora, te izraditi programsku podršku za njegovo korištenje u sklopu operacijskog sustava TinyOS.
Dijelovi seminara:
-
izrada osjetila pritiska
-
izrada programske podrške za korištenje osjetila
Vrijeme izrade: kraj semestra
Nadzor modula ABB REF upotrebom programskog paketa ABB MicroSCADA
Cilj: Proučiti programski paket MicroSCADA. Potrebno je izgraditi aplikaciju u ABB-ovoj MicroSCADA-i koja ostvaruje komunikaciju i upravljanje sa zaštitnim modulom ABB REF. (3 čovjeka)
O čemu se radi: Sustavi upravljanja u industrijskim procesima (SCADA), rad na high level (netreba asembler), objektna hijerarhija, modeliranje, proučavanje dokumentacije.
Broj ljudi: 2
Nadzor prisutnosti osoba pomoću detektora pokreta
Cilj: Mikrokontrolerski sustav (ATMEGA32) priključen na detektor pokreta, potrebno ga je isprogramirati u C-u tako da kada primi signal od senzora poziva redom jedan ili više unaprijed zadanih brojeva telefona ili mobitela od čuvara. Zvanje treba prekinuti detekcijom javljanja čuvara. Broj ljudi: 1
Potrebno predznanje: dobro poznavanje C-a, poznavanje rada mikrokontrolera.
Regulacija vodostaja umjetnog jezera pomoću ugrađenih sustava
Cilj: Potrebno je napraviti sustav za regulaciju vodostaja vode u umjetnom jezeru. Na raspolaganju su nam 2 mikrokontrolerska sustava, svaki sa GSM modulom za komunikaciju. Jedan sustav prati senzor o vodostaju i šalje zahtjeve za otvaranjem / zatvaranjem brane (S1), a drugi prima te zahtjeve i otvara / zatvara branu (S2). Detaljno: U jezeru se nalazi senzor dubine, koji je bežično povezan sa mikrokontrolerskim sustavom smještenim na obali koji ima GSM modul. Ukoliko vodostaj padne ispod zadane dopuštene granice, ovaj sustav šalje zahtjev za OTVARANJE brane u obliku SMS poruke modulu na brani. Ukoliko vodostaj naraste iznad zadane dopuštene granice, ovaj sustav šalje zahtjev za ZATVARANJE brane u obliku SMS poruke modulu na brani. Upravitelj jezera pozivom modulu S1 treba dobiti SMS o trenutnoj izmjerenoj razini vode, a pozivom modulu S2 treba dobiti podatak o tome da li je brana dignuta ili spuštena. Također, Upravitelj može poslati naredbu za otvaranje / zatvaranje brane, kao i naredbu kojom mijenja trenutne granice ispražnjenosti / napunjenosti jezera. Uvijeti: poznavanje principa rada mikrokontrolera (ODR), dobro poznavanje C-a.
O čemu se radi: embedded development.
Broj ljudi: 2
Nadzor prostora pomoću WEB kamere i SCADA sustava
Cilj: Na postojeći STEP motor (koji osovinu zakreće za 360 stupnjeva u koracima od najmanje 15 stupnjeva a koji je na PC spojen preko RS-232) nadograditi WEB kameru te napraviti programe koji uzimaju slike sa dotične i analiziraju ih. Napraviti aplikaciju u National Instruments-ovoj SCADA-i koja omogućava korisniku da zadaje naredbe motoru (preko RS-232) i koja sa kamere uzima video zapis (ili sliku po sliku), i ispisuje broj osoba trenutno prisutnih u prostoriji. Broj ljudi: 2
Izgradnja grafičkog programskog drivera za mikrokontrolerski sustav
Cilj: Za postojeći mikrokontrolerski sustav (ATMEL ATMEGA32 + graphic LCD display 128x64) Detaljno: U C-u izraditi skup API-ja za crtanje grafike. Implementirati funkcije LineTo, Rectangle, DrawText, SetPos, GetPos, SetBackgroundBitmap kao i 3 zadane veličine grafičkih fontova. Uvjeti: iskustvo u radu sa mikrokontrolerima & PCB design, nešto opreme treba nabaviti sam (AVRISP programator, napajanje), nešto već ima (LCD display,ATMEGA32).
Komentar: zahtjevno
Broj ljudi:1
Izgradnja mikrokontrolerskog oscilloscope-a
Cilj: Za postojeći mikrokontrolerski sustav (ATMEL ATMEGA32 + graphic LCD display 128x64 + AD converter + keyboard) u C-u implementirati neke funkcije oscilloscopa. Izraditi skup API-ja za crtanje grafike, uzorkovanje signala sa AD konvertera, iscrtavanje rezultata na ekranu, te rad sa tipkovnicom (prekidni način). Navedeno treba objediniti u aplikaciju koja omogućava zadavanje frekvincije uzorkovanja, iscrtavanje vremenskog signala, iscrtavanje frekvencijskog signala, zoom signala, promjena faktora pojačanja (gain)
Uvjeti: dobro iskustvo u radu sa mikrokontrolerima & PCB design, nešto opreme treba nabaviti sam (AVRISP programator), nešto već ima.
Komentar: zahtjevno
Broj ljudi: 2
Izgradnja mikrokontrolerskog sustava sa podrškom za radio
Cilj: Izgraditi dva mikrokontrolerska sustava temeljena na procesorima ATMEL ATMEGA koji će komunicirati radio modemima ili radiomodulima (po vlastitom izboru) te implementirati program u C-u za dotičnu komunikaciju. Mikrokontroleri su vezani na RS232 port PC-a, preko kojeg se šalju naredbe za komunikaciju / podaci koje treba poslati na drugi modul (PC). Na raspolaganju je ATMEGA32 procesor, MAX232, a ostale komponente treba nabaviti. Treba izraditi PCB pločicu.
Uvjeti: dobro iskustvo u radu sa mikrokontrolerima & PCB design, nešto opreme treba nabaviti sam (AVRISP programator, radio moduli), nešto već ima.
Komentar: zahtjevno
Broj ljudi: 2
Simulator 'paintable' arhitekture
Cilj: Razviti simulator 'paintable' arhitekture s mogućnošću vizualizacije rada sustava
Detaljno objašnjenje: Paintable arhitektura predlaže sustav koji se sastoji od velikog broja (red veličine nekoliko tisuća) vrlo jednostavnih procesnih jedinica malih dimenzija. Svaka jedinica može izvršavati jednostavne programe i ima mogućnost komunikacije s ograničenim susjedstvom. Složena funkcionalnost ostvaruje se suradnjom velikog broja jednostavnih jedinki - slično biološkim sustavima. Za izradu simulatora potrebno je poznavanje nekog objektno orijentiranog jezika koji podržava mogućnost dinamičkog proširivanja (npr. reflection) i rad s grafikom.
Dijelovi seminara:
- Upoznavanje s paintable arhitekturom (predloženoj u http://web.media.mit.edu/~vmb/papers/buteraphd.pdf)
- Implementacija simulatora prema predloženom modelu, s nekim proširenim mogućnostima
- Dokumentacija
Broj osoba: 1-3
Vrijeme izrade: kraj semestra