Tải bản đầy đủ (.docx) (95 trang)

Ứng dụng chatbot vào điều khiển nhà thông minh

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.35 MB, 95 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI
HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ
CHÍ MINH

ĐỒ ÁN TỐT NGHIỆP
NGÀNH CƠNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG

ỨNG DỤNG CHATBOT VÀO ĐIỀU
KHIỂN NHÀ THÔNG MINH

GVHD: NGUYỄN MẠNH HÙNG
SVTH: NGUYỄN MINH HÙNG
MSSV: 14141139

SKL006493

Tp. Hồ Chí Minh, tháng 06/2018


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


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

Tp. Hồ Chí Minh - 06/2018


MSSV: 14141139


i


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. HC
tháng 0

NHIỆM VỤ
ĐỒ ÁN TỐT
NGHIỆP
Họ
tên
sinh
viê
n:
Ch
u
n
ngà
nh:
Hệ

đào
tạo:
Kh
óa:

Nguyễn
Minh Hùng
Kỹ thuật
Điện Tử
Truyền
Thơng
Đại học
chính quy
2014

MSSV:
14141139
Mã ngành:
14141
Mã hệ:
Lớp:

1

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Ụ:
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

ii

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 10

Tuần 11
Tuần 12
Tuần 13
Tuần 14

Tuần 15

iv


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


v


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è, đã ln 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à hồn thành đồ
án mơn học.

Sinh viên thực hiện
Nguyễn Minh Hùng

vi


M


Trang bìa .....................................................................................................................
Nhiệm vụ đồ án ..........................................................................................................
Lịch trình ...................................................................................................................
Cam đoan.....................................................................................................................
Lời cảm ơn ................................................................................................................
Mục lục

.......................................................

Liệt kê hình vẽ ...........................................................................................................
Liệt kê bảng vẽ ........................................................................................................
Tóm tắt

........................................................

Chƣơng 1. TỔNG QUAN .........................................................................................
1.1

ĐẶT VẤN ĐỀ ................................

1.2

MỤC TIÊU .....................................

1.3

NỘI DUNG NGHIÊN CỨU ..........


1.4

GIỚI HẠN .....................................

1.5

BỐ CỤC .........................................

Chƣơng 2. CƠ SỞ LÝ THUYẾT .............................................................................
2.1

TỔNG QUAN VỀ CHATBOT ......

2.1.1

K

2.1.2

P

2.1.3

X

2.2

TỔNG QUAN VỀ API ...................


2.2.1

K

2.2.2

M

2.2.3

C

2.3

WEBHOOK ....................................

2.3.1

K

2.3.2

H

2.4

TỔNG QUAN VỀ DIALOGFLOW

2.4.1


G

2.4.2

C

a. Agent ...........................................................................................................

v


b. Intent ......................................................................

c. Entities .....................................................................

d. Fulfillment ...............................................................

e. Integrations ..............................................................

2.5RASPBERRY PI 3 .....................................................

2.5.1 Giới thiệu về B

2.5.2 Phần cứng của

a. Nguồn cung cấp .......................................................

b. Các cổng giao tiếp ...................................................

c. Các chân giao tiếp GPIO của kit .............................

2.5.3 Hệ điều hành

2.6ĐỘNG CƠ SERVO ....................................................

2.6.1 Giới thiệu độn

2.6.2 Nguyên lý hoạ

2.7CẢM BIẾN NHIỆT ĐỘ DHT11 ...............................

2.8MODULE RELAY 2 CHANNEL 5V ........................

2.9MOSFET ....................................................................

2.9.1 Cấu tạo Mosfe

2.9.2 Ngun lí hoạ
Chƣơng 3. TÍNH TỐN VÀ THIẾT KẾ ..............................................................

3.1GIỚI THIỆU ..............................................................

3.2TÍNH TỐN VÀ THIẾT KẾ HỆ THỐNG ...............

3.2.1 Thiết kế sơ đồ

a. Sơ đồ khối hệ thống ...............................................

b. Sơ đồ mơ hình hệ thống .........................................

3.2.2 Tính tốn và t


a. Thiết kế khối Dialogflow .......................................

b. Thiết kế khối điều khiển raspberry ........................

