iii Cam đoan..... đ mô ph ng ngôi nhà thông minh.
Trang 1B GIÁO D C & ÀO T O
Tp H Chí Minh - 06/2018
Trang 2
Tp H Chí Minh - 06/2018
Trang 3H 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
- 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
Trang 4Tu 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 đ
- 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
Trang 5iv
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)
Trang 6v
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
Trang 7ng 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
Trang 8vii
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
Trang 9viii
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
Trang 10ix
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
Trang 11x
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
Trang 12xi
LI T KÊ HÌNH V
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
Trang 13xii
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 hoàn thành Intent 46
Hình 4.19: K t qu hoà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
Trang 14xiii
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 hoà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
Trang 15xiv
LI T Kể B NG
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
Trang 16xv
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
Trang 17d 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ó
yê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
Trang 18CH 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
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ó yê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
Trang 19CH 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 Toá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
toá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, quá
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