1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

91 153 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 91
Dung lượng 4,41 MB

Nội dung

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 Tên đề tài: Ứng dụng chatbot và điều khiển nhà thông mi

Trang 1

KHOA ĐIỆN – ĐIỆN TỬ

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

GVHD: TS Nguyễn Mạnh Hùng SVTH: Nguyễn Minh Hùng MSSV: 14141139

Tp Hồ Chí Minh - 06/2018

Trang 2

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

-

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

Trang 3

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

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

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

Trang 4

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

Tên đề tài: Ứng dụng chatbot và điều khiển nhà thông minh

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

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 5

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)

Trang 6

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 7

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 8

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

Trang 9

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

Trang 10

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 11

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

Trang 12

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

Trang 13

xii

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 14

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 15

xiv

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 16

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 17

Chương 1 TỔNG QUAN

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”

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 18

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 19

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

Trang 20

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

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:

Trang 21

- Audiotory (âm thanh):

+ 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.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

Trang 22

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 ngoà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 hoàn toàn khác nhau

- Thực hiện một yêu cầu trên một máy chủ:

Trang 23

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ẽ yêu cầu bạn hoà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, yê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.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

Trang 24

dùng chỉ định một URL cho các sự kiện khác nhau, ứng dụng sẽ POST dữ liệu tới các URL đó khi các sự kiện xảy ra Sau khi nhận được thông báo thành công, webhook sẽ trả về status code 200 OK về cho trang web

Những đặc điểm của webhook:

Push: nhận dữ liệu theo thời gian thực

Bất cứ khi nào một events đã được cấu hình trước xảy ra thì ngay lập tức dữ liệu sẽ gửi đến URL đã đăng ký ngay lập tức với thời gian thực

Pipes: nhận dữ liệu và truyền đi

Một Pipe xảy ra khi WebHook của bạn không chỉ nhận dữ liệu thời gian thực, mà còn tiếp tục thực hiện khi có một event mới, kích hoạt các hành động không liên quan đến sự kiện ban đầu

Plugins: xử lý dữ liệu và trả lại thứ gì đó

Đây là nơi mà toàn bộ web trở thành một nền tảng lập trình Bạn có thể

sử dụng Webhook này để cho phép người khác mở rộng ứng dụng của bạn Ý tưởng chung là một ứng dụng web gửi dữ liệu qua Webhook cũng sẽ

sử dụng phản hồi từ webhooks để sửa đổi dữ liệu của riêng nó Theo cách này, webhook thay đổi ứng dụng của bạn nếu bạn muốn cho phép những người khác thực sự mở rộng và nâng cao khả năng của ứng dụng của bạn

2.4.1 Giới thiệu về Dialogflow

Hình 2.3: Giới thiệu Dialogflow

Dialogflow.com (tiền thân là API.AI) là một API do Google cung cấp nhằm giúp các lập trình viên dễ dàng hơn khi lập trình các sản phẩm có giao tiếp giữa

Trang 25

người dùng với sản phẩm thông qua các đoạn hội thoại bằng văn bản (text) hoặc giọng nói (voice)

Dialogflow là nền tảng về công nghệ tương tác giữa con người và máy tính dựa trên các cuộc trò truyện bằng ngôn ngữ tự nhiên và có thể được sử dụng để phát hiện các từ khóa và ý định trong câu của người dùng Vai trò của nó là giúp xây dựng chatbots sử dụng Machine Learning

Với DialogFlow hỗ trợ các tích hợp với các nền tảng, dịch vụ khác nhau như Facebook Messenger, các nền tảng Google, Skype, v.v chatbot của bạn sẽ làm việc với mọi nền tảng này nếu bạn thiết lập tích hợp đúng cách

Dialogflow sử dụng trí tuệ nhân tạo (AI) giúp phân tích ngôn ngữ tự nhiên để hiểu được những gì người dùng đưa vào

Hiện Dialogflow có 2 phiên bản:

- Standad: Hoàn toàn miễn phí để sử dụng

- Và Enterprise: Cần trả một ít tiền

2.4.2 Cấu trúc của Dialogflow