c. Thiết kế khối điều khiển động lực ...........................

d. Thiết kế khối nguồn ...............................................
Chƣơng 4. THI CÔNG HỆ THỐNG .....................................................................

4.1GIỚI THIỆU ..............................................................
viii


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
ix

4.7.2 Quy trình t


Chƣơng 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ ................................................

5.1 DIALOGFLOW ...........................................

5.1.1 Dialogflow

5.1.2 Các khái ni

5.2 RASPBERRY PI 3 .......................................


5.2.1 Raspberry P

5.2.2 Công cụ ng

5.3 PHẦN CỨNG ..............................................
5.3.1 Mạch điều

5.3.2 Động cơ Se

5.3.3 Module Re

5.3.4 Module cảm

5.4 NHẬN XÉT VÀ ĐÁNH GIÁ ......................
Chƣơng 6. KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN ..........................................

6.1 KẾT LUẬN ..................................................

6.2 HƢỚNG PHÁT TRIỂN ..............................
TÀI LIỆU THAM KHẢO ......................................................................................

PHỤ LỤC..................

x


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 thực tế các chân GPIO........................................................................... 23
Hình 2.19: Giao diện hệ điều hành Raspbian.......................................................................... 24
Hình 2.20: Hình ảnh động cơ Servo............................................................................................ 24
Hình 2.21: Điều khiển động cơ servo bằng Duty Cycle...................................................... 26
Hình 2.22: Cảm biến nhiệt độ - độ ẩm DHT11....................................................................... 27
Hình 2.23: Module Relay 2 channel 5V.................................................................................... 28
Hình 2.24: Hình ảnh Mosfet.......................................................................................................... 29
Hình 2.25: Các cực của Mosfet..................................................................................................... 29
Hình 2.26: Hình ảnh các loại Mosfet.......................................................................................... 30
Hình 3.1: Sơ đồ khối hệ thống...................................................................................................... 31
Hình 3.2: Sơ đồ thiết kế mơ hình................................................................................................. 32
Hình 3.3: Sơ đồ các khối điều khiển động lực........................................................................ 33

Hình 3.4: Sơ đồ nguyên lí mạch dimmer.................................................................................. 34
xi


Hình 4.1: Lƣu đồ thiết kế trên Dialogflow.............................................................................. 36
Hình 4.2: Tạo mới Agent................................................................................................................. 37
Hình 4.3: Cài đặt các thơng số cho Agent................................................................................. 38
Hình 4.4: Thực hiện tạo mới Entities.......................................................................................... 38
Hình 4.5: Hình ảnh entities on-off............................................................................................... 39
Hình 4.6: Hình ảnh entities led..................................................................................................... 39
Hình 4.7: Tạo mới intents............................................................................................................... 40
Hình 4.8: Bảng Action và Parameters........................................................................................ 41
Hình 4.9: Mục Responses............................................................................................................... 41
Hình 4.10: Kích hoạt Fulfillment cho Intent............................................................................ 42
Hình 4.11: Đặt link webhook trong mục Fulfillment........................................................... 42
Hình 4.12: Tùy chỉnh trong Integrations................................................................................... 43
Hình 4.13: Giao diện trị chuyện chatbot.................................................................................. 43
Hình 4.14: Thêm mới entities room............................................................................................ 44
Hình 4.15: Thêm mới entities status........................................................................................... 44
Hình 4.16: Thêm mới Intent on-off:condition......................................................................... 45
Hình 4.17: Kết quả thao tác trên Intent mới............................................................................. 45
Hình 4.18: Kết quả hồn thành Intent........................................................................................ 46
Hình 4.19: Kết quả hồn thành Entities..................................................................................... 46
Hình 4.20: Ngơn ngữ Python......................................................................................................... 47
Hình 4.21: Giao diện Python 3 IDLE......................................................................................... 49
Hình 4.22: Thao tác file trên giao diện Python 3 IDLE....................................................... 49
Hình 4.23: Các phần của giao diện.............................................................................................. 50
Hình 4.24: Lƣu đồ điều khiển trên Raspberry Pi................................................................... 51
Hình 4.25: Giới thiệu ngrok........................................................................................................... 53
Hình 4.26: Hình ảnh chạy ngrok.................................................................................................. 53

