สถาปัตยกรรมประมวลผลคู่ (Dual-Compute Sensory Architecture)
ถ้าน้องจะทำระบบตรวจจับผู้บุกรุกแบบมืออาชีพเนี่ย น้องต้องรู้จักแยกส่วนการประมวลผลให้เป็นอิสระจากกันแล้วค่อยส่งข้อมูลเข้าส่วนกลางนะ โปรเจกต์นี้พี่เลยดีไซน์มาให้เหมือนกับระบบที่เค้าใช้ในเชิงพาณิชย์เลย โดยการแบ่งโหลดงานระหว่างตัวแรงฝั่ง Linux อย่าง Raspberry Pi 3 B+ ที่ทำหน้าที่เป็น Master คอยสั่งการ และคุยผ่าน Serial ไปยังตัวลุยฝั่ง Peripheral อย่าง Arduino Mega 2560 ที่รับบทเป็น Slave คอยคุมพวกอุปกรณ์รอบนอก
เจ้า Arduino Mega จะรับหน้าที่จัดการเรื่อง Delay และคอยอ่านค่า Boolean จาก Sensor วัดระยะ HC-SR04 แบบ Real-time ได้นิ่งๆ โดยไม่ต้องกลัวเรื่อง Thread blocking (อาการโค้ดค้าง) เลย ส่วนฝั่งพี่ใหญ่ Raspberry Pi ก็จะรัน Script Python แบบ Asynchronous เท่ๆ คอยจัดการเรื่องการส่งข้อมูลผ่าน HTTP และประมวลผลภาพ Bandwidth สูงๆ จาก Module กล้องที่ต่อผ่านพอร์ต CSI (Camera Serial Interface) นั่นเอง
ข้อจำกัดของรุ่น Prototype B1-A (จำไว้ให้ดีนะน้อง)
อุปสรรคสำคัญที่ทำให้ระบบ Security ที่เราเขียน Logic ขึ้นมาเองมันเอาไปใช้จริงลำบาก ก็คือเรื่องของความร้อน (Thermal Throttling) เวลาเราดึงภาพจาก Video Frame มาประมวลผลต่อเนื่อง และอีกเรื่องคือการจัดสรรพื้นที่วางอุปกรณ์ที่มันโคตรจะเบียดเสียดเลย
เพราะโครงสร้างนี้บังคับว่าต้องเชื่อมต่อ USB UART เพื่อทำ Serial Handshake กันระหว่าง Raspberry Pi (Master) และ ATmega (Slave) แถมยังต้องดึงไฟจาก USB 5V ของตัว Raspberry Pi มาเลี้ยงพวก Logic Gates ฝั่ง Atmel โดยตรงอีก การจัดทางสายไฟ (Wire routing) และการยัดทุกอย่างลงกล่อง (Enclosure) เลยเป็นงานที่เข็นครกขึ้นภูเขาพอสมควร และที่สำคัญคือเรื่องความร้อนของ CPU Broadcom นะน้อง ถ้าต้องรัน Linux เพื่อดึง Frame-buffer จาก Camera Module นานๆ พี่แนะนำว่าต้องจัด Heatsink เต็มสูบ ไม่งั้นเครื่องอืดจนงานไม่เดินแน่นอน! จัดไปวัยรุ่น!