9.3. De kabel en het frame

De twee laagste lagen van de stack zijn op de camera het gemakkelijkst om als vanzelfsprekend te beschouwen, omdat alles wat ze doen binnen de chip gebeurt en de camera ze afhandelt zonder dat er Python-code bij betrokken is. Toch zijn ze een korte rondleiding waard, omdat ze verklaren wat “lokaal netwerk” betekent en waar de grens met de rest van de infrastructuur begint.

9.3.1. De fysieke laag

De onderste laag is de eigenlijke signalering – de draden, glasvezels of radiogolven die bits tussen twee apparaten vervoeren. Ethernet over getwiste-paarkabels codeert elk bit als een spanningsovergang met een vaste snelheid. Wi-Fi moduleert dezelfde bits op een radiodraaggolf in de 2,4 GHz- of 5 GHz-band. Beide produceren een stroom binaire cijfers tussen twee stukken hardware; beide zijn het soort detail dat het silicium van de camera afhandelt zonder dat de software erover hoeft na te denken.

Vanuit het perspectief van een Python-script is de fysieke laag “de verbinding is actief” of “de verbinding is verbroken”. De network-module rapporteert die status via de isconnected()-methode op de Wi-Fi-interface en via de verbindingsstatus op een bekabelde Ethernet-interface. Daarbuiten blijft al het andere wat deze laag doet verborgen.

9.3.3. Wat de camera blootstelt

De camera heeft een MAC-adres voor elke netwerkinterface die hij heeft – een Wi-Fi-adres als de cam draadloze ondersteuning heeft, een Ethernet-adres als het bord de bijbehorende poort heeft. De network-module geeft er toegang toe via network_interface.config("mac") op welk interface-object de applicatie ook gebruikt, wanneer ze het adres moet uitlezen. Sommige applicaties moeten dat, bijvoorbeeld om het apparaat te registreren bij een vlootbeheersysteem. Anders is dit de enige knop die de link-laag aan Python overlaat.

Al het andere – framing, het eigenlijke MAC-verkeer over de draad of door de lucht, de onderhandeling tussen de camera en het toegangspunt over welk kanaal en welke snelheid te gebruiken – gebeurt volledig binnen de draadloze of Ethernet-hardware. De volgende pagina behandelt de ene plek waar een Python-script wel iets te zeggen heeft in de link-laag: de camera vertellen bij welk netwerk hij zich moet aansluiten.