Korisnički alati

Site alati


2019:studenti:igredicak:start

Razlike

Slijede razlike između dviju inačica stranice

Poveznica na ovu usporedbu

Starije izmjene na obje strane Starija izmjena
Novija izmjena
Starija izmjena
2019:studenti:igredicak:start [2019/06/13 01:38]
ig49146
2019:studenti:igredicak:start [2023/06/19 18:11] (trenutno)
Redak 3: Redak 3:
 ===== Članovi Tima ===== ===== Članovi Tima =====
  
-Matteo Samsa+[[:​2019:​matteo_samsa|Matteo Samsa]]
  
-Ivan Matković+[[:​2019:​ivan_matkovic|Ivan Matković]]
  
-Vito Papa+[[:​2019:​vito_papa|Vito Papa]] 
 + 
 +[[:​2019:​tomislav_matulic|Tomislav Matulić]]
  
-Tomislav Matulić 
  
 ===== Razrada konteksta ===== ===== Razrada konteksta =====
Redak 94: Redak 95:
 Ključni dijelovi sustava koje je potrebno realizirati:​ Ključni dijelovi sustava koje je potrebno realizirati:​
  
-Hranilica (osigurati hranu i vodu)+1.Hranilica (osigurati hranu i vodu)
  
-Video-kamera (nadzor prostora na zahtjev)+2.Video-kamera (nadzor prostora na zahtjev)
  
-Detektor buke (trajanje i razina buke) Zabava (laser za mačke ili loptice za psa)+3.Detektor buke (trajanje i razina buke)
  
-Mobilna aplikacija (koristi se za konfiguraciju i korištenje sustava)+4.Zabava (laser za mačke ili loptice za psa) 
 + 
 +5.Mobilna aplikacija (koristi se za konfiguraciju i korištenje ​sustava) 
 + 
 +6.Server (komunikacija između aplikacije i sustava)
  
-Server (komunikacija između aplikacije i sustava) 
  
 ===== Plan projekta ===== ===== Plan projekta =====
Redak 122: Redak 126:
 ===== Rezultati projekta ===== ===== Rezultati projekta =====
  
-Kratki opis rješenja zadataka:+<font 14px/​inherit;;​inherit;;​inherit>​Kratki opis rješenja zadataka:</​font>​ 
 + 
 +<font 14px/​Arial,​Helvetica,​sans-serif;;​inherit;;​inherit>​1. Kamera korištena za realizaciju zadatka je Pi Camera Module v2 koja se spaja na CSI port Raspberry Pi-a pomoću ribbon kabla. Na Raspberry Pi-u 3B+ je pokrenut jednostavan HTTP server pomoću Python skripte. Python skripta koja služi za pokretanje HTTP servera s video prijenosomm uživo je preuzeta i prilagođena potrebama PetCare projekta. Format video prijenosa uživo je MJPEG, rezolucija je namještena na 320×240, dok je framerate 10. Navedene vrijednosti su mijenjane tijekom projekta i konačne vrijednosti su odabrane prema kompromisu kvalitete slike i podatkovnog prometa. Skripta omogućava definiranje rotacije kamere (važno kod montiranja) i definiranje mrežnih vrata na koji je potrebno poslati HTTP zahtjev (PetCare ima mrežna vrata 8081). Kako bi kamera osim lokalno radila i preko javne IP adrese odnosno da korisnik može vidjeti svog ljubimca iz bilo koje lokacije porebno je u router-u uključiti opciju prosljeđivanja mrežnih vrata (engl. port forward). U budućnosti je ovo rješenje potrebno nadograditi boljom sigurnošću (ograničiti pristup samo korisniku) jer svatko tko posjeduje IP adresu i port može pristupiti web kameri.</​font>​ 
 + 
 +<font 14px/​Arial,​Helvetica,​sans-serif;;​inherit;;​inherit>​2.</​font>​ 
 + 
 +<font 14px/​Arial,​Helvetica,​sans-serif;;​inherit;;​inherit>​Mobilna aplikacija je izrađena u programskom okruženju Android Studio. Minimalna potrebna verzija Androida za aplikaciju je 4.4.0 KitKat (API 19) te korisnik mora posjedovati uređaj s tim specifikacijama (oko 75% današnjih aktivnih uređaja). Mobilna aplikacija se sastoji od početnog ekrana koji se otvara pri pokretanju aplikacije i 4 ekrana koji služe za konfiguraciju i upravljanje sustavom. Pomoću aplikacije korisnik pristupa video prijenosu uživo, podešava i prati stanje hranilice, upravlja laserom i/ili izbacivačem loptice i podešava postavke detektora buke. Svakoj od prethodno navedenim funkcijama korisnik pristupa pritiskom na jedan od 4 gumba na početnom ekranu.</​font>​ 
 + 
 +<font 14px/​Arial,​Helvetica,​sans-serif;;​inherit;;​inherit>​Ekran za video prijenos služi vizualnom uvidu u stanje ljubimca. Izvršava se HTTP zahtjevom na server opisan u prvom dijelu zadatka. Kako bi se prikazao video prijenos uživo nije potrebno pristupati stranici index.html već samo stream.mjpg. Format MJPEG je odabran upravo zbog jednostavne implementacije.</​font>​ 
 + 
 +<font 14px/​Arial,​Helvetica,​sans-serif;;​inherit;;​inherit>​Ekran hranilice služi kako bi korisnik uključio ili isključio ukupno 5 fiksnih dnevnih termina hranjenja. Osim uključivanja i isključivanja korisnik unosi masu (u gramima) i spremnik (ukupno 3 spremnika), kao pozitivan broj te sate i minute koji se odabiru u padajućim izbornicima. Podešavanje željenog rasporeda hranjenja korisnik potvrđuje pritiskom na gumb ispod opcija.Osim hranjenja po rasporedu dostupno je i trenutno hranjenje gdje korisnik unosi masu i spremnik i pritiskom na gumb šalje zahtjev za hranjenje. Na ekranu su prikazane i greške sustava poput praznih spremnika ili mehaničkih grešaka.</​font>​ 
 + 
 +<font 14px/​Arial,​Helvetica,​sans-serif;;​inherit;;​inherit>​Ekran za upravljanjem laserom i izbacivačem služi za zabavu kućnog ljubimca. Na njemu je vidljiv video prijenos uživo kao i na jednom od prethodnih ekrana. Korisnik pomoću sklopki uključuje i isključuje laser i izbacivač. Za laser su dostupne komande za mijenjanje pozicija. Promjena pozicije se izvršava pritiskom na jedan od 4 gumba koja označavaju smjer.</​font>​
  