Hình 4.27: Sơ đồ mạch in PCB..................................................................................................... 54
Hình 4.28: Sơ đồ linh kiện 3D...................................................................................................... 54
Hình 4.29: Hình ảnh mạch thi cơng............................................................................................ 55
Hình 4.30: Hình ảnh mạch sau thi cơng.................................................................................... 56
Hình 4.31: Đóng gói bộ điều khiển............................................................................................. 56
Hình 4.32: Thi cơng khối đèn xoay chiều................................................................................. 57
xii


Hình 4.33: Kết nối đèn với module Relay................................................................................ 57
Hình 4.34: Kết nối đèn với mạch dimmer................................................................................ 58
Hình 4.35: Kết nối Module DHT11 vào đúng vị trí.............................................................. 59
Hình 4.36: Đặt đúng động cơ servo vào vị trí......................................................................... 59
Hình 4.37: Kết nối với Raspberry Pi.......................................................................................... 60
Hình 4.38: Hình ảnh mơ hình thi cơng hồn chỉnh............................................................... 60
Hình 4.39: Điều khiển thiết bị thơng qua giao diện.............................................................. 61
Hình 4.40: Kết quả sau khi nhận yêu cầu điều khiển........................................................... 61
Hình 4.41: Yêu cầu điều khiển đóng mở cửa.......................................................................... 62
Hình 4.42: Thực hiện mở cửa........................................................................................................ 62
Hình 4.43: Truy vấn thơng tin nhiệt độ...................................................................................... 63
Hình 4.44: Lƣu đồ hƣớng dẫn sử dụng..................................................................................... 64

xiii


LIỆT KÊ BẢNG
Bảng

Trang


Bảng 2.1: Bảng thông số kỹ thuật của Raspberry Pi............................................................ 20
Bảng 2.2: Các chân của Servo....................................................................................................... 25
Bảng 2.3: Hình ảnh xung tƣơng ứng với góc quay............................................................... 26
Bảng 4.1: Các phiên bản Python đã phát hành....................................................................... 47
Bảng 4.2: Danh sách linh kiện...................................................................................................... 55

xiv


TÓM TẮT
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.

xv



CHƢƠNG 1. TỔNG QUAN

Chƣơng 1. TỔNG QUAN
1.1

ĐẶT VẤN ĐỀ
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.
Chatbot là một lĩnh vực của trí tuệ nhân tạo, chatbot thực hiện hội thoại thơng
minh giữa máy tính với ngƣời dùng thơng qua trị chuyện trực tiếp. Với việc cung
cấp thơng tin cho từng ngữ cảnh để điều khiển các thiết bị khác nhau qua internet.
Đồng thời ngày nay mạng lƣới Internet đang ngày càng trở nên phổ biến, điều đó
khiến cho việc điều khiển thiết bị từ xa qua mạng Internet trở nên dễ dàng và tiện
lợi hơn.
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. Ngoài việc
điều khiển các thiết bị trong nhà bằng app android nhƣ những đề tài về smarthome
đã có, ngƣời dùng có thể giao tiếp với chatbot về mọi thứ và điều khiển thiết bị
trong gia đình thơng qua việc trị chuyện với chatbot. So với việc điều khiển bằng
thao tác cứng nhắt trên các app android thơng thƣờng nhƣ các đề tài về IoT đã có
trƣớc đây, ngƣời dùng có thể trị chuyện với chatbot nhƣ một trợ lí ảo giúp ngƣời
dùng quản lí và điều khiển hoạt động của ngơi nhà. Vì những lý do đó, nhóm sinh
viên quyết định thực hiện đề tài “Ứng dụng chatbot vào điều khiển nhà thông
minh”.


1.2

MỤC TIÊU
Tạo ra đƣợc chatbot giao tiếp với ngƣời dùng và thực hiện nhiệm vụ khi có

u cầu từ ngƣời dùng thơng qua mạng internet. Đồ án đƣợc nghiên cứu, khảo sát,
xây dựng với mục định áp dụng những kiến thức đã học và tìm hiểu đƣợc để thiết
kế, tạo ra một hệ thống chatbot để điều khiển thiết bị 1 cách hoàn chỉnh.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH

1


