9.3. El cable y la trama

Las dos capas más bajas de la pila son las más fáciles de dar por sentadas en la cámara, porque todo lo que hacen ocurre dentro del chip y la cámara las gestiona sin que intervenga ningún código Python. Aun así, merece la pena hacer un breve recorrido por ellas, porque explican qué significa «red local» y dónde empieza el límite con el resto de la infraestructura.

9.3.1. La capa física

La capa inferior es la señalización propiamente dicha: los cables, las fibras ópticas o las ondas de radio que transportan los bits entre dos dispositivos. Ethernet sobre cables de par trenzado codifica cada bit como una transición de voltaje a una tasa fija. El Wi-Fi modula esos mismos bits sobre una portadora de radio en la banda de 2,4 GHz o 5 GHz. Ambos producen un flujo de dígitos binarios entre dos piezas de hardware; ambos son la clase de detalle que el silicio de la cámara gestiona sin que el software tenga que pensar en ello.

Desde la perspectiva de un script de Python, la capa física es «el enlace está activo» o «el enlace está caído». El módulo network informa de ese estado a través de su método isconnected() en la interfaz Wi-Fi y a través del estado del enlace en una interfaz Ethernet cableada. Más allá de eso, todo lo demás que hace esta capa permanece oculto.

9.3.3. Lo que expone la cámara

La cámara tiene una dirección MAC por cada interfaz de red que posee: una Wi-Fi si la cámara cuenta con soporte inalámbrico, y una Ethernet si la placa dispone del puerto correspondiente. El módulo network da acceso a ella mediante network_interface.config("mac") sobre el objeto de interfaz que esté usando la aplicación, cuando necesita leer la dirección. Algunas aplicaciones lo necesitan, por ejemplo para registrar el dispositivo en un sistema de gestión de flota. Por lo demás, este es el único control que la capa de enlace cede a Python.

Todo lo demás – el encapsulado en tramas, el tráfico MAC real en el cable o en el aire, la negociación entre la cámara y el punto de acceso sobre qué canal y velocidad usar – ocurre por completo dentro del hardware inalámbrico o Ethernet. La siguiente página cubre el único lugar donde un script de Python sí tiene voz en la capa de enlace: indicarle a la cámara a qué red unirse.