9.3. Kabel dan bingkai

Dua lapisan terendah dari tumpukan jaringan adalah yang paling mudah diabaikan pada kamera, karena semua yang mereka lakukan terjadi di dalam chip dan kamera menanganinya tanpa kode Python apa pun yang terlibat. Namun tetap layak untuk ditinjau secara singkat, karena keduanya menjelaskan apa yang dimaksud dengan "jaringan lokal" dan di mana batas menuju infrastruktur lainnya dimulai.

9.3.1. Lapisan fisik

Lapisan terbawah adalah pensinyalan sebenarnya -- kabel, serat optik, atau gelombang radio yang membawa bit antara dua perangkat. Ethernet melalui kabel twisted-pair mengodekan setiap bit sebagai transisi tegangan pada laju tetap. Wi-Fi memodulasi bit yang sama ke pembawa radio di pita 2,4 GHz atau 5 GHz. Keduanya menghasilkan aliran digit biner antara dua perangkat keras; keduanya merupakan detail yang ditangani oleh silikon kamera tanpa perangkat lunak perlu memikirkannya.

Dari perspektif skrip Python, lapisan fisik adalah "tautan aktif" atau "tautan tidak aktif". Modul network melaporkan status tersebut melalui metode isconnected() pada antarmuka Wi-Fi dan melalui status tautan pada antarmuka Ethernet berkabel. Selain itu, semua yang dilakukan lapisan ini tersembunyi.

9.3.3. Yang diekspos kamera

Kamera memiliki alamat MAC untuk setiap antarmuka jaringan yang dimilikinya -- satu Wi-Fi jika kamera mendukung nirkabel, satu Ethernet jika papan memiliki port yang sesuai. Modul network memberikan akses ke alamat tersebut melalui network_interface.config("mac") pada objek antarmuka mana pun yang digunakan aplikasi, saat perlu membaca alamat tersebut. Beberapa aplikasi memerlukannya, misalnya untuk mendaftarkan perangkat dengan sistem manajemen armada. Selain itu, inilah satu-satunya kenop yang diserahkan lapisan tautan ke Python.

Semua hal lainnya -- pembingkaian, lalu lintas MAC aktual di kabel atau udara, negosiasi antara kamera dan titik akses tentang saluran dan laju yang akan digunakan -- sepenuhnya terjadi di dalam perangkat keras nirkabel atau Ethernet. Halaman berikutnya membahas satu tempat di mana skrip Python memang memiliki peran dalam lapisan tautan: memberi tahu kamera jaringan mana yang harus diikuti.