9.3. สายเคเบิลและเฟรม

สองชั้นล่างสุดของสแต็กเป็นชั้นที่ง่ายที่สุดที่จะมองข้ามบนกล้อง เพราะทุกอย่างที่ทำนั้นเกิดขึ้นภายในชิปและกล้องจัดการให้โดยไม่ต้องใช้โค้ด Python ใดๆ แต่ก็ยังคุ้มค่าที่จะทำความเข้าใจโดยย่อ เพราะชั้นเหล่านี้อธิบายความหมายของ "เครือข่ายท้องถิ่น" และขอบเขตที่เชื่อมต่อกับโครงสร้างพื้นฐานที่เหลืออยู่ที่ใด

9.3.1. ชั้นกายภาพ

ชั้นล่างสุดคือการส่งสัญญาณจริง ได้แก่ สายไฟ เส้นใยแก้วนำแสง หรือคลื่นวิทยุที่พาบิตระหว่างอุปกรณ์สองชิ้น Ethernet ผ่านสายคู่บิดเกลียวเข้ารหัสแต่ละบิตเป็นการเปลี่ยนแปลงแรงดันไฟฟ้าที่อัตราคงที่ Wi-Fi มอดูเลตบิตเดิมไปยังคลื่นพาหะวิทยุในย่านความถี่ 2.4 GHz หรือ 5 GHz ทั้งสองผลิตกระแสของตัวเลขฐานสองระหว่างฮาร์ดแวร์สองชิ้น และทั้งสองเป็นรายละเอียดที่ซิลิกอนของกล้องจัดการโดยไม่ต้องให้ซอฟต์แวร์คิดถึง

จากมุมมองของสคริปต์ Python ชั้นกายภาพคือ "ลิงก์ทำงานอยู่" หรือ "ลิงก์ไม่ทำงาน" โมดูล network รายงานสถานะนั้นผ่านเมธอด isconnected() บนอินเทอร์เฟซ Wi-Fi และผ่านสถานะลิงก์บนอินเทอร์เฟซ Ethernet แบบมีสาย นอกจากนี้ทุกอย่างที่ชั้นนี้ทำจะถูกซ่อนไว้

9.3.3. สิ่งที่กล้องเปิดเผย

กล้องมีที่อยู่ MAC สำหรับแต่ละอินเทอร์เฟซเครือข่ายที่มี ไม่ว่าจะเป็น Wi-Fi หากกล้องรองรับไร้สาย หรือ Ethernet หากบอร์ดมีพอร์ตที่ตรงกัน โมดูล network ให้การเข้าถึงผ่าน network_interface.config("mac") บนออบเจ็กต์อินเทอร์เฟซที่แอปพลิเคชันใช้อยู่ เมื่อต้องอ่านที่อยู่ บางแอปพลิเคชันจำเป็นต้องทำ เช่น เพื่อลงทะเบียนอุปกรณ์กับระบบจัดการฝูง ในกรณีอื่นๆ นี่คือปุ่มเดียวที่ชั้นลิงก์มอบให้ Python

ทุกอย่างอื่น ไม่ว่าจะเป็นการจัดเฟรม ทราฟฟิก MAC จริงบนสายหรืออากาศ การเจรจาระหว่างกล้องและจุดเชื่อมต่อเกี่ยวกับช่องสัญญาณและอัตราที่จะใช้ ล้วนเกิดขึ้นภายในฮาร์ดแวร์ไร้สายหรือ Ethernet ทั้งหมด หน้าถัดไป ครอบคลุมสถานที่เดียวที่สคริปต์ Python มีส่วนร่วมในชั้นลิงก์ นั่นคือการบอกกล้องว่าควรเข้าร่วมเครือข่ายใด