Đồ án Ứng dụng Chatbot vào điều khiển nhà thông minh

Trong những năm gần đây ngƣời ta thƣờng nhắc nhiều đến AI (trí tuệ nhân tạo) và những ứng dụng rộng rãi của chúng. Nhóm em rất thích thú khi biết những thành tựu mà AI(trí tuệ nhân tạo) sẽ mang lại trong tƣơng lai, đặc biệt là những ứng dụng hiệu quả của chatbot trong kinh doanh và khoa học kỹ thuật. Và để bắt kịp xu hƣớng đó, nhóm chúng em quyết định chọn chatbot làm đối tƣợng nghiên cứu và ứng dụng cụ thể vào điều khiển nhà thông minh. Nhà thông minh đƣợc thiết kế sử dụng Raspberry Pi 3 cho việc điều khiển và giám sát những thiết bị trong nhà thông qua việc giao tiếp với chatbot. Việc mô phỏng các thiết bị trong nhà đƣợc thể hiện bằng làm mô hình ngôi nhà và các thiết bị điện bên trong. Một số thiết bị đƣợc điều khiển thông qua việc trò chuyện với chatbot:  Điều khiển mở/tắt các thiết bị dân dụng.  Điều khiển tuyến tính các thiết bị.  Giám sát nhiệt độ và độ ẩm trong nhà.  Có thể mở/tắt tất cả các thiết bị cùng 1 lúc hoặc từng thiết bị.  Đóng mở cửa bằng động cơ servo.