CHƢƠNG 1. TỔNG QUAN

Một số chức năng của hệ thống điều khiển bằng hệ thống 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ị.

1.3

NỘI DUNG NGHIÊN CỨU
 NỘI DUNG 1: Tìm hiểu về khái niệm chatbot và cách tạo ra chatbot.
 NỘI DUNG 2: Tìm hiểu về các khái niệm về API, Webhook và trang

dialogflow.com (tiền thân là API.AI).
 NỘI DUNG 3: Tìm hiểu các khái niệm intent, entity, fulfillment,.... và tạo ra


một chatbot từ Dialogflow để phục vụ đề tài.
 NỘI DUNG 4: Tìm hiểu định dạng Json và cách trích xuất dữ liệu liệu để

nhận biết yêu cầu từ ngƣời dùng.
 NỘI DUNG 5: Tìm hiểu về kit raspberry pi 3 và ngơn ngữ lập trình python.
 NỘI DUNG 6: Lập trình giao tiếp giữa raspberry pi 3 với chatbot bằng

webhook thông qua mạng internet.
 NỘI DUNG 7: Thiết kế, thi cơng và lập trình khối điều khiển công suất, cảm

biến trong nhà.
 NỘI DUNG 8: Thiết kế, thi cơng mơ hình nhà thơng minh.
 NỘI DUNG 9: Chạy thử nghiệm và cân chỉnh hệ thống.
 NỘI DUNG 10: Đánh giá kết quả thực hiện.

1.4

GIỚI HẠN
 Tạo ra chatbot cơ bản có thể trị chuyện với ngƣời dùng và thực hiện điều

khiển thiết bị trong nhà khi có u cầu từ ngƣời dùng.
 Thiết kế mơ hình ngôi nhà thông minh.
 Giám sát ngôi nhà bằng cảm biến và giao tiếp với ngƣời dùng qua chatbot.
 Dùng chatbot để điều khiển đèn, quạt, đóng mở cửa.... để mô phỏng ngôi nhà

thông minh.
 Hệ thống hoạt động thông qua mạng internet, chatbot giao tiếp đơn giản.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH


2


CHƢƠNG 1. TỔNG QUAN

1.5

BỐ CỤC
 Chƣơng 1: Tổng Quan

Chƣơng này trình bày đặt vấn đề dẫn nhập lý do chọn đề tài, mục tiêu, nội
dung nghiên cứu, các giới hạn thông số và bố cục đồ án.
 Chƣơng 2: Cơ Sở Lý Thuyết

Chƣơng này trình bày tổng quát về các lý thuyết có liên quan đến các vấn đề
mà đề tài sẽ dùng để thực hiện thiết kế, thi công cho đề tài. Tìm hiểu về nền tảng
Dialogflow.com, các khái niệm API, webhook và tìm hiểu rõ về kit Raspberry pi 3.
 Chƣơng 3: Thiết Kế và Tính Tốn

Giới thiệu tổng quan về các yêu cầu của đề tài mà mình thiết kế và các tính
tốn, thiết kế sơ đồ khối hệ thống và các khối .
 Chƣơng 4: Thi Cơng Hệ Thống

Chƣơng này trình bày kết quả thi cơng trên phần mềm và phần cứng, q
trình thi cơng mạch PCB. Xây dựng mơ hình nhà thơng minh và thực hiện kết nối
các module với nhau.
 Chƣơng 5: Kết Quả, Nhận Xét và Đánh Giá

Chƣơng này trình bày kết quả của cả quá trình nghiên cứu làm đề tài, nêu lên
những kiến thức đã học đƣợc từ quá trình làm đồ án, nhận xét và đánh giá sản

phẩm.
 Chƣơng 6: Kết Luận và Hƣớng Phát Triển

Trình bày ngắn gọn những kết quả thu đƣợc từ đó tiến hành kết luận, đánh
giá sản phẩm có đạt hay khơng, từ đó đƣa ra hƣớng phát triển để tăng chức năng,
khả năng cho sản phẩm.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH

3


CHƢƠNG 2. CƠ SỞ LÝ THUYẾT

Chƣơng 2. CƠ SỞ LÝ THUYẾT

2.1

TỔNG QUAN VỀ CHATBOT

