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.