9.3. Le câble et la trame

Les deux couches les plus basses de la pile sont les plus faciles à considérer comme acquises sur la caméra, car tout ce qu’elles font se passe à l’intérieur de la puce et la caméra les gère sans qu’aucun code Python ne soit impliqué. Elles méritent tout de même un bref aperçu, car elles expliquent ce que signifie « réseau local » et où commence la frontière avec le reste de l’infrastructure.

9.3.1. La couche physique

La couche la plus basse est la signalisation proprement dite – les fils, les fibres optiques ou les ondes radio qui transportent les bits entre deux appareils. L’Ethernet sur câble à paires torsadées encode chaque bit comme une transition de tension à un débit fixe. Le Wi-Fi module les mêmes bits sur une porteuse radio dans la bande des 2,4 GHz ou 5 GHz. Tous deux produisent un flux de chiffres binaires entre deux éléments matériels ; tous deux relèvent du genre de détail que le silicium de la caméra gère sans que le logiciel ait à s’en soucier.

Du point de vue d’un script Python, la couche physique correspond à « la liaison est active » ou « la liaison est inactive ». Le module network rend compte de cet état via sa méthode isconnected() sur l’interface Wi-Fi et via l’état de la liaison sur une interface Ethernet filaire. Au-delà de cela, tout le reste du travail de cette couche est masqué.

9.3.3. Ce que la caméra expose

La caméra possède une adresse MAC pour chacune de ses interfaces réseau – une adresse Wi-Fi si la caméra prend en charge le sans fil, une adresse Ethernet si la carte dispose du port correspondant. Le module network y donne accès via network_interface.config("mac") sur l’objet d’interface utilisé par l’application, lorsqu’elle a besoin de lire l’adresse. Certaines applications en ont besoin, par exemple pour enregistrer l’appareil auprès d’un système de gestion de parc. Sinon, c’est le seul réglage que la couche liaison confie à Python.

Tout le reste – l’encadrement, le trafic MAC réel sur le fil ou dans les airs, la négociation entre la caméra et le point d’accès quant au canal et au débit à utiliser – se déroule entièrement à l’intérieur du matériel sans fil ou Ethernet. La page suivante couvre le seul endroit où un script Python a effectivement son mot à dire dans la couche liaison : indiquer à la caméra quel réseau rejoindre.