2.1.1 Khái niệm về chatbot
Định nghĩa một cách đơn giản nhất, chatbot là một chƣơng trình máy tính
tƣơng tác với ngƣời dùng bằng ngơn ngữ tự nhiên dƣới một giao diện đơn giản, âm
thanh hoặc dƣới dạng tin nhắn.

Hình 2.1: Khái niệm chatbot
Về cơ bản, chatbot là một hình thức thơ sơ của phần mềm trí tuệ nhân tạo. Nó
hoạt động độc lập, có thể tự động trả lời những câu hỏi hoặc xử lý tình huống càng
thật càng tốt. Phạm vi và sự phức tạp của chatbot đƣợc xác định bởi thuật toán của
ngƣời tạo nên chúng.

Chatbot là sự kết hợp của các kịch bản có trƣớc và tự học trong quá trình
tƣơng tác. Với các câu hỏi đƣợc đặt ra, chatbot sẽ dự đoán và phản hồi chính xác
nhất có thể. Nếu tình huống đó chƣa xảy ra (khơng có trong dữ liệu), chatbot sẽ bỏ
qua nhƣng sẽ đồng thời “bắt chƣớc” để áp dụng cho các cuộc trò chuyện thƣờng
xuyên (lặp đi lặp lại nhiều lần) về sau.

2.1.2 Phân loại chatbot
Theo đúng cách mà chúng tƣơng tác với ngƣời dùng, các chatbot thƣờng
đƣợc chia thành 2 loại:

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH

4


CHƢƠNG 2. CƠ SỞ LÝ THUYẾT
- Audiotory (âm thanh):
+ Siri (Apple).
+ Google Assistant (Google).
+ Cortana (Microsoft).
+ Javis của Tony – Stark.
- Textual (tin nhắn):
+ Thời trang - tƣ vấn quần áo (H&M).
+ Thực phẩm - order pizza (Dominos Pizza).
+ Làm đẹp - stylish cá nhân (Sephora).
+ Giao thông - thông tin tàu điện vùng Kanto (qmau.me).

2.1.3 Xử lý ngôn ngữ tự nhiên (Natural Language Processing)
Để chatbot có thể hiểu đƣợc ngƣời dùng nói gì thì ta phải dùng đến NLP
(Natural Language Processing). Xử lý ngôn ngữ tự nhiên (NLP) là một nhánh của

Trí tuệ nhân tạo, tập trung vào việc nghiên cứu sự tƣơng tác giữa máy tính và ngơn
ngữ tự nhiên của con ngƣời. Mục tiêu của lĩnh vực này là giúp máy tính hiểu và
thực hiện hiệu quả những nhiệm vụ liên quan đến ngôn ngữ của con ngƣời nhƣ:
tƣơng tác giữa ngƣời và máy, cải thiện hiệu quả giao tiếp giữa con ngƣời với con
ngƣời, hoặc đơn giản là nâng cao hiệu quả xử lý văn bản và lời nói. NLP đƣợc
Dialogflow sử dụng để tạo ra những chatbot thông minh.

2.2

TỔNG QUAN VỀ API

2.2.1 Khái niệm về API

Hình 2.2: Khái niệm về API
API (Application Programming Interface) là một giao diện lập trình ứng dụng
mà một hệ thống máy tính hay ứng dụng cung cấp để cho phép các yêu cầu
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH

5


CHƢƠNG 2. CƠ SỞ LÝ THUYẾT

dịch vụ có thể đƣợc tạo ra từ các chƣơng trình máy tính khác, và/hoặc cho phép dữ
liệu có thể đƣợc trao đổi qua lại giữa chúng.

2.2.2 Mơ hình của một API
API bao gồm ba phần:
-


Ngƣời dùng: ngƣời đƣa ra yêu cầu.

-

Máy khách: máy tính gửi yêu cầu tới máy chủ.

-

Máy chủ: máy tính phản hồi yêu cầu.

