9.3. Kabel i sličica#

Dva najniža sloja stoga najlakše je uzeti zdravo za gotovo na kameri, jer se sve što oni rade odvija unutar čipa, a kamera ih obrađuje bez ikakvog Python koda. Ipak ih vrijedi ukratko obići, jer objašnjavaju što znači „lokalna mreža” i gdje počinje granica prema ostatku infrastrukture.

9.3.1. Fizički sloj#

Najniži sloj je samo signaliziranje – žice, optička vlakna ili radio valovi koji prenose bitove između dva uređaja. Ethernet preko upletenih parica kodira svaki bit kao naponski prijelaz pri fiksnoj brzini. Wi-Fi modulira iste bitove na radio nosioca u pojasu od 2,4 GHz ili 5 GHz. Oba proizvode niz binarnih znamenki između dva komada hardvera; oba su upravo onaj tip detalja koji silicij kamere obrađuje, a da softver o tome ne mora razmišljati.

Iz perspektive Python skripte fizički sloj je „veza je uspostavljena” ili „veza je prekinuta”. Modul network izvještava o tom stanju putem svoje metode isconnected() na Wi-Fi sučelju te putem statusa veze na žičanom Ethernet sučelju. Sve ostalo što ovaj sloj radi skriveno je.

9.3.3. Što kamera izlaže#

Kamera ima MAC adresu za svako mrežno sučelje koje posjeduje – Wi-Fi adresu ako kamera ima bežičnu podršku, Ethernet adresu ako pločica ima odgovarajući priključak. Modul network omogućuje pristup njoj putem network_interface.config("mac") na onom objektu sučelja koje aplikacija koristi, kada treba pročitati adresu. Nekim aplikacijama to je potrebno, na primjer kako bi registrirale uređaj u sustavu za upravljanje flotom. Inače je to jedina poluga koju sloj veze predaje Pythonu.

Sve ostalo – oblikovanje sličica, sam MAC promet na žici ili u zraku, pregovaranje između kamere i pristupne točke o tome koji kanal i brzinu koristiti – odvija se u potpunosti unutar bežičnog ili Ethernet hardvera. Sljedeća stranica pokriva jedino mjesto na kojem Python skripta ipak ima utjecaj na sloj veze: govorenje kameri kojoj se mreži treba pridružiti.