โครงการนี้เกี่ยวกับการสร้าง Line chatbot ที่สามารถควบคุมอุปกรณ์ IoT โดยใช้ Dialogflow เป็นเครื่องมือประมวลผลภาษาธรรมชาติ แชทบอทสามารถรับคำสั่งภาษาธรรมชาติจากผู้ใช้ ตีความโดยใช้ Dialogflow และควบคุมอุปกรณ์ IoT
โครงการนี้ใช้ LINE Chatbot โดยใช้ Python Flask และ Firebase Realtime Database แชทบอทสามารถรับข้อความจากผู้ใช้และส่งการตอบกลับตามข้อมูลที่ผู้ใช้ป้อน
แชทบอทออกแบบมาเพื่อควบคุมอุปกรณ์ IoT ที่เชื่อมต่อกับ Firebase Realtime Database ผู้ใช้สามารถส่งคำสั่งไปยังแชทบอทเพื่อควบคุมอุปกรณ์ เช่น เปิด/ปิดไฟ จากนั้นแชทบอทจะส่งคำสั่งที่เกี่ยวข้องไปยัง Firebase Realtime Database ซึ่งอุปกรณ์ IoT จะได้รับและดำเนินการตามที่ต้องการ นอกจากนั้นยังมีการ สภาพอากาศ ฝุ่น pm 2.5 โดยจะนำข้อมูลจาก กรรมอุตุ และ aqicn มาใช้งาน รวมถึงโปรแกรมสำหรับหารค่าอาหาร
Python 3.x Flask Firebase Admin SDK Line Messaging API Ngrok
- โคลนที่เก็บนี้ไปยังเครื่องของคุณ
- สร้างโปรเจ็กต์ Firebase ใหม่และเพิ่ม Firebase Realtime Database ให้กับโปรเจ็กต์
- ดาวน์โหลดคีย์ส่วนตัว Firebase Admin SDK และบันทึกไว้ในไดเร็กทอรีโครงการ
- สร้างช่อง LINE Messaging API ใหม่และกำหนดค่า URL ของเว็บฮุคให้ชี้ไปที่ ngrok URL
- ติดตั้งแพ็คเกจ Python ที่จำเป็นโดยใช้ pip
- เริ่ม ngrok และเปิดเผยแอป Flask บนอินเทอร์เน็ต
- เริ่มแอป Flask โดยใช้ python app.py
- เพิ่ม LINE Chatbot เป็นเพื่อนและเริ่มแชทได้เลย!
ในการตั้งค่าโครงการ คุณจะต้องทำตามขั้นตอนเหล่านี้:
- สร้างช่อง Line Bot และรับ Channel Access Token และ Channel Secret
- สร้าง Dialogflow และกำหนดค่าความตั้งใจและเอนทิตีสำหรับการควบคุมอุปกรณ์ IoT
- ตั้งค่าโปรเจ็กต์ Firebase และสร้างอินสแตนซ์ฐานข้อมูลเรียลไทม์
- ตั้งค่าสภาพแวดล้อมการพัฒนา Python และติดตั้งแพ็คเกจที่จำเป็น (Flask, คำขอ, firebase-admin เป็นต้น)
- เขียนโค้ด Python สำหรับแบ็กเอนด์ของแชทบอทและปรับใช้กับเซิร์ฟเวอร์หรือแพลตฟอร์มคลาวด์
- ตั้งค่าเว็บฮุคเพื่อรับข้อความ Line และประมวลผลโดยใช้แบ็กเอนด์แชทบอท
- เชื่อมต่อแบ็กเอนด์ของ Chatbot กับ Dialogflow API และ Firebase Realtime Database โดยใช้ข้อมูลประจำตัวที่เหมาะสม
ปัจจุบัน chatbot รองรับคำสั่งต่อไปนี้:
- เปิดหรือปิด: เปิด/ปิดอุปกรณ์
- รับค่าปัจจุบันของอุปกรณ์
- แสดสภาพอากาศ ฝุ่น pm 2.5 และ โปรแกรมสำหรับหารค่าอาหาร
ผู้ใช้สามารถส่งคำสั่งไปยังแชทบอทและแชทบอทจะส่งคำสั่งที่เกี่ยวข้องไปยัง Firebase Realtime Database อุปกรณ์ IoT จะรับคำสั่งและดำเนินการตามที่ต้องการ
เพิ่มการสนับสนุนสำหรับอุปกรณ์ IoT เพิ่มเติม ใช้การรับรองความถูกต้องและการอนุญาตสำหรับผู้ใช้ ปรับปรุงความสามารถในการประมวลผลภาษาธรรมชาติของแชทบอท
https://www.youtube.com/playlist?list=PLeohJaMRzYHohBzFbKJknovLFmQGwbBS-