Máy chủ đƣợc xây dựng nó thu thập và lƣu trữ dữ liệu. Khi máy chủ đó đang
chạy, các lập trình viên tạo ra dữ liệu, bao gồm các end point (điểm cuối) nơi có thể
tìm thấy dữ liệu cụ thể. Sau đó, ngƣời dùng bên ngồi có thể truy vấn (hoặc tìm
kiếm) dữ liệu trên máy chủ hoặc xây dựng một chƣơng trình chạy tìm kiếm trên cơ
sở dữ liệu và biến thơng tin đó thành định dạng có thể sử dụng khác.
Nhiều cơng ty sử dụng các API mở từ các công ty lớn hơn nhƣ Google và
Facebook để truy cập dữ liệu khơng có sẵn. Trong trƣờng hợp này các API làm
giảm đáng kể các rào cản phát triển đối với các công ty nhỏ hơn.

2.2.3 Các tác vụ thực hiện qua API
API là cách để hai máy tính (phần mềm) giao tiếp với nhau. Có bốn loại hành
động mà API có thể thực hiện:
 GET: yêu cầu dữ liệu từ máy chủ.
 POST: gửi các thay đổi từ máy khách đến máy chủ khi thêm thông tin

vào máy chủ, nhƣ tạo một mục mới.
 PUT: sửa đổi hoặc thêm vào thơng tin hiện có.
 DELETE: xóa thơng tin hiện có.

Khi bạn kết hợp các end point (điểm cuối) với các hành động này, bạn có thể

tìm kiếm hoặc cập nhật mọi thơng tin có sẵn trên API. Bạn sẽ cần phải kiểm tra tài
liệu API để tìm hiểu cách mã hóa các hành động này, vì chúng hồn tồn khác nhau.
- Thực hiện một yêu cầu trên một máy chủ:

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH

6


CHƢƠNG 2. CƠ SỞ LÝ THUYẾT
HTTP: giao thức truyền siêu văn bản. Đây là cách bạn truy cập trang web
bằng cách nhập URL vào thanh tìm kiếm trong trình duyệt của bạn. Đây là một cách
thực sự dễ dàng để truy cập dữ liệu.
Định dạng văn bản: XML, JSON. Đây là những ngơn ngữ chính để truy cập
dữ liệu qua API. Khi bạn nhận đƣợc dữ liệu của mình, bạn sẽ cần phải biết đọc mã
XML hoặc JSON để hiểu những gì máy chủ đã cung cấp cho bạn.
- Ý tƣởng và các bƣớc trong quy trình API:
 Hầu hết các API đều yêu cầu key (mã khóa) API. Khi bạn tìm thấy API

bạn muốn sử dụng, hãy xem tài liệu về các yêu cầu truy cập. Hầu hết
các API sẽ u cầu bạn hồn tất xác minh danh tính, chẳng hạn nhƣ
đăng nhập bằng tài khoản Google của bạn. Bạn sẽ nhận đƣợc một
chuỗi ký tự và số duy nhất để sử dụng khi truy cập API, thay vì chỉ
thêm email và mật khẩu của bạn.
 Các công cụ sẵn có (và thƣờng miễn phí) giúp bạn điều hƣớng các yêu

cầu của mình để truy cập các API hiện có bằng key API mà bạn nhận
đƣợc. Bạn vẫn sẽ cần phải biết một số cú pháp từ tài liệu, nhƣng có rất
ít kiến thức mã hóa cần thiết.
 Cách tốt nhất tiếp theo để lấy dữ liệu từ API là tạo URL từ tài liệu API


hiện có.
Nhìn chung, u cầu API trơng khơng khác nhiều so với URL trình duyệt
thông thƣờng, nhƣng dữ liệu đƣợc trả về sẽ ở dạng dễ đọc cho máy tính.

2.3

WEBHOOK

2.3.1 Khái niệm Webhook
Webhook là một HTTP callback: là 1 công cụ để truy vấn và lƣu trữ dữ liệu
của một Event xác định. Khi một trong những sự kiện đƣợc kích hoạt, nó sẽ gửi
một HTTP POST đến URL đã đƣợc cấu hình webhook.

2.3.2 Hoạt động của Webhook
Một ứng dụng web đang triển khai Webhook sẽ POST một thông báo tới một
URL khi một event xảy ra. Events này do ngƣời dùng cấu hình và URL này đƣợc
ngƣời dùng đăng ký với trang web. Hay nói cách khác, bằng cách cho phép ngƣời
BỘ MƠN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH


×