Dialogflow gồm có 5 phần chính là Agent, Intent, Entities, Fulfillment và Intergrations

Hình 2.4: Các phần của Dialogflow

Trang 26

b Intent

Intent là đại diện cho một ánh xạ giữa những gì người dùng đưa vào và hành động sẽ được thực hiện bởi phần mềm Một Intent là một tập những gì người dùng nói mà chúng có cùng một ý nghĩa

Hình 2.5: Các mục trong một Intent

Giao diện intent có các phần như sau:

Trang 28

Hình 2.7: Hình ảnh mục Events

Training Phrases

Là những gì mà người dùng có thể nói để thực hiện một yêu cầu nhất định

Có 2 loại user say trong Dialogflow:

@ Là những mẫu (template) văn bản mà nó sẽ tham chiếu đến các

entities

“ Là những ví dụ (example) mà người dùng sẽ có thể nói

Trang 29

Mặc dù Dialogflow hỗ trợ cả hai loại hình trên, nhưng khuyến cáo chúng ta chỉ nên sử dụng loại số 2 (example) vì nó giúp cho việc học cũng như xử lý của Dialogflow hoạt động nhanh & tối ưu hơn Ngoài ra, chúng ta hãy ghi nhớ khi tạo intents, nếu nhập được càng nhiều các ví dụ ở user say thì càng giúp cho Chatbot càng “thông minh” hơn

Action and parameters

Action (hành động) chính là giá trị mà Dialogflow hỗ trợ để giúp lập trình viên phân biệt được trong trường hợp này đâu là các văn bản liên quan đến Intent đề cập

và đâu là các văn bản khác Đi kèm với Action là các Parameter (tham số)

Hình 2.9: Hình ảnh của mục Action & Parameters

Parameters là các tham số thường được trích xuất trong câu nói của người dùng, được liên kết với các entities Mỗi tham số là giá trị được trích xuất từ văn bản của người dùng thông qua việc sử dụng các entities tương ứng, ví dụ: Tham số address, kiểu @sys.location, khi đó, trong văn bản của người dùng có Hà Nội, hay

Đà Nẵng, Tokyo, New York, Paris,… thì sẽ được Dialogflow xử lý để gán vào cho tham số address

Khi định nghĩa các tham số, có các thông tin mà chúng ta cần quan tâm:

 Constant: Là giá trị mà chúng ta nhập vào ô value, tham số sẽ luôn luôn mang giá trị này

Trang 30

 Default: Là giá trị mặc định được gán cho tham số nếu trong văn bản của người dùng không đề cập đến

 IsList: giúp Dialogflow xác định cả 3 giá trị sẽ được gán vào cho cùng

1 tham số

 Required: Khi required được lựa chọn, nếu trong văn bản của người dùng mà Dialogflow không tìm được giá trị để gán vào cho tham số, Dialogflow sẽ đánh dấu để yêu cầu người dùng đưa vào Khi đó câu hỏi

từ chatbot để yêu cầu người dùng cung cấp thông tin sẽ được viết tại mục Prompt

Respone

Respone là những câu trả lời tương ứng với những câu hỏi người dùng đặt ra ở trên, chúng ta có thể sử dụng giá trị của parameters để trả lời cho người dùng Để sử dụng , chúng ta sử dụng theo định dạng $parameter_name

Hình 2.10: Hình ảnh mục Responses

Fulfillment

Cài đặt để cho phép bạn gửi thông tin từ intent đó khi nó được người dùng yêu cầu đến web service và nhận thông tin xử lí từ nó Thông tin được gửi dưới định dạng Json có cấu trúc như sau:

Trang 31

Hình 2.11: Hình ảnh của mục Fulfillment

Trong đó, có 4 mục chính là:

 responseId : Id duy nhất cho mỗi yêu cầu

 session: Id làm việc duy nhất

 queryResult: Kết quả của yêu cầu đoạn hội thoại

 originalDetectIntentRequest: Yêu cầu đến từ một nền tảng tích hợp

c Entities

Khái niệm

Entities là những công cụ được sử dụng để trích xuất các giá trị của tham số từ ngôn ngữ tự nhiên Bất kỳ những gì mà bạn muốn biết từ nội dung của người dùng đều sẽ có một Entity tương ứng

