9.3. O cabo e o fotograma

As duas camadas mais baixas da pilha são as mais fáceis de ignorar na câmara, porque tudo o que fazem acontece dentro do chip e a câmara trata delas sem que qualquer código Python esteja envolvido. Ainda assim, merecem uma breve visita, pois explicam o que significa «rede local» e onde começa a fronteira para o resto da infraestrutura.

9.3.1. A camada física

A camada inferior é a sinalização em si — os fios, fibras óticas ou ondas de rádio que transportam bits entre dois dispositivos. O Ethernet sobre cabos de par entrançado codifica cada bit como uma transição de tensão a uma taxa fixa. O Wi-Fi modula os mesmos bits numa portadora de rádio na banda dos 2,4 GHz ou 5 GHz. Ambos produzem um fluxo de dígitos binários entre dois equipamentos de hardware; ambos são o tipo de detalhe que o silício da câmara gere sem que o software precise de se preocupar.

Da perspetiva de um script Python, a camada física é «a ligação está ativa» ou «a ligação está inativa». O módulo network reporta esse estado através do método isconnected() na interface Wi-Fi e através do estado da ligação numa interface Ethernet com fios. Para além disso, tudo o que esta camada faz está oculto.

9.3.3. O que a câmara expõe

A câmara possui um endereço MAC para cada interface de rede que tem — um Wi-Fi se a câmara tem suporte sem fios, um Ethernet se a placa tem a porta correspondente. O módulo network dá acesso a ele através de network_interface.config("mac") no objeto de interface que a aplicação está a usar, quando necessita de ler o endereço. Algumas aplicações precisam disso, por exemplo para registar o dispositivo num sistema de gestão de frota. Caso contrário, este é o único controlo que a camada de ligação cede ao Python.

Tudo o resto — o enquadramento, o tráfego MAC efetivo no fio ou no ar, a negociação entre a câmara e o ponto de acesso sobre qual canal e taxa usar — acontece inteiramente dentro do hardware sem fios ou Ethernet. A página seguinte aborda o único ponto onde um script Python tem influência na camada de ligação: indicar à câmara a que rede se deve juntar.