สร้างกลอนประตูอัจฉริยะ (Intelligent Door Lock) ด้วย Raspberry Pi และ AWS สั่งเปิดด้วย Alexa!

เรื่องความปลอดภัยและความสะดวกสบายเป็นของคู่กันในยุคสมาร์ทโฮมครับ ลองจินตนาการดูว่า ถ้ามีแขกมารอหน้าบ้านตอนที่คุณอยู่ข้างนอก หรือตอนที่คุณกำลังยุ่งอยู่หน้าโต๊ะทำงาน แล้วคุณสามารถรู้ได้ทันทีว่าใครมา แถมยังสั่งเปิดประตูให้พวกเขาเข้ามาได้ง่ายๆ เพียงแค่เอ่ยปากถามผู้ช่วยส่วนตัวอย่าง Alexa... ฟังดูล้ำสุดๆ ไปเลยใช่ไหมล่ะครับ?

วันนี้เราจะพาเพื่อนๆ ชาว Maker ไปแกะรอยโปรเจกต์ Intelligent Door Lock ของคุณ Taifur ที่สามารถจดจำใบหน้าของแขก กล่าวทักทายแขกด้วยชื่อ แจ้งเตือนเจ้าของบ้าน และเรายังสามารถถาม Alexa ได้เลยว่า "Alexa, ใครอยู่ที่หน้าประตู?" แล้วสั่งให้เปิดประตูได้ทันที!

โปรเจกต์ Intelligent Door Lock
ภาพปก: ระบบกลอนประตูอัจฉริยะที่ทำงานร่วมกับ Alexa

อุปกรณ์ฮาร์ดแวร์ที่ต้องใช้ (Things)

โปรเจกต์นี้เป็นการผสมผสานระหว่างระบบสมองกลฝังตัวและบริการคลาวด์จาก Amazon Web Services (AWS) โดยอุปกรณ์หลักๆ ประกอบไปด้วย:

  • บอร์ดไมโครคอนโทรลเลอร์ Arduino UNO จำนวน 1 บอร์ด
  • บอร์ดคอมพิวเตอร์ขนาดเล็ก Raspberry Pi 3 Model B (ใช้รุ่น Zero, Pi 1 หรือ Pi 2 ก็ได้)
  • โมดูลกล้อง Raspberry Pi Camera Module
  • เซอร์โวมอเตอร์ (Tower Pro MG996R) สำหรับใช้ดึงสลักกลอนประตู
  • ลำโพง (0.25W, 8 ohms) และโมดูลขยายเสียง (SparkFun Mono Audio Amp Breakout - TPA2005D1)
  • สวิตช์ปุ่มกด (Pushbutton switch 12mm) สำหรับให้แขกกดเรียก
💡 Globalbyte Trick: โปรเจกต์แนว Smart Home ที่ต้องเชื่อมต่อกล้อง เซนเซอร์ และประมวลผลอินเทอร์เน็ต บอร์ด Raspberry Pi และ Arduino คือคู่หูพระเอกตัวจริงครับ! หากเพื่อนๆ กำลังมองหาบอร์ดไมโครคอนโทรลเลอร์ กล้อง หรือชิ้นส่วนอิเล็กทรอนิกส์คุณภาพเยี่ยม แวะมาเลือกช้อปสินค้าที่ร้าน Globalbyte ของเราได้เลยครับ เรามีของให้สายประดิษฐ์เพียบ!

ระบบมันทำงานยังไง? (Work Flow)

ระบบนี้ถูกออกแบบมาให้ทำงานประสานกันอย่างลงตัวข้ามแพลตฟอร์มครับ มาดูกันว่าเมื่อมีคนมากดกริ่งหน้าบ้าน จะเกิดกระบวนการอะไรขึ้นบ้าง:

  1. เมื่อแขกกดปุ่มเรียก Raspberry Pi จะสั่งให้โมดูลกล้องถ่ายภาพใบหน้าของแขก แล้วอัปโหลดรูปนั้นขึ้นไปเก็บบนคลาวด์ AWS S3 Bucket ทันที
  2. ระบบจะส่งรูปผ่านอีเมล (Email) และส่งการแจ้งเตือน (Notification) ไปที่มือถือของเจ้าของบ้านผ่าน AWS SNS
  3. Raspberry Pi จะส่งข้อความต้อนรับไปแปลงเป็นไฟล์เสียงด้วยระบบ AWS Polly และเล่นเสียงทักทายแขกออกทางลำโพงหน้าประตู
  4. เมื่อเจ้าของบ้านได้รับแจ้งเตือน ก็สามารถถามสไปกเกอร์อัจฉริยะว่า "Alexa, ask door guard who is at the front door?"
  5. Alexa จะไปเรียกใช้ฟังก์ชัน AWS Lambda เพื่อนำรูปใน S3 ไปวิเคราะห์ใบหน้าด้วย AWS Rekognition แล้วดึงข้อมูลชื่อมาจากฐานข้อมูล DynamoDB เพื่อนำมาตอบกลับเจ้าของบ้าน
  6. หากเจ้าของบ้านสั่งให้เปิดประตู Lambda จะส่งคำสั่งไปที่ AWS IoT แจ้งให้ Raspberry Pi ส่งข้อมูลผ่านสาย Serial ไปยัง Arduino เพื่อสั่งให้เซอร์โวมอเตอร์ทำงานและดึงปลดล็อกประตู!
Block Diagram การทำงาน
Block Diagram แสดงการเชื่อมต่อข้อมูลระหว่าง Hardware, Alexa และ AWS Services
VUI Diagram
Voice User Interface (VUI) Diagram สำหรับการโต้ตอบด้วยเสียงของ Alexa
กลไกกลอนประตู กลไก Servo Lock
ตัวอย่างการติดตั้งเซอร์โวมอเตอร์ (Servo) เพื่อใช้ดึงสลักกลอนประตู
วงจร Raspberry Pi การต่อ Arduino กับ Raspberry Pi
ผังการต่อวงจรอิเล็กทรอนิกส์ระหว่าง Raspberry Pi, ปุ่มกด, ลำโพง และ Arduino
การประกอบสายไฟภายใน 1 การประกอบสายไฟภายใน 2 การประกอบฮาร์ดแวร์ลงกล่อง
ขั้นตอนการเดินสายไฟ (Wiring) และการเก็บอุปกรณ์ลงกล่องควบคุม
หน้าตาหลังติดตั้ง ปุ่มกดหน้าประตู
ผลงานหลังติดตั้งกล่องควบคุม กล้อง และปุ่มกดไว้ที่หน้าประตูบ้าน

วิดีโอสาธิตการทำงาน (Demo)

ก่อนจะไปดูรายละเอียดส่วนลึก ลองมาดูวิดีโอเดโม่การทำงานจริงของโปรเจกต์นี้กันก่อนครับ ว่ามันเท่ขนาดไหน!

⚠️ โปรเจกต์นี้มีความซับซ้อนของการเขียนโค้ดและระบบคลาวด์ (Cloud) สูงมาก!
เนื่องจากระบบนี้ต้องผูกบริการคลาวด์ของ AWS หลายตัวเข้าด้วยกันแบบครบวงจร (AWS CLI, S3, Rekognition, DynamoDB, IoT, Lambda) มีการใช้สคริปต์ Python ในการอัปโหลดข้อมูล มีการเขียนโค้ด Arduino ควบคุมเซอร์โว และยังต้องสร้าง Custom Alexa Skill บน Amazon Developer แบบเจาะลึกอีกด้วย

เราจึงขอ เชียร์ให้เพื่อนๆ สายโค้ดดิ้งเข้าไปอ่านคู่มือการตั้งค่าแบบละเอียดและดาวน์โหลด Source Code ฉบับเต็ม เพื่อความถูกต้องในการตั้งค่า Policy ต่างๆ ครับ สามารถคลิกเข้าไป อ่านโดยละเอียดจากต้นฉบับ ได้เลยครับ!

🚀 สนุกกับโปรเจกต์ IoT และระบบสมาร์ทโฮมไปกับ Globalbyte!

กำลังมองหาบอร์ดทดลองอย่าง Raspberry Pi, Arduino หรือเซนเซอร์เจ๋งๆ ไว้ประกอบร่างระบบในฝันของคุณอยู่หรือเปล่า? ทักมาให้เราจัดของให้ได้เลย!

คำเตือน / ข้อมูลอ้างอิง: บทความนี้เป็นการสรุปและเรียบเรียงเนื้อหาจากต้นฉบับภาษาอังกฤษ โปรเจกต์นี้มีการใช้บริการคลาวด์ของ AWS ซึ่งอาจมีค่าใช้จ่ายเกิดขึ้น รวมถึงการตั้งค่าสิทธิ์การเข้าถึงข้อมูล (IAM Policy) ที่มีความละเอียดอ่อนสูง ขอแนะนำให้ผู้ที่สนใจตรวจสอบรายละเอียดคำสั่ง โค้ดฉบับเต็ม และคู่มืออย่างเป็นทางการจากเว็บไซต์ต้นฉบับก่อนลงมือปฏิบัตินะครับ

ที่มาต้นฉบับ: Intelligent Door Lock by Taifur (Hackster.io)

แท็ก


Blog posts

เข้าสู่ระบบ

ลืมรหัสผ่านใช่ไหม?

ยังไม่มีบัญชีใช่ไหม?
สร้างบัญชี