Trang 32

Hình 2.12: Hình ảnh của mục Entities

Phân loại

Dialogflow định nghĩa ra ba loại Entities:

 System (là các entities được tạo bởi Dialogflow)

 Developer (là các entities được tạo bởi lập trình viên)

 User (là entities được tạo ra cho mỗi lần hỏi của người dùng)

System Entities

Đây là những entities được tạo sẵn bởi Dialogflow (giống như trong ngôn ngữ lập trình thì String, Number,… là những kiểu dữ liệu được tạo sẵn bởi ngôn ngữ lập trình) để tạo điều kiện cho lập trình viên dễ dàng hơn trong việc xử lý những nghiệp

vụ cơ bản của mọi loại Chatbot Tùy thuộc vào ngôn ngữ là Tiếng Anh, tiếng Pháp, hay tiếng Nhật,… mà số lượng system entities của mỗi ngôn ngữ sẽ khác nhau

Developer Entities

Đây là những entities do lập trình viên tạo ra

Cấu tạo của entities

Cấu tạo entities kiểu mapping gồm 2 thành phần:

 Reference value (Là giá trị mà developer cần nhận được)

 Synonyms (Là những từ đồng nghĩa)

Trang 33

Ý nghĩa của nó là khi người dùng nói có đề cập đến bất kỳ văn bản nào giống như những văn bản trong phần synonyms thì nó đều được ánh xạ về giá trị reference

d Fulfillment

Fulfillment (hay Webhook) là một API ở Backend mà chúng ta cần cung cấp

để Dialogflow gọi đến khi cần xử lý nghiệp vụ trước khi Dialogflow trả lời lại cho người dùng Service của bạn sẽ nhận POST request từ Dialogflow bất kỳ khi nào người dùng nhắn tin đến Dialogflow

e Integrations

Đây là mục để tích hợp Dialogflow vào các nền tảng nhắn tin khác Có rất nhiều nền tảng được Dialogflow hỗ trợ

Hình 2.13: Các nền tảng tích hợp trong Integrations

Trang 34

2.5.2 Phần cứng của Raspberry Pi 3

Trang 35

Hình 2.15: Phần cứng của Raspberry Pi

Thông số kỹ thuật Nội dung

Nguồn cung cấp 5V DC, dòng cấp tối thiểu

OpenGL ES 2.0 (tốc độ

24 GFLOPS)

MPEG-2 và VC-1, 1080p30 H.264/MPEG-4 AVC

Trang 36

RAM 1 Gb SDRAM (được chia

sẻ giữa GPU và CPU)

Cổng USB 4 cổng USB 2.0

Ngõ vào video

Cổng CSI (15 chân) sử dụng chung với module camera

Ngõ ra video HDMI (rev 1.3.và 1.4)

Ngõ ra audio Cổng audio 3.5 mm hoặc

Bảng 2.1: Bảng thông số kỹ thuật của Raspberry Pi

Trung tâm của RPi là vi xử lý Broadcom BCM2835 chạy ở tốc độ 700mHz Đây là vi xử lý SoC (system-on-chip) tức là hầu hết mọi thành phần của hệ thống gồm CPU, GPU cũng như audio, communication chip đều được tích hợp trong một Chip SoC này nằm ngay bên dưới chip memory Hynix 512 MB màu đen ở giữa board

Trang 37

Hình 2.16: Các cổng giao tiếp trên Raspberry

Trên kit sử dụng các cổng giao tiếp sau:

HDMI: Hỗ trợ các độ phân giải từ 640x350 đến 1920x1200 theo cả 2

chuẩn màu PAL và NTSC Dòng cấp cho cổng HDMI là 50 mA

CSI: Trên kit có cổng kết nối với module camera thường hoặc camera

NoIR (dành riêng cho kit Raspberry Pi) gồm 15 chân Dòng cấp cho camera là khoảng 250 mA

Audio: Kit hỗ trợ xuất âm thanh qua cổng Audio chuẩn 3.5 mm

Cổng Ethernet: Chuẩn giao tiếp RJ45, tốc độ 10/100 Mbit/s

