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
Novija izmjena Novije izmjene na obje strane
2019:studenti:igredicak:start [2019/06/13 01:40]
ig49146 [Rezultati projekta]
2019:studenti:igredicak:start [2019/06/13 02:00]
ig49146 [Članovi Tima]
Redak 3: Redak 3:
 ===== Članovi Tima ===== ===== Članovi Tima =====
  
-Matteo Samsa+[[:​2019:​matteo_samsa|Matteo Samsa]]
  
 Ivan Matković 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>​
  
-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 projektaFormat video prijenosa uživo je MJPEG, rezolucija je namještena na 320×240, dok je framerate 10. Navedene vrijednosti su mijenjane tijekom projekta ​konačne vrijednosti su odabrane prema kompromisu kvalitete slike 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 ​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 (englport 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 14px/​Arial,​Helvetica,​sans-serif;;​inherit;;​inherit>​Ekran hranilice ​služi ​kako bi korisnik uključio ili isključio ukupno 5 fiksnih dnevnih termina hranjenjaOsim uključivanja ​isključivanja korisnik unosi masu (u gramima) ​spremnik ​(ukupno 3 spremnika), kao pozitivan broj te sate 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 trenutno hranjenje gdje korisnik ​unosi masu i spremnik i pritiskom na gumb šalje zahtjev za hranjenjeNa ekranu su prikazane i greške sustava poput praznih spremnika ili mehaničkih grešaka.</​font>​
  
-2.+<font 14px/​Arial,​Helvetica,​sans-serif;;​inherit;;​inherit>​Ekran za upravljanjem laserom i izbacivačem služi za zabavu kućnog ljubimcaNa 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>​
  
-<​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 ​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 detektora buke služi da korisnik pomoć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>​
  
-<​font ​11pt/Calibri,​sans-serif;;​inherit;;​inherit>​Ekran za video prijenos služi vizualnom uvidu u stanje ​ljubimcaIzvrš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>​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 ​inherit/Calibri,​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ćsklopki uključuje i isključuje laser i izbacivač. Za laser su dostupne komande za mijenjanje pozicijaPromjena pozicije ​se izvršava pritiskom ​na jedan od 4 gumba koja označavaju smjer.</​font>​+<​font ​14px/Arial,​Helvetica,​sans-serif;;​inherit;;​inherit>​Aplikacija podatke do sustava prenosi putem FTP servera koji je pokrenut ​na Raspberry Pi-(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 razmjeneKako 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>​
  
  
2019/studenti/igredicak/start.txt · Zadnja izmjena: 2023/06/19 18:11 (vanjsko uređivanje)