-1. Kamera korištena za realizaciju zadatka je Pi Camera Module v2 koja se spaja na CSI port Raspberry Pi-pomoću ​ribbon kabla. Na Raspberry Pi-u 3B+ je pokrenut jednostavan HTTP server ​pomoću ​Python skripte. Python skripta koja služi za pokretanje HTTP servera s video prijenosomm uživo je preuzeta i prilagođena potrebama PetCare projekta. Format video prijenosa uživo je MJPEG, rezolucija je namještena na 320×240, dok je framerate 10. Navedene vrijednosti su mijenjane tijekom projekta i konačne vrijednosti su odabrane prema kompromisu kvalitete slike i podatkovnog prometa. Skripta omogućava definiranje rotacije kamere (važno kod montiranja) ​definiranje mrežnih vrata na koji je potrebno poslati HTTP zahtjev (PetCare ima mrežna vrata 8081). Kako bi kamera osim lokalno radila i preko javne IP adrese odnosno da korisnik može vidjeti svog ljubimca iz bilo koje lokacije porebno je u router-u uključiti opciju prosljeđivanja mrežnih vrata (engl. port forward). U budućnosti je ovo rješenje potrebno nadograditi boljom sigurnošću (ograničiti pristup samo korisnikujer svatko tko posjeduje IP adresu i port može pristupiti web kameri.+<font 14px/​Arial,​Helvetica,​sans-serif;;​inherit;;​inherit>​Ekran detektora buke služi da korisnik ​pomoću ​sklopke definira želi li primati obavijesti, te pomoću ​klizača odabire najmanji intenzitet buke nakon kojeg mu stiže obavijest ​najmanje trajanje nakon kojeg stiže obavijest ​(odabiru se pomoću klizača).</​font>​
  
-2.+<font 14px/​Arial,​Helvetica,​sans-serif;;​inherit;;​inherit>​Osim prethodno opisanih vidljivih ekrana aplikacija u pozadini svakih 75 sekundi ažurira stanje sustavaU slučaju promjene stanja sustava (detektirane buke ili greške) korisniku stiže obavijest u okviru za obavijesti na njegovom uređaju.</​font>​
  
-<​font ​11pt/Calibri,​sans-serif;;​inherit;;​inherit>​Mobilna aplikacija ​je izrađena ​programskom okruženju Android Studio. Minimalna potrebna verzija Androida za aplikaciju je 4.4.0 KitKat ​(API 19) te korisnik mora posjedovati uređaj s tim specifikacijama (oko 75% današnjih aktivnih uređaja). Mobilna aplikacija ​se sastoji od početnog ekrana ​koji se otvara pri pokretanju aplikacije i 4 ekrana koji služe za konfiguraciju i upravljanje sustavom. Pomoću aplikacije ​korisnik ​pristupa video prijenosu uživo, podešava i prati stanje hranilice, upravlja laserom i/ili izbacivačem loptice i podešava postavke detektora buke. Svakoj od prethodno navedenim funkcijama korisnik pristupa pritiskom ​na jedan od 4 gumba na početnom ekranu.</​font>​+<​font ​14px/Arial,​Helvetica,​sans-serif;;​inherit;;​inherit>​Aplikacija podatke do sustava prenosi putem FTP servera koji je pokrenut na Raspberry Pi-u (koji serijskom vezom šalje podatke do Arduino-a). Za spajanje na server izrađen je FTP klijent u aplikaciji. Datoteke koje se FTP protokolom prenose su u JSON formatu ​koji je odabran zbog jednostavnosti razmjene. Kako bi se korisnik ​uspješno spojio ​na FTP server potrebno je da na početnom ekranu ​aplikacije definira je li spojen na javnu IP adresu ili lokalnu FTP servera.</​font>​
  
-\\+<font 14px/​Arial,​Helvetica,​sans-serif;;​inherit;;​inherit>​Detaljniji opis rješenja nalazi se u dokumentaciji i kodu projekta PetCare.</​font>​
  
  
2019/studenti/igredicak/start.1560382716.txt.gz · Zadnja izmjena: 2023/06/19 18:10 (vanjsko uređivanje)