Khe cắm thẻ nhớ microSD: Mọi dữ liệu, bao gồm cả hệ điều hành của

kit được lưu trữ trên thẻ nhớ Ta nên sử dụng thẻ nhớ microSD class 10, dung lượng tối thiểu là 8Gb để đảm bảo tốc độ cũng như không gian lưu trữ

Cổng USB: Trên kit có 4 cổng USB chuẩn A Mặc định dòng cấp tối đa

ở các cổng này là 600 mA Kit sử dụng IC AP2553W6 để quản lý năng lượng trên các cổng USB, do đó ta có thể thay đổi dòng cung cấp từ

0.6A đến 1.2A bằng cách thay đổi giá trị trong tập tin /boot/config.txt

Việc cấu hình sai có thể gây hại cho kit

TFT Touch Screen: nơi đây sẽ giúp cho bạn có thể kết nối Raspberry

Pi với màn hình cảm ứng để hiển thị và sử dụng Raspberry một cách trực quan nhất Chúng ta có thể thực hiện các tác vụ tương đương như khi sử dụng chuột và bàn phím

Trang 38

TV: dùng để kết nối và phát tín hiệu hình ảnh lên Tivi

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

Raspberry PI 2 có 40 chân giao tiếp như hình 2.17 bên dưới Các GPIO có thể được sử dụng để điều khiển ngoại vi như LEDs, động cơ, relays,…Nó cũng có thể được sử dụng để đọc trạng thái của nút nhấn, switch, hoặc các cảm biến như cảm biến nhiệt độ, độ ẩm, các module RFID, module cảm biến gia tốc,…

Lưu ý là các chân GPIO xuất tín hiệu ở mức điện áp là 3.3V, tổng dòng cấp đồng thời cho tất cả các chân là 50 mA Như vậy mỗi chân GPIO có dòng ngõ ra dao động trong khoảng 2mA đến 16 mA GPIO không được thiết kế để kéo tải có công suất lớn Chân nguồn số 2 và số 4 có thể sử dụng để cấp nguồn Các chân này

có dòng cấp phụ thuộc vào nguồn cung cấp cho kit hoạt động Ví dụ: nguồn cung cấp là 1000 mA thì chúng có thể cung cấp dòng vào khoảng 300 mA Để lập trình giao tiếp có các GPIO này, ta cần có thư viện chân của chúng Tùy thuộc vào ngôn ngữ lập trình đang sử dụng là C hay Python mà có thư viện tương ứng Đối với ngôn ngữ C, ta cài đặt thư viện BCM2835 do Mike McCauley phát triển, tương ứng với Python là thư viện RPi.GPIO

Hình 2.17: Sơ đồ chân GPIO

Trang 39

GPIO: Raspberry Pi cung cấp nhiều cổng GPIO, giao tiếp SPI, I2C, Serial

Các cổng GPIO được sử dụng để xuất/nhận giá trị 0/1 ra/vào từ bên ngoài Giao tiếp SPI, I2C, Serial có thể được dùng để kết nối trực tiếp với các vi điều khiển khác.Đặc biệt phù hợp cho những ai cần điều khiển các thiết bị điện tử ngoại vi

Hình 2.18: Hình ảnh thực tế các chân GPIO 2.5.3 Hệ điều hành Raspbian cho kit Raspberry Pi

Các Raspberry Pi sử dụng hệ điều hành dựa trên nền tảng Linux Phần cứng GPU được truy cập thông qua Image Firmware được nạp vào GPU vào lúc khởi

động từ thẻ SD Linux là tên gọi của một họ các hệ điều hành mã nguồn mở Lúc

đầu, nó được phát triển để chạy trên các máy tính PC dựa trên kiến trúc Intel X86 nhưng hiện nay, Linux đã được port qua nhiều kiến trúc khác Cái tên Linux được gọi do nó sử dụng nhân hệ điều hành là Linux kernel Linux kernel được giới thiệu lần đầu vào tháng 10 năm 1991, được viết và duy trì bởi Linus Torvalds Từ Linux, người ta đã phát triển nhiều hệ điều hành khác nhau như Ubuntu, Debian, CentOS, Red Hat,…gọi chung là các bản phân phối

