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.
91 trang |
Chia sẻ: thientruc20 | Lượt xem: 1113 | Lượt tải: 4
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