Internet of Things และ Cloud Computing ช่วยให้เราสามารถตรวจสอบสภาพแวดล้อมและประมวลผลข้อมูลจำนวนมหาศาลได้แบบเรียลไทม์ บทความนี้ทีมงาน TechTalkThai ขอแนะนำโปรเจ็คท์สนุกๆ ที่นำอุปกรณ์ IoT มาเก็บข้อมูลเบียร์พร้อมส่งไปประมวลผลบน Amazon AWS เพื่อให้แสดงสถานะต่างๆ ของเบียร์ เช่น การไหล อุณหภูมิ ความชื้น และระดับของเบียร์ได้อย่างเรียลไทม์ เพื่อให้มั่นใจได้ว่า ทุกคนจะได้ดื่มเบียร์ที่รสชาติดีที่สุด และไม่มี Down-time สำหรับผู้ที่ชื่นชอบการดื่มเบียร์
ไอเดียเบื้องต้น
หลักการง่ายมาก คือ Raspberry Pi จะถูกติดตั้งเข้ากับตู้กดเบียร์ เครื่องมือวัดอัตราการไหล (Flow Meter) จะทำการการตรวจจับการรินเบียร์ เช่น อัตราการไหล และอุณหภูมิ ส่งไปยัง Amazon API Gateway จากนั้นทำการประมวลผลบน Cloud แล้วแสดงผลบนหน้า Web Page เรียกบริการทั้งหมดนี้ว่า “Simple Beer Service”
สถาปัตยกรรมของ Simple Beer Service
ภาพด้านล่างแสดงสถาปัตยกรรมของ Simple Beer Service ซึ่งเป็นตู้กดเบียร์ที่เชื่อมต่อกับระบบ Cloud โดยส่งข้อมูลเกี่ยวกับการรินเบียร์ไปยัง Amazon API Gateway จากนั้นข้อมูลทั้งหมดจะถูกเก็บไว้เพื่อวิเคราะห์และประมวลผลภายหลังโดยใช้ Amazon Elastic MapReduce และ Amazon Redshift ส่วนข้อมูลการรินเบียร์แต่ละครั้งสามารถแสดงผลได้แบบเรียลไทม์ผ่านแอพพลิเคชันที่พัฒนาโดย JavaScript บน Amazon S3
ขั้นตอนการทำงานโดยละเอียด
Simple Beer Service จะใช้ Raspberry Pi 1 Model B+ ที่มีการติดตั้งเซ็นเซอร์สำหรับตรวจจับอัตราการไหลของเบียร์ อุณหภูมิ เสียง และอื่นๆ เพื่อรวบรวมข้อมูลของตู้กดเบียร์ จากนั้นส่งข้อมูลไปยัง Amazon API Gateway ผ่าน HTTPS เมื่อ API Gateway ได้รับข้อมูลจะไปกระตุ้นให้ฟังก์ชัน AWS Lambda ทำงานเพื่อประมวลผลข้อมูล โดยจะแบ่งออกเป็น 2 เส้นทาง คือ Batch และ Speed
- Speed Layer: ข้อมูลเบียร์จะถูกส่งไปเก็บไว้ใน Amazon DynamoDB เพื่อให้สามารถเข้าถึงข้อมูลได้แบบเรียลไทม์
- Batch Layer: ฟังก์ชันของ AWS Lambda จะทำงานทุกๆ 30 นาทีเพื่อโหลดข้อมูลจาก Amazon DynamoDB เข้าสู่ Amazon S3 สำหรับเก็บและวิเคราะห์ข้อมูลระยะยาว โดยอาศัยการทำงานร่วมกับ Amazon Redshift และ Amazon Elastic MapReduce
หน้า Dashboard บน Web Page สำหรับแสดงผลแบบเรียลไทม์พัฒนาโดยใช้ JavaScript ซึ่งรันอยู่บน Amamzon S3 จากนั้นจะกระจายข้อมูลไปยังทั่วโลกผ่านทาง Amazon CloudFront เครือข่าย Content Deliver Network (CDN) ซึ่งช่วยให้สามารถรับชมข้อมูลได้อย่างรวดเร็วและตลอดเวลา ส่วน DNS จะให้บริการผ่านทาง Amazon Route 53
ทั้งโปรเจ็คท์นี้ ลงทุนไปประมาณ $1,250 หรือประมาณ 44,000 บาท และเสียค่าใช้จ่ายรายเดือนเพื่อใช้บริการ Amazon AWS ประมาณ $15 (530 บาท) ต่อเดือน ผู้ที่สนใจสามารถดูรายละเอียดการติดตั้งและโปรแกรมได้ที่ GitHub