Raspbian là một bản phân phối mã nguồn mở, được xây dựng dựa trên Debian, nhưng được tối ưu để phù hợp với phần cứng của kit Raspberry Pi Phiên bản đầu tiên ra đời vào tháng 6 năm 2012 Hiện nay, Raspbian vẫn đang là một trong những bản phân phối phổ biến và được cộng đồng hỗ trợ nhiều nhất dành cho Raspberry Pi, với hơn 35000 gói phần mềm có sẵn

Trang 40

Raspbian sử dụng môi trường Desktop (Desktop Evironments) là MATE Nó được phát triển từ giao diện GNOME 2, cung cấp một giao diện người dùng (GUI) hoàn chỉnh bằng cách sử dụng chung một toolkit và thư viện để xây dựng các thành phần đồ họa

Hình 2.19: Giao diện hệ điều hành Raspbian

Trên kit Raspberry Pi, quá trình boot hệ điều hành Raspbian được trợ giúp bởi GPU nằm trên SoC GPU chứa một lõi RISC nhỏ để có thể chạy các đoạn code nằm trên ROM của nó Nhờ những đoạn code này, GPU có thể khởi tạo cho chính bản thân nó cũng như cho thẻ nhớ SD-nơi chứa hệ điều hành của kit

2.6.1 Giới thiệu động cơ servo

Servo là một dạng động cơ điện đặc biệt Không giống như động cơ thông thường cứ cắm điện vào là quay liên tục, servo chỉ quay khi được điều khiển (bằng xung PWM) với góc quay nằm trong khoảng bất kì từ 0o - 180o, tuy nhiên còn có loại quay được từ 0o - 360o Mỗi loại servo có kích thước, khối lượng và cấu tạo khác nhau Có loại thì nặng chỉ 9g (chủ yếu dùng trên máy bay mô mình), có loại thì sở hữu một momen lực lớn (vài chục Newton/m), hoặc có loại thì khỏe và nhông sắc chắc chắn,

Ngày đăng: 21/05/2019, 15:27

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Trần Thu Hà, “Giáo trình điện tử cơ bản”, NXB ĐH Quốc Gia Tp.HCM, 2013 Sách, tạp chí
Tiêu đề: Giáo trình điện tử cơ bản
Nhà XB: NXB ĐH Quốc Gia Tp.HCM
[2] Hoàng Ngọc Văn, “Giáo trình thực hành điện tử công suất”, Trường ĐH Sư Phạm Kỹ Thuật Tp.HCM, 2015 Sách, tạp chí
Tiêu đề: Giáo trình thực hành điện tử công suất
[3] Matt Richardson and Shawn Wallace, “Getting Started with Raspberry Pi”, Pushlished by O’Reilly Media, Inc., 2012 Sách, tạp chí
Tiêu đề: Getting Started with Raspberry Pi
[4] Cao Văn Tiến và Nguyễn Văn Nghĩa, “Điều khiển thiết bị qua internet dùng raspberry pi 2 thông qua wifi”, Trường ĐH SPKT Tp.HCM, 2016 Sách, tạp chí
Tiêu đề: Điều khiển thiết bị qua internet dùng raspberry pi 2 thông qua wifi
[5] Nick Quinlan, “What’s a webhook”, www.sendgrid.com, 2014 Sách, tạp chí
Tiêu đề: What’s a webhook
[6] Sachin Kumar, “How to create a chatbot using Dialogflow Enterprise Edition and Dialogflow API V2”, 2018 Sách, tạp chí
Tiêu đề: How to create a chatbot using Dialogflow Enterprise Edition and Dialogflow API V2
[7] Jestin Cubetech, “Safe and simple AC pwm dimmer for Arduino/ Raspberry pi”, 2013 Sách, tạp chí
Tiêu đề: Safe and simple AC pwm dimmer for Arduino/ Raspberry pi
[8] Tài liệu trên website Dialogflow: https://dialogflow.com/docs/getting-started [9] Trang chủ của Raspberry : https://www.raspberrypi.org Link
[10] Website datasheet linh kiện: alldatasheet.com Khác

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w