9.3. Kabel a rámec

Dvě nejnižší vrstvy zásobníku jsou na kameře nejsnáze přehlédnutelné, protože vše, co dělají, se odehrává uvnitř čipu a kamera je obstará bez jakéhokoli zásahu kódu v Pythonu. Přesto stojí za to si je krátce projít, protože vysvětlují, co znamená „místní síť“ a kde začíná hranice se zbytkem infrastruktury.

9.3.1. Fyzická vrstva

Nejnižší vrstvou je samotné přenášení signálu – vodiče, optická vlákna nebo rádiové vlny, které přenášejí bity mezi dvěma zařízeními. Ethernet po kroucené dvojlince kóduje každý bit jako přechod napětí s pevnou rychlostí. Wi-Fi tytéž bity moduluje na rádiovou nosnou v pásmu 2,4 GHz nebo 5 GHz. Obojí mezi dvěma kusy hardwaru produkuje proud binárních číslic; obojí je druh detailu, který křemík kamery zvládne, aniž by o tom software musel přemýšlet.

Z pohledu skriptu v Pythonu je fyzická vrstva buď „spoj je aktivní“, nebo „spoj je neaktivní“. Modul network tento stav hlásí prostřednictvím své metody isconnected() na rozhraní Wi-Fi a prostřednictvím stavu spoje na drátovém ethernetovém rozhraní. Kromě toho je vše ostatní, co tato vrstva dělá, skryté.

9.3.3. Co kamera zpřístupňuje

Kamera má MAC adresu pro každé síťové rozhraní, které má – jednu pro Wi-Fi, pokud má kamera bezdrátovou podporu, a jednu pro Ethernet, pokud má deska odpovídající port. Modul network k ní poskytuje přístup přes network_interface.config("mac") na tom rozhraní, které aplikace používá, když potřebuje adresu přečíst. Některé aplikace to potřebují, například k registraci zařízení v systému pro správu flotily zařízení. Jinak je to jediný ovládací prvek, který linková vrstva předává Pythonu.

Vše ostatní – skládání do rámců, vlastní MAC provoz na drátu nebo ve vzduchu, vyjednávání mezi kamerou a přístupovým bodem o tom, který kanál a rychlost použít – se odehrává zcela uvnitř bezdrátového nebo ethernetového hardwaru. Další stránka pokrývá jediné místo, kde skript v Pythonu do linkové vrstvy zasahuje: říká kameře, k jaké síti se má připojit.