• Rezultati Niso Bili Najdeni

Tehnologije za zajem in prenos slike

Zajem in prenos slike sta ključna dela sistema, implementirana sta s pomočjo programskih jezikov JavaScript in Python. Za prenos slike je poskrbel proto-kol spletnih vtičnic. Zajete slike so kodirane v formatu MJPEG, ki omogoča zanesljiv in kakovosten zajem ter prenos slike preko spleta v živo.

3.4.1 Kodiranje slike

Za prenos in pregled video signala je v uporabi veliko različnih formatov. Ko zajamemo posamezne slike v video prenosu, se lahko sproti kodirajo v različne formate, ki nam omogočajo lažji in hitrejši prenos z manjšo velikostjo in čim manjšo izgubo kakovosti.

Večina modernih naprav pri svojem delovanju uporablja kodiranje H.264, ki ima veliko prednosti, saj omogoča sprotno stiskanje na strani kamere, kar omogoča manjšo uporabo povezave, ki je potem na voljo ostali komunika-ciji. H.264 omogoča tudi prilagodljivo kakovost slike glede na pasovno širino povezave, v primeru, če želimo posnetek tudi shranjevati, nam to kodiranje omogoča nižjo porabo pomnilnika.

Drugo kodiranje, ki bi v primeru pošiljanja toka slik prišlo v poštev, je format MJPEG, ki pa za razliko od H.264 omogoča pošiljanje vsake zajete slike posebej, kar nam omogoča zajem kakovostnejših posnetkov in zagotovi robustnejše oddajanje toka slik, saj se lahko ob napaki slika izgubi, kar pa ne vpliva na prenos toka slik [7]. Glavni slabosti tega formata pa sta velika poraba pasovne širine povezave, kar lahko ob omejeni povezavi vpliva na kakovost prenosa toka slik oziroma delovanje drugih porabnikov te povezave.

Druga slabost je shranjevanje, saj ta format zelo težko shranjujemo oziroma je to v nekaterih primerih nemogoče, saj bi morala biti vsaka slika shranjena posebej.

V sistemu se je za prenos slike izbral format MJPEG. Ta format je bil iz-bran na podlagi svoje zanesljivosti, saj se lahko med prenosom slike izgubijo, kar pa ne vpliva na samo delovanje. Problem shranjevanja pri tem formatu

Diplomska naloga 19 v trenutnem sistemu ni težaven, saj se slike ne hranijo.

3.4.2 Protokol spletnih vtičnic

Komunikacijski protokoli na internetu v večini primerov komunicirajo s po-vezavo brez stanj (angl. stateless), kar pomeni, da se vsaka zahteva pošlje posebej, vendar tako pošiljanje ni ugodno za komunikacijo, kjer želimo po-datke prenašati v živo.

Kadar želimo neprestano pošiljati podatke med odjemalcem in strežni-kom, lahko v ta namen uporabimo povezavo s stanji (angl. stateful) [9].

Najbolj uporabljen predstavnik povezave s stanji je protokol spletnih vtičnic (angl. Web Sockets). Spletne vtičnice omogočajo stalno dvosmerno povezavo (angl. Full-duplex) med odjemalcem in strežnikom. Nastavitev za način pre-nosa preko vtičnic se opravi med začetno vzpostavitvijo komunikacije med povezanima napravama. Privzeta vrednost za komunikacijo so vrata 80 in 443, kar omogoča delovanje brez blokiranja na ravni požarnega zidu [6].

Predhodnika komunikacije preko spletnih vtičnikov sta bila pozivni prenos (angl. Polling) in prenos preko stalne povezave HTTP.

Pozivni način [1] je deloval tako, da je za vsak poslan paket vzpostavil novo povezavo. Stalno vzpostavljanje nove povezave za prenos enega paketa je zelo neučinkovita izraba mrežne povezave.

Učinkovitejši način prenosa je bila uporaba prenosa HTTP, pri čemer je bila povezava ves čas odprta. V tem načinu se preko že vzpostavljene povezave kadarkoli pošlje nov paket. Problem takšnega načina delovanja pa je nezanesljivost zaradi morebitnih napak v predpomnjenju zaradi nezaključene povezave.

V sistemu je protokol spletnih vtičnic izbran zato, da se lahko tok slik prenaša ves čas. Zaradi komunikacije z dvosmerno povezavo lahko med pre-nosom toka slik uporabnik hkrati nadzoruje izhode na RPi.

20 Urban Matko

Poglavje 4

Realizacija sistema

V naslednjih podpoglavjih je opisana izvedba sistema. V prvem delu je pred-stavljena izvedba strojnega dela. Opisana je konfiguracija RPi, priklopi vho-dno/izhodnih naprav. V drugem delu sledi opis izvedbe programskega dela.

Predstavljena je struktura sistema in zgradba posameznih programskih kom-ponent. Zadnji del opisuje dodatne procese, ki omogočajo hitrejšo ter ličnejšo izvedbo sistema. Sistem je bil razvit hitreje z uporabo upravljanja različic ker smo bili brez skrbi glede izgube napredka v primeru napake. Sistem je lično zapakiran v zaključeno celoto s pomočjo izdelanega ohišja, ki skrbi tako za zaščito komponent, kot tudi za končni videz.

4.1 Izvedba strojnega dela

Strojna oprema končnega izdelka je sestavljena iz dveh pomembnejših ele-mentov. Jedro sistema je mikroračunalnik RPi4, na katerega je priključena združljiva kamera preko namenskega priključka.

S pomočjo kamere in programa se zajema tok slik, ki se nato pošilja v prikaz uporabniku. RPi poganja tudi spletni strežnik, ki servira uporabniški vmesnik in nadzoruje izhode na podlagi uporabnikovega vnosa.

21

22 Urban Matko

4.1.1 Konfiguracija strojne opreme

RPi je celovit računalnik in za svoje delovanje potrebuje operacijski sistem, imenovan Raspberry Pi OS. Prva naloga je bila instalacija operacijskega sis-tema. RPi za sekundarni pomnilnik uporablja pomnilniško kartico mikro SD, na katero se zapiše operacijski sistem.

Za začetno konfiguracijo je bilo treba priključiti zaslon, preko povezave Bluetooth povezati miško in tipkovnico ter vzpostaviti povezavo do spleta preko vmesnika WIFI. Sprva je bilo treba omogočiti vmesnike, preko katerih je lahko RPi komuniciral. Obvezno je bilo treba vključiti komunikacijo preko priključka za kamero ter omogočiti protokol SSH za možnost konfiguracije in spreminjanja datotek preko oddaljenega računalnika. Zaradi praktičnosti uporabe grafičnega vmesnika je bil omogočen še VNC strežnik, ki omogoča oddaljen dostop preko grafičnega vmesnika.

4.1.2 Priklop strojne opreme

Za osnovno demonstracijo uporabe sistema sta bila na RPi v uporabi le dva izhodna priključka. Uporabljena sta bila priključka: GPIO 4 za upravljanje izhoda in GPIO 17 za upravljanje servomotorja. Servomotor za delovanje potrebuje dodatno napajanje, ki je bilo pridobljeno s priključka VCC, ki omogoča napajanje s 5 V. Prikaz priključitve je prikazan na sliki 4.1.

Diplomska naloga 23

Slika 4.1: Povezava strojne opreme