pdf91 trang | Chia sẻ: thientruc20 | Lượt xem: 850 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Đồ án Ứng dụng Chatbot vào điều khiển nhà thông minh, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
BỘ GIÁO DỤC & ĐÀO TẠO TRƢỜNG ĐẠI HỌC SƢ PHẠM KỸ THUẬT TP. HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH --------------------------------- ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG ĐỀ TÀI: ỨNG DỤNG CHATBOT VÀO ĐIỀU KHIỂN NHÀ THÔNG MINH GVHD: TS. Nguyễn Mạnh Hùng SVTH: Nguyễn Minh Hùng MSSV: 14141139 Tp. Hồ Chí Minh - 06/2018 i BỘ GIÁO DỤC & ĐÀO TẠO TRƢỜNG ĐẠI HỌC SƢ PHẠM KỸ THUẬT TP. HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH --------------------------------- ĐỒ ÁN TỐT NGHIỆP NGÀNH KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG ĐỀ TÀI: ỨNG DỤNG CHATBOT VÀO ĐIỀU KHIỂN NHÀ THÔNG MINH GVHD: TS. Nguyễn Mạnh Hùng SVTH: Nguyễn Minh Hùng MSSV: 14141139 Tp. Hồ Chí Minh - 06/2018 ii TRƢỜNG ĐH SPKT TP. HỒ CHÍ MINH KHOA ĐIỆN-ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM ĐỘC LẬP - TỰ DO - HẠNH PHÚC ----o0o---- Tp. HCM, ngày 28 tháng 06 năm 2018 NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Nguyễn Minh Hùng MSSV: 14141139 Chuyên ngành: Kỹ thuật Điện Tử Truyền Thông Mã ngành: 14141 Hệ đào tạo: Đại học chính quy Mã hệ: 1 Khóa: 2014 Lớp: 14141DT3B I. TÊN ĐỀ TÀI: ỨNG DỤNG CHATBOT VÀO ĐIỀU KHIỂN NHÀ THÔNG MINH II. NHIỆM VỤ 1. Các số liệu ban đầu: - 1 chatbot đƣợc tạo ra trên nền tảng Dialogflow. - 1 kit raspberry Pi3 B. - 1 Mạch dimmer điều khiển độ sáng của bóng đèn. - 2 Module Relay 5V 2 kênh điều khiển đóng/mở đèn, quạt. - 1 động cơ servo MG90S điều khiển đóng/mở cửa. - 1 Module cảm biến nhiệt độ, độ ẩm DHT11. 2. Nội dung thực hiện: - Tìm hiểu nền tảng Dialogflow và tạo ra chatbot dựa trên nền tảng này. - Tìm hiểu kit Raspberry Pi 3 và ngôn ngữ lập trình Python. - Tạo webhook để nhận dữ liệu từ Dialogflow, xử lí dữ liệu để trả lại đồng thời điều khiển thiết bị trong nhà. - Thiết kế và thi công mạch điều khiển dimmer. - Tìm hiểu cách điều khiển động cơ servo, cảm biến nhiệt độ, độ ẩm DHT11. - Thi công mô hình nhà thông minh, kết nối các module lại với nhau. III. NGÀY GIAO NHIỆM VỤ: 16/03/2018 IV. NGÀY HOÀN THÀNH NHIỆM VỤ: 28/06/2018 V. HỌ VÀ TÊN CÁN BỘ HƢỚNG DẪN: TS. Nguyễn Mạnh Hùng CÁN BỘ HƢỚNG DẪN BM. ĐIỆN TỬ CÔNG NGHIỆP – Y SINH iii TRƢỜNG ĐH SPKT TP. HỒ CHÍ MINH KHOA ĐIỆN-ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM ĐỘC LẬP - TỰ DO - HẠNH PHÚC ----o0o---- Tp. HCM, ngày 28 tháng 06 năm 2018 LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Nguyễn Minh Hùng Lớp: 14141DT3B MSSV: 14141139 Tên đề tài: Ứng dụng chatbot và điều khiển nhà thông minh Tuần/ngày Nội dung Xác nhận GVHD Tuần 1 (16/03 - 23/03) Gặp GVHD để nghe phổ biến yêu cầu làm đồ án, tiến hành chọn đồ án Tuần 2 GVHD tiến hành xét duyệt đề tài Tuần 3 Viết tóm tắt yêu cầu đề tài đã chọn: đề tài làm cái gì, nội dung thiết kế, các thông số giới hạn của đề tài Tuần 4 Tiến hành thiết kế sơ đồ khối, giải thích chức năng các khối Tuần 5 - Tìm hiểu các khái niệm liên quan đến đề tài nhƣ API, webhook - Thực hiên thiết kế trên Dialogflow Tuần 6 - Cài đặt các gói thƣ viện cần thiết cho Raspberry - Thực hiện tạo webhook và xử lí dữ liệu nhận đƣợc Tuần 7 - Thực hiện code phần back-end để hoàn thiện yêu cầu xử lí trả về dữ liệu cho Dialogflow, điều khiển phần cứng. - Sử dụng ngrok để public server online Tuần 8 Tuần 9 iv Tuần 10 - Thiết kế sơ đồ nguyên lí mạch dimmer - Tiến hành vẽ PCB, chọn linh kiện - Tiến hành thi công mạch - Kiểm tra mạch thi công Tuần 11 - Thi công mô hình đồ án - Kiểm tra, đánh giá mô hình Tuần 12 Tuần 13 - Viết báo cáo những nội dung đã làm - Hoàn thiện báo cáo và gởi cho GVHD để xem xét góp ý lần cuối trƣớc khi in và báo cáo Tuần 14 Tuần 15 Tiến hành làm silde báo cáo và các nhiệm vụ liên quan đến đồ án tốt nghiệp GV HƢỚNG DẪN (Ký và ghi rõ họ và tên) v LỜI CAM ĐOAN -----  ----- Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi và đƣợc sự hƣớng dẫn khoa học của Ts. Nguyễn Mạnh Hùng. Các nội dung nghiên cứu, kết quả trong đề tài này là do tôi tự thực hiện dựa vào một số tài liệu trƣớc đó và không sao chép từ tài liệu hay công trình đã có trƣớc đó. Những thông tin phục vụ cho đề tài đƣợc chính tác giả thu thập từ các nguồn khác nhau có ghi rõ trong phần tài liệu tham khảo. Tôi xin chịu mọi trách nhiệm về công trình nghiên cứu của riêng mình! Sinh viên thực hiện Nguyễn Minh Hùng vi LỜI CẢM ƠN -----  ----- Trong thời gian làm đồ án tốt môn học, em đã nhận đƣợc nhiều sự giúp đỡ, đóng góp ý kiến và chỉ bảo nhiệt tình của thầy cô, gia đình và bạn bè. Em xin gửi lời cảm ơn chân thành đến Ts. Nguyễn Mạnh Hùng, giảng viên Bộ môn Điện Tử Công Nghiệp – Y Sinh - Trƣờng ĐH Sƣ Phạm Kỹ Thuật TP.HCM, ngƣời đã tận tình hƣớng dẫn, chỉ bảo em trong suốt quá trình làm đồ án. Em cũng xin chân thành cảm ơn các thầy cô giáo trong trƣờng ĐH Sƣ Phạm Kỹ Thuật TP.HCM nói chung, các thầy cô trong Bộ môn Điện Tử Công Nghiệp – Y Sinh nói riêng đã dạy dỗ cho em kiến thức về các môn đại cƣơng cũng nhƣ các môn chuyên ngành, giúp em có đƣợc cơ sở lý thuyết vững vàng và tạo điều kiện giúp đỡ em trong suốt quá trình học tập. Cuối cùng, em xin chân thành cảm ơn gia đình và bạn bè, đã luôn tạo điều kiện, quan tâm, giúp đỡ, động viên em trong suốt quá trình học tập và hoàn thành đồ án môn học. Sinh viên thực hiện Nguyễn Minh Hùng vii MỤC LỤC Trang bìa ..................................................................................................................... i Nhiệm vụ đồ án .......................................................................................................... ii Lịch trình ................................................................................................................... iii Cam đoan..................................................................................................................... v Lời cảm ơn ................................................................................................................ vi Mục lục ..................................................................................................................... vii Liệt kê hình vẽ ........................................................................................................... xi Liệt kê bảng vẽ ........................................................................................................ xiv Tóm tắt ...................................................................................................................... xv Chƣơng 1. TỔNG QUAN ......................................................................................... 1 1.1 ĐẶT VẤN ĐỀ ............................................................................................... 1 1.2 MỤC TIÊU .................................................................................................... 1 1.3 NỘI DUNG NGHIÊN CỨU ......................................................................... 2 1.4 GIỚI HẠN ..................................................................................................... 2 1.5 BỐ CỤC ........................................................................................................ 3 Chƣơng 2. CƠ SỞ LÝ THUYẾT ............................................................................. 4 2.1 TỔNG QUAN VỀ CHATBOT ..................................................................... 4 2.1.1 Khái niệm về chatbot .............................................................................. 4 2.1.2 Phân loại chatbot ..................................................................................... 4 2.1.3 Xử lý ngôn ngữ tự nhiên (Natural Language Processing) ...................... 5 2.2 TỔNG QUAN VỀ API .................................................................................. 5 2.2.1 Khái niệm về API ................................................................................... 5 2.2.2 Mô hình của một API.............................................................................. 6 2.2.3 Các tác vụ thực hiện qua API ................................................................. 6 2.3 WEBHOOK ................................................................................................... 7 2.3.1 Khái niệm Webhook ............................................................................... 7 2.3.2 Hoạt động của Webhook......................................................................... 7 2.4 TỔNG QUAN VỀ DIALOGFLOW ............................................................. 8 2.4.1 Giới thiệu về Dialogflow ........................................................................ 8 2.4.2 Cấu trúc của Dialogflow ......................................................................... 9 a. Agent ........................................................................................................... 10 viii b. Intent ........................................................................................................... 10 c. Entities ......................................................................................................... 15 d. Fulfillment ................................................................................................... 17 e. Integrations .................................................................................................. 17 2.5 RASPBERRY PI 3 ...................................................................................... 18 2.5.1 Giới thiệu về Board Raspberry Pi ......................................................... 18 2.5.2 Phần cứng của Raspberry Pi 3 .............................................................. 18 a. Nguồn cung cấp ........................................................................................... 20 b. Các cổng giao tiếp ....................................................................................... 20 c. Các chân giao tiếp GPIO của kit ................................................................. 22 2.5.3 Hệ điều hành Raspbian cho kit Raspberry Pi ....................................... 23 2.6 ĐỘNG CƠ SERVO ..................................................................................... 24 2.6.1 Giới thiệu động cơ servo ....................................................................... 24 2.6.2 Nguyên lý hoạt động của động cơ servo ............................................... 25 2.7 CẢM BIẾN NHIỆT ĐỘ DHT11 ................................................................. 27 2.8 MODULE RELAY 2 CHANNEL 5V ......................................................... 27 2.9 MOSFET ..................................................................................................... 28 2.9.1 Cấu tạo Mosfet ...................................................................................... 29 2.9.2 Nguyên lí hoạt động .............................................................................. 30 Chƣơng 3. TÍNH TOÁN VÀ THIẾT KẾ .............................................................. 31 3.1 GIỚI THIỆU ................................................................................................ 31 3.2 TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG ................................................ 31 3.2.1 Thiết kế sơ đồ khối hệ thống ................................................................ 31 a. Sơ đồ khối hệ thống .................................................................................... 31 b. Sơ đồ mô hình hệ thống .............................................................................. 32 3.2.2 Tính toán và thiết kế mạch .................................................................... 32 a. Thiết kế khối Dialogflow ............................................................................ 33 b. Thiết kế khối điều khiển raspberry ............................................................. 33 c. Thiết kế khối điều khiển động lực ............................................................... 33 d. Thiết kế khối nguồn .................................................................................... 35 Chƣơng 4. THI CÔNG HỆ THỐNG ..................................................................... 36 4.1 GIỚI THIỆU ................................................................................................ 36 ix 4.2 THIẾT KẾ DIALOGFLOW ........................................................................ 36 4.2.1 Lƣu đồ giải thuật ................................................................................... 36 4.2.2 Thiết kế cho yêu cầu điều khiển ON-OFF ............................................ 37 a. Tạo mới Agent............................................................................................. 37 b. Tạo entities .................................................................................................. 38 c. Tạo Intent .................................................................................................... 39 d. Fulfillment ................................................................................................... 42 e. Integrations .................................................................................................. 43 4.2.3 Mở rộng cho điều khiển ON-OFF ........................................................ 44 a. Thêm mới entities ........................................................................................ 44 b. Thêm mới intent .......................................................................................... 45 4.2.4 Kết quả hoàn chỉnh trên Dialogflow ..................................................... 46 a. Intents .......................................................................................................... 46 b. Entities ........................................................................................................ 46 4.3 LẬP TRÌNH TRÊN RASPBERRY PI 3 ..................................................... 46 4.3.1 Giới thiệu ngôn ngữ lập trình Python ................................................... 46 a. Lịch sử của Python ...................................................................................... 47 b. Các phiên bản Python đã phát hành ............................................................ 47 c. Đặc điểm của ngôn ngữ lập trình Python .................................................... 48 4.3.2 Giới thiệu phần mềm lập trình Python 3 IDLE .................................... 49 4.3.3 Lƣu đồ giải thuật ................................................................................... 50 4.3.4 Viết chƣơng trình hệ thống ................................................................... 51 4.3.5 Public server lên internet bằng ngrok ................................................... 52 4.4 THI CÔNG MẠCH ĐIỀU KHIỂN DIMMER ............................................ 53 4.4.1 Sơ đồ mạch PCB Dimmer..................................................................... 54 4.4.2 Thi công mạch ...................................................................................... 55 4.5 ĐÓNG GÓI VÀ THI CÔNG MÔ HÌNH .................................................... 56 4.5.1 Đóng gói bộ điều khiển ......................................................................... 56 4.5.2 Thi công mô hình .................................................................................. 57 4.6 KẾT QUẢ VẬN HÀNH HỆ THỐNG ........................................................ 61 4.7 TÀI LIỆU HƢỚNG DẪN, THAO TÁC ..................................................... 63 4.7.1 Tài liệu hƣớng dẫn sử dụng .................................................................. 63 x 4.7.2 Quy trình thao tác ................................................................................. 63 Chƣơng 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ ................................................ 65 5.1 DIALOGFLOW ........................................................................................... 65 5.1.1 Dialogflow ............................................................................................ 65 5.1.2 Các khái niệm liên quan........................................................................ 65 5.2 RASPBERRY PI 3 ...................................................................................... 66 5.2.1 Raspberry Pi 3 ....................................................................................... 66 5.2.2 Công cụ ngrok ....................................................................................... 66 5.3 PHẦN CỨNG .............................................................................................. 66 5.3.1 Mạch điều khiển dimmer ...................................................................... 66 5.3.2 Động cơ Servo ...................................................................................... 67 5.3.3 Module Relay 2 kênh 5V ...................................................................... 67 5.3.4 Module cảm biến DHT11 ..................................................................... 67 5.4 NHẬN XÉT VÀ ĐÁNH GIÁ ..................................................................... 67 Chƣơng 6. KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN .......................................... 69 6.1 KẾT LUẬN ................................................................................................. 69 6.2 HƢỚNG PHÁT TRIỂN .............................................................................. 69 TÀI LIỆU THAM KHẢO ...................................................................................... 70 PHỤ LỤC ................................................................................................................. 71 xi LIỆT KÊ HÌNH VẼ Hình Trang Hình 2.1: Khái niệm chatbot ....................................................................................... 4 Hình 2.2: Khái niệm về API ........................................................................................ 5 Hình 2.3: Giới thiệu Dialogflow ................................................................................. 8 Hình 2.4: Các phần của Dialogflow ............................................................................ 9 Hình 2.5: Các mục trong một Intent ......................................................................... 10 Hình 2.6: Hình ảnh mục context ............................................................................... 11 Hình 2.7: Hình ảnh mục Events ................................................................................ 12 Hình 2.8: Hình ảnh mục Training Phrases ................................................................ 12 Hình 2.9: Hình ảnh của mục Action & Parameters ................................................... 13 Hình 2.10: Hình ảnh mục Responses ........................................................................ 14 Hình 2.11: Hình ảnh của mục Fulfillment ................................................................ 15 Hình 2.12: Hình ảnh của mục Entities ...................................................................... 16 Hình 2.13: Các nền tảng tích hợp trong Integrations ................................................ 17 Hình 2.14: Board Raspberry Pi ................................................................................. 18 Hình 2.15: Phần cứng của Raspberry Pi ................................................................... 19 Hình 2.16: Các cổng giao tiếp trên Raspberry .......................................................... 21 Hình 2.17: Sơ đồ chân GPIO .................................................................................... 22 Hình 2.18: Hình ảnh