ชื่อโปรเจกต์: กริ่งประตู Arduino จดจำใบหน้า ควบคุมโดย Alexa
„Alexa, who is at the door?“ - กล้อง Arduino จดจำใบหน้า โดยใช้ AWS Rekognition สำหรับคุณยายของฉัน
เคยอยากรู้ไหมว่าใครมากดกริ่งประตูบ้านของคุณ โดยการถาม Alexa?
ลองจินตนาการดูว่ามีคนกดกริ่งที่ประตูของคุณ และคุณสามารถถาม Alexa ได้ว่าใครอยู่ตรงนั้น โดยไม่ต้องไปที่หน้าต่างหรือเปิดประตู คุณจะรู้ว่าเป็นเพื่อนหรือคนแปลกหน้า เพราะ Alexa จะบอกชื่อ หรือบอกว่าเป็นคนที่ไม่รู้จัก
เรามีความคิดที่จะสร้างโซลูชันนี้ เนื่องจากคุณยายของเราอายุเกือบ 80 ปีและสายตาสั้น ด้วยระยะห่างของประตูสวนของเธอ ทำให้เธอมองแทบไม่เห็นว่าใครกดกริ่งประตูเมื่อมองออกไปนอกหน้าต่าง เพื่อช่วยให้เธอแยกแยะผู้คนที่มากดกริ่งที่ประตูสวน เธอควรจะสามารถถาม Alexa ได้ โดยไม่จำเป็นต้องไปที่หน้าต่างหรือเปิดประตูหน้าเลย
วิดีโอสาธิต
ในการสร้างโซลูชันนี้ เราใช้:
- Arduino Uno พร้อม ethernet shield (สามารถย้ายไปยัง esp8266 เพื่อการเชื่อมต่อ Wi-Fi ได้อย่างง่ายดาย)
- กล้อง (Arducam mini)
- สวิตช์ที่เชื่อมต่อกับอินพุตหนึ่งของ Arduino
- Amazon Web Services: Alexa Skills Kit, Lambda, API Gateway, S3, Rekognition
เราได้เขียน Arduino sketch ที่เมื่อสวิตช์ถูกกด จะทำการบันทึกภาพด้วย Arducam เนื่องจากข้อจำกัดด้านหน่วยความจำ ภาพจึงไม่ถูกบันทึกไว้ในเครื่อง แต่จะถูกอ่านจาก camera buffer เป็นส่วนๆ และส่งโดยตรงผ่าน http put request ไปยัง Amazon Web Services ซึ่ง Lambda function (ผ่าน AWS Api Gateway) จะประมวลผลภาพที่อัปโหลด จัดเก็บไว้ใน S3 และส่งต่อไปยัง AWS Rekognition หากใบหน้าเป็นที่รู้จัก ชื่อของบุคคลนั้นจะถูกส่งกลับมา หากคนแปลกหน้ากดกริ่ง ภาพจะไม่ถูกลบ แต่จะถูกเก็บไว้เพื่อติดแท็กในภายหลัง
การใช้อุปกรณ์ Alexa ใดๆ ของคุณ คุณสามารถใช้ smart cam skill ที่เราสร้างขึ้นได้
มีสอง intent:
- „...who rang the door?“: หากบุคคลนั้นเคยถูกติดแท็กมาก่อน Alexa จะพูดว่า เช่น „Peter rang the door“
- „...the person is Peter“: หากคนที่ไม่รู้จักมาก่อนกดกริ่ง สิ่งนี้จะเชื่อมโยงชื่อเข้ากับใบหน้า จากนั้น Alexa จะยืนยันการเชื่อมโยงและจดจำใบหน้า
ตัวอย่าง (บุคคลที่รู้จักกดกริ่ง)
- มีคนกดกริ่ง
- คุณยายถาม „Alexa, ask smart camera who rang the door“
- Alexa ตอบ „Peter rang the door“
ตัวอย่าง (คนแปลกหน้ากดกริ่ง)
- มีคนกดกริ่ง
- คุณยายถาม „Alexa, ask smart camera who rang the door“
- Alexa ตอบ „I did not recognize the person, please tell me who rang the door. For example say: Alexa, tell smart camera that the person ist Peter“
- คุณยายจึงพูดว่า „Alexa, tell smart camera that the person is Thomas“
- Alexa ตอบ „Thank you! I will remember that Thomas rang the door“
- ครั้งต่อไป Alexa จะจดจำ Thomas ได้ (ช่วยคุณยายของฉันให้พ้นจากคนร้าย)
ตัวอย่าง (กล้องไม่สามารถจับภาพใบหน้าได้)
- มีคนกดกริ่ง
- คุณยายถาม „Alexa, ask smart camera who rang the door“
- Alexa ตอบ „The camera could not detect any face“
Voice User Interface (VUI Diagram)

VUI DIagram การประกอบฮาร์ดแวร์

การตั้งค่าฮาร์ดแวร์ - เชื่อมต่อ Arduino Uno และ Ethernet Shield
- เชื่อมต่อ Arducam ตามที่แสดงในภาพ
- เชื่อมต่อ pushbutton, เชื่อมต่อ ethernet cable ของคุณ
- ติดตั้ง Arduino IDE และเลือก "Arduino uno" เป็นประเภทบอร์ด
- ปรับ IP Address ให้เข้ากับช่วง IP address ของคุณ และ hostname (ที่สำหรับส่งไฟล์ JPEG ไป) และอัปโหลด sketch
Software Stack

แผนภาพ Software / Architecture การตั้งค่า Software
โปรเจกต์นี้ใช้ AWS services หลายอย่าง และสามารถดูคู่มือการตั้งค่าสำหรับโปรเจกต์ทั้งหมดได้ที่ Github:
นอกจากนี้ โค้ดของโปรเจกต์ยังสามารถดูได้ที่ Github และมีเอกสารประกอบอย่างครบถ้วนเพื่อความสะดวกในการศึกษาของคุณ
Alexa Skill
เราได้ส่ง skill ของเราไปยัง Amazon แล้ว แต่ขณะนี้กำลังอยู่ระหว่างการรับรอง Skill ID คือ amzn1.ask.skill.fa2a11c4-2a92-4094-978c-05744757c63b ตั้งค่า skill ของคุณเองโดยใช้คู่มือการตั้งค่าด้านบนได้เลย!
รายละเอียดทางเทคนิคเพิ่มเติม
ระบบรักษาความปลอดภัยทางชีวภาพด้วย AI ขั้นสูง
โปรเจกต์ระดับสูงนี้ผสานรวมระบบนิเวศเสียงของ Alexa เข้ากับระบบ Computer Vision ของ AWS (Amazon Web Services) เพื่อสร้างระบบรักษาความปลอดภัยภายในบ้านแห่งอนาคต
- Image Capture: เมื่อมีคนกดกริ่งประตู Arduino จะสั่งให้ Camera module (ESP32-CAM หรือ Pi-link) ถ่ายภาพและอัปโหลดไปยัง AWS S3 bucket
- Facial Recognition: AWS Lambda function จะสั่งให้ AWS Rekognition ระบุตัวผู้มาเยือนโดยเทียบกับ whitelist
การแจ้งเตือนด้วยเสียง
- Alexa Skill Integration: หากจดจำใบหน้าได้ Alexa จะประกาศว่า: "Hello, [Name] is at the door." หากไม่รู้จัก จะส่งการแจ้งเตือนไปยังโทรศัพท์ของผู้ใช้พร้อมรูปถ่ายของผู้มาเยือน ซึ่งเป็นการนำเสนอชั้นความปลอดภัยระดับมืออาชีพที่เสริมด้วย cloud