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 00:39]
ig49146 [Projektni zadatak]
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 81: Redak 82:
  
 2. Izrada Android mobilne aplikacije za konfiguraciju i upravljanje PetCare sustavom 2. Izrada Android mobilne aplikacije za konfiguraciju i upravljanje PetCare sustavom
- 
  
 ===== Svrha sustava ===== ===== Svrha sustava =====
Redak 95: 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 121: Redak 124:
 |13.6.|Prezentacija sustava| |13.6.|Prezentacija sustava|
  
-\\+===== Rezultati projekta ===== 
 + 
 +<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>​ 
 + 
 +<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 i najmanje trajanje nakon kojeg stiže obavijest (odabiru se pomoću klizača).</​font>​ 
 + 
 +<font 14px/​Arial,​Helvetica,​sans-serif;;​inherit;;​inherit>​Osim prethodno opisanih vidljivih ekrana aplikacija u pozadini svakih 75 sekundi ažurira stanje sustava. U slučaju promjene stanja sustava (detektirane buke ili greške) korisniku stiže obavijest u okviru za obavijesti na njegovom uređaju.</​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.1560379164.txt.gz · Zadnja izmjena: 2023/06/19 18:10 (vanjsko uređivanje)