You are on page 1of 108

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:

THIẾT KẾ VÀ THI CÔNG MÔ HÌNH


ĐIỀU KHIỂN THIẾT BỊ ĐIỆN

GVHD: ThS. Nguyễn Đình Phú


SVTH: Nguyễn Tri Phương 14141238
Võ Duy Tâm 14141276

Tp. Hồ Chí Minh – 7/2019


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:

THIẾT KẾ VÀ THI CÔNG MÔ HÌNH


ĐIỀU KHIỂN THIẾT BỊ ĐIỆN

GVHD: ThS. Nguyễn Đình Phú


SVTH: Nguyễn Tri Phương 14141238
Võ Duy Tâm 14141276

Tp. Hồ Chí Minh – 7/2019


TRƯỜNG ĐH SPKT TP. HỒ CHÍ MINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
KHOA ĐIỆN-ĐIỆN TỬ ĐỘC LẬP - TỰ DO - HẠNH PHÚC
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH ----o0o----
Tp. HCM, ngày 28 tháng 6 năm 2019

NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP


Họ tên sinh viên: Nguyễn Tri Phương MSSV: 14141238
Võ Duy Tâm MSSV: 14141276
Chuyên ngành: Công nghệ kỹ thuật điện tử truyền thông Mã ngành: 141
Hệ đào tạo: Đại học chính quy Mã hệ: 1
Khóa: 2014 Lớp: 14141DT
I. TÊN ĐỀ TÀI:
THIẾT KẾ VÀ THI CÔNG MÔ HÌNH ĐIỀU KHIỂN
THIẾT BỊ ĐIỆN
II. NHIỆM VỤ:
1. Các số liệu ban đầu
- Nguyễn Đình Phú, Giáo trình Vi điều khiển, Trường ĐH Sư Phạm Kỹ Thuật Tp.
Hồ Chí Minh.
- Trần Thu Hà – Trương Thị Bích Ngà – Nguyễn Thị Lưỡng – Bùi Thị Tuyết Đan
– Phù Thị Ngọc Hiếu – Dương Thị Cẩm Tú, Giáo trình Điện tử cơ bản, Nhà
xuất bản ĐH Quốc gia Tp. Hồ Chí Minh.
- Nguyễn Đình Phú – Nguyễn Trường Duy, Giáo trình Kỹ thuật số, Nhà xuất bản
ĐH Quốc gia Tp. Hồ Chí Minh.
2. Nội dung thực hiện
- Điều khiển và giám sát thiết bị thông qua Internet.
- Thiết kế giao diện ứng dụng, Web Server.
- Thi công mạch và mô hình.
- Cân chỉnh hệ thống.
- Đánh giá kết quả thực hiện.

i
- Viết báo cáo.
- Báo cáo đề tài.
III. NGÀY GIAO NHIỆM VỤ: 18/02/2019
IV. NGÀY HOÀN THÀNH NHIỆM VỤ: 30/06/2019
V. HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: ThS. Nguyễn Đình Phú

CÁN BỘ HƯỚNG DẪN BM. ĐIỆN TỬ CÔNG NGHIỆP – Y SINH

ii
TRƯỜNG ĐH SPKT TP. HỒ CHÍ MINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
KHOA ĐIỆN-ĐIỆN TỬ ĐỘC LẬP - TỰ DO - HẠNH PHÚC
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH ----o0o----
Tp.HCM, ngày 28 tháng 6 năm 2019

LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP

Họ tên sinh viên 1: Nguyễn Tri Phương


Lớp: 14141DT1B MSSV: 14141238
Họ tên sinh viên 2: Võ Duy Tâm
Lớp: 14141DT2C MSSV: 14141276
Tên đề tài:
Thiết kế và thi công mô hình điều khiển thiết bị điện

Xác nhận
Tuần/ngày Nội dung
GVHD
Tuần 1 Gặp GVHD để trao đổi về đề tài đồ án, tiến hành
(18/2 – 24/2) chọn đề tài

Tuần 2 Tìm hiểu các đề tài có liên quan


(25/2 – 3/3) Báo cáo hướng thực hiện đề tài với GVHD

Tuần 3
Viết đề cương chi tiết, lịch trình thực hiện
(4/3 – 10/3)

Tuần 4 Thiết kế sơ đồ khối, sơ đồ nguyên lý


(11/3 – 17/3) Lựa chọn linh kiện

Tuần 5
Tìm hiểu module Wifi ESP32
(18/3 – 24/3)

Tuần 6 Báo cáo tiến độ cho GVHD


(25/3 – 31/3) Lập trình cho ESP32 điều khiển Led đơn

Tuần 7
Tìm hiểu hệ điều hành Android, Web Server
(1/4 – 7/4)

iii
Tuần 8
Thiết kế ứng dụng, giao diện Web
(8/4 – 14/4)

Tuần 9
Lập trình ESP32 điều khiển được thiết bị điện
(15/4 – 21/4)

Báo cáo tiến độ cho GVHD


Tuần 10, 11 Tổng hợp chương trình, giao tiếp giữa các
(22/4 – 5/5) module điều khiển, truyền nhận dữ liệu qua
Internet

Tuần 12
Tiến hành vẽ và thi công mạch phần cứng
(6/5 – 12/5)

Tuần 13
Tiến hành vẽ và thi công mạch phần cứng
(13/5 – 19/5)

Tuần 14 Thi công mô hình


(20/5 – 26/5) Viết báo cáo

Hoàn thành mạch, mô hình


Tuần 15
Kiểm tra hoạt động hệ thống
(27/5 – 2/6)
Viết báo cáo

Tuần 16, 17
Hoàn thiện báo cáo và mô hình
(3/6 – 16/6)

GV HƯỚNG DẪN
(Ký và ghi rõ họ và tên)

iv
LỜI CAM ĐOAN
Chúng tôi xin cam kết khóa luận tốt nghiệp này là đề tài do chính chúng tôi
nghiên cứu và thực hiện. Chúng tôi chỉ dựa trên mà không sao chép từ bất kì tài liệu
hay công trình nào đã được thực hiện trước đó. Nếu có bất kỳ vi phạm nào, chúng tôi
xin hoàn toàn chịu trách nhiệm.

Người thực hiện


Nguyễn Tri Phương
Võ Duy Tâm

v
LỜI CẢM ƠN
Chúng em xin chân thành gửi lời cảm ơn sâu sắc đến Thầy Nguyễn Đình Phú.
Trong suốt quá trình thực hiện đề tài này, Thầy luôn là người đồng hành cùng chúng
em với sự chỉ dẫn tận tình, những lời góp ý nhận xét và những kinh nghiệm quý báu
được Thầy truyền đạt lại đã tạo điều kiện thuận lợi để chúng em hoàn thành tốt đề tài.
Chúng em xin cảm ơn đến các Thầy, Cô trong khoa Điện – Điện tử đã giảng
dạy cho chúng em những kiến thức nền tảng để chúng em có tiền đề thực thiện đề tài
này.
Cảm ơn cha mẹ đã tạo điều kiện tốt nhất, là động lực mạnh mẽ để con hoàn
thành khóa luận này.
Xin chân thành cảm ơn.

Người thực hiện


Nguyễn Tri Phương
Võ Duy Tâm

vi
MỤC LỤC

NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP ........................................................................... i


LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP ............................................... iii
LỜI CAM ĐOAN .......................................................................................................v
LỜI CẢM ƠN ........................................................................................................... vi
MỤC LỤC ................................................................................................................ vii
LIỆT KÊ HÌNH ........................................................................................................ xii
LIỆT KÊ BẢNG .......................................................................................................xv
TÓM TẮT ............................................................................................................... xvi
Chương 1. TỔNG QUAN ...........................................................................................1
1.1. ĐẶT VẤN ĐỀ ...............................................................................................1

1.2. MỤC TIÊU ĐỀ TÀI ......................................................................................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. SỬ DỤNG THIẾT BỊ ĐIỆN DÂN DỤNG ...................................................4

2.2. TỔNG QUAN VỀ INTERNET OF THINGS ...............................................4

2.2.1. Giới thiệu .............................................................................................4

2.2.2. Lịch sử hình thành ...............................................................................6

2.2.3. Ứng dụng của IoT ................................................................................6

2.3. CÔNG NGHỆ WIFI ....................................................................................10

2.3.1. Giới thiệu ...........................................................................................10

2.3.2. Công nghệ truyền nhận dữ liệu .........................................................10

2.3.3. Thành phần của mạng Wifi ...............................................................11

2.3.4. Cấu trúc liên kết ................................................................................11

2.3.5. Hotspot ..............................................................................................12

vii
2.3.6. Cách thức hoạt động ..........................................................................12

2.3.7. Giao tiếp trong Wifi ..........................................................................13

2.3.8. Ưu nhược điểm ..................................................................................14

2.3.9. Bảo mật ..............................................................................................14

2.4. HỆ ĐIỀU HÀNH ANDROID .....................................................................14

2.4.1. Giới thiệu ...........................................................................................14

2.4.2. Lịch sử ...............................................................................................15

2.4.3. Tính năng ...........................................................................................15

2.4.4. Kiến trúc cơ bản ................................................................................16

2.4.5. Thành phần của ứng dụng Android ...................................................17

2.4.6. Ưu nhược điểm ..................................................................................18

2.5. GIAO THỨC MQTT ...................................................................................19

2.5.1. Giới thiệu ...........................................................................................19

2.5.2. Lịch sử ...............................................................................................19

2.5.3. Thành phần của MQTT .....................................................................20

2.5.4. MQTT QoS ........................................................................................21

2.5.5. Broker trong IoT ................................................................................21

2.5.6. Ưu điểm .............................................................................................22

2.5.7. Bảo mật ..............................................................................................22

2.6. GIỚI THIỆU NODE – RED........................................................................22

2.6.1. Giới thiệu ...........................................................................................22

2.6.2. Node – RED và IoT ...........................................................................23

2.6.3. Tính năng ...........................................................................................24

2.7. GIỚI THIỆU PHẦN CỨNG .......................................................................25

2.7.1. Giới thiệu chip Wifi ESP32 ...............................................................25

2.7.1.1. Tổng quan ESP32...........................................................................25

2.7.1.2. Đặc điểm ........................................................................................27


viii
2.7.1.3. Sơ đồ chân của module ESP32-WOOM-32 ..................................28

2.7.1.4. Chức năng tích hợp trong ESP32 ...................................................31

2.7.1.4.1. CPU và kiến trúc bộ nhớ .............................................................31

2.7.1.4.2. Timers và Watchdogs..................................................................32

2.7.1.4.3. Hệ thống xung đồng hồ (Clock) ..................................................33

2.7.1.4.4. Wifi .............................................................................................33

2.7.1.4.5. Bluetooth .....................................................................................34

2.7.1.4.6. RTC và quản lý năng lượng thấp ................................................34

2.7.1.5. Thiết bị ngoại vi và cảm biến của ESP32 ......................................34

2.7.1.6. Đặc tính về điện .............................................................................36

2.7.1.7. Sơ đồ nguyên lý module ESP32-WOOM-32 .................................37

2.7.2. Giới thiệu cảm biến ...........................................................................38

2.7.2.1. Giới thiệu .......................................................................................38

2.7.2.2. Hoạt động .......................................................................................38

Chương 3: TÍNH TOÁN VÀ THIẾT KẾ .................................................................41


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

3.2. TÍNH TOÁN VÀ THIẾT KẾ ......................................................................41

3.2.1. Thiết kế sơ đồ khối hệ thống .............................................................41

3.2.2. Tính toán và thiết kế ..........................................................................43

3.2.2.1. Khối xử lý trung tâm ......................................................................43

3.2.2.2. Khối ngõ ra công suất ....................................................................44

3.2.2.3. Khối cảm biến ................................................................................47

3.2.2.4. Khối nguồn .....................................................................................49

3.2.2.5. Sơ đồ nguyên lý toàn mạch ............................................................51

Chương 4: THI CÔNG HỆ THỐNG ........................................................................52


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

4.2. THI CÔNG HỆ THỐNG .............................................................................52

ix
4.2.1. Thi công board mạch .........................................................................52

4.2.2. Lắp ráp và kiểm tra ............................................................................56

4.3. ĐÓNG GÓI VÀ THI CÔNG MÔ HÌNH ....................................................56

4.3.1. Đóng gói bộ điều khiển .....................................................................56

4.3.2. Thi công mô hình ..............................................................................57

4.4. LẬP TRÌNH HỆ THỐNG ...........................................................................57

4.4.1. Lưu đồ giải thuật ...............................................................................57

4.4.1.1. Lưu đồ giải thuật mạch điều khiển.................................................57

4.4.1.2. Lưu đồ giải thuật Web Server ........................................................59

4.4.2. Phần mềm lập trình vi điều khiển ......................................................61

4.4.2.1. Giới thiệu .......................................................................................61

4.4.2.2. Chương trình điều khiển ................................................................65

4.4.3. Web Server ........................................................................................65

4.4.4. Ứng dụng Android .............................................................................71

4.5. HƯỚNG DẪN SỬ DỤNG, THAO TÁC ....................................................74

4.5.1. Viết tài liệu hướng dẫn sử dụng ........................................................74

4.5.2. Quy trình thao tác ..............................................................................74

Chương 5: KẾT QUẢ, NHẬN XÉT VÀ ĐÁNH GIÁ .............................................76


5.1. GIỚI THIỆU ................................................................................................76

5.2. KẾT QUẢ ĐẠT ĐƯỢC ..............................................................................76

5.3. KẾT QUẢ THỰC NGHIỆM .......................................................................76

5.3.1. Mô hình .............................................................................................76

5.3.2. Điều khiển và giám sát thiết bị, cảm biến qua Web Server ..............77

5.3.3. Điều khiển và giám sát thiết bị, cảm biến qua ứng dụng Android ....79

5.4. NHẬN XÉT VÀ ĐÁNH GIÁ .....................................................................80

5.4.1. Nhận xét.............................................................................................80

5.4.2. Đánh giá.............................................................................................80

x
Chương 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ..............................................82
6.1. KẾT LUẬN .................................................................................................82

6.1.1. Ưu điểm .............................................................................................82

6.1.2. Khuyết điểm ......................................................................................82

6.2. HƯỚNG PHÁT TRIỂN ..............................................................................82

TÀI LIỆU THAM KHẢO .........................................................................................83


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

xi
LIỆT KÊ HÌNH
Hình 2.1. Internet of things .........................................................................................5
Hình 2.2. Ứng dụng của IoT .......................................................................................6
Hình 2.3. Smart Home .................................................................................................7
Hình 2.4. IoT trong giao thông vận tải .......................................................................7
Hình 2.5. IoT trong y tế ...............................................................................................8
Hình 2.6. IoT trong nông nghiệp .................................................................................9
Hình 2.7. Smart City....................................................................................................9
Hình 2.8. Biểu tượng Wifi .........................................................................................10
Hình 2.9. Cấu trúc liên kết ngang hàng ....................................................................11
Hình 2.10. Cấu trúc liên kết dựa trên AP .................................................................12
Hình 2.11. Cách thức hoạt động của mạng Wifi .......................................................13
Hình 2.12. Cách thức giao tiếp trong mạng Wifi ......................................................13
Hình 2.13. Biểu tượng Android .................................................................................15
Hình 2.14. Một số ứng dụng Android .......................................................................18
Hình 2.15. Giao thức MQTT .....................................................................................19
Hình 2.16. Hoạt động của client ...............................................................................20
Hình 2.17. Hoạt động của Topic ...............................................................................20
Hình 2.18. Thành phần của một MQTT trong hệ thống IoT .....................................21
Hình 2.19. Một Node - RED cơ bản ..........................................................................23
Hình 2.20. Node – RED và IoT .................................................................................24
Hình 2.21. Giao diện Node – RED ............................................................................24
Hình 2.22. Module ESP32-WOOM-32 .....................................................................26
Hình 2.23. Kiến trúc của ESP32 ...............................................................................26
Hình 2.24. Sơ đồ bố trí chân của module ESP32-WOOM-32 ..................................31
Hình 2.25. Cấu trúc và địa chỉ bộ nhớ của ESP32 ...................................................32
Hình 2.26. Sơ đồ nguyên lý module ESP32-WOOM-32 ...........................................37
Hình 2.27. Sơ đồ nguyên lý thiết bị ngoại vi module ESP32-WOOM-32 .................38
Hình 2.28. Sơ đồ chân DHT11 ..................................................................................38
Hình 2.29. Xung bắt đầu DHT11 ..............................................................................39
Hình 2.30. Gửi xung phản hồi của DHT11 ...............................................................39
Hình 2.31. Gửi dữ liệu chứa bit 0, bit 1 ....................................................................40
xii
Hình 2.32. Kết thúc đọc giá trị của DHT11 ..............................................................40
Hình 3.1. Sơ đồ mô hình hệ thống .............................................................................41
Hình 3.2. Sơ đồ khối hệ thống ...................................................................................42
Hình 3.3. Ảnh thực tế board ESP32-DevKitC ..........................................................43
Hình 3.4. Sơ đồ nguyên lý board điều khiển ESP32-DevKitC ..................................44
Hình 3.5. Relay 5V-10A ............................................................................................45
Hình 3.6. Diode 1N4007, Opto PC817 và transistor C1815 ....................................46
Hình 3.7. Sơ đồ nguyên lý khối công suất ngõ ra .....................................................47
Hình 3.8. Cảm biến DHT11 ......................................................................................48
Hình 3.9. Sơ đồ kết nối cảm biến DHT11 với ESP32 ...............................................48
Hình 3.10. Module nguồn AC-DC.............................................................................49
Hình 3.11. Sơ đồ nguyên lý mạch nguồn ..................................................................50
Hình 3.12. Sơ đồ nguyên lý toàn mạch .....................................................................51
Hình 4.1. Sơ đồ bố trí linh kiện mạch điều khiển ......................................................53
Hình 4.2. Sơ đồ đi dây mạch in lớp trên ...................................................................53
Hình 4.3. Sơ đồ đi dây mạch in lớp dưới ..................................................................54
Hình 4.4. Sơ đồ 3D mạch điều khiển ........................................................................54
Hình 4.5. Mạch điều khiển sau khi lắp linh kiện.......................................................56
Hình 4.6. Ảnh hộp dựng mạch điều khiển .................................................................56
Hình 4.7. Mô hình mặt trong và mặt ngoài hệ thống ................................................57
Hình 4.8. Lưu đồ điều khiển thiết bị..........................................................................58
Hình 4.9. Lưu đồ Web Server ....................................................................................60
Hình 4.10. Biểu tượng VSCode .................................................................................61
Hình 4.11. Giao diện trang Web tải VSCode ............................................................62
Hình 4.12. Giao diện khởi động VSCode ..................................................................63
Hình 4.13. Cài đặt PlatformIO IDE ..........................................................................63
Hình 4.14. Tạo dự án lập trình cho board ESP32-DevKitC .....................................64
Hình 4.15. Giao diện lập trình ..................................................................................64
Hình 4.16. Đăng ký tài khoản Cloud MQTT .............................................................65
Hình 4.17. Tạo một dự án mới trong Cloud MQTT ..................................................66
Hình 4.18. Thông tin cần thiết cho dự án trong Cloud MQTT .................................66
Hình 4.19. Một số dự án sau khi tạo .........................................................................66

xiii
Hình 4.20. Thông tin chi tiết cho một dự án .............................................................67
Hình 4.21. Nơi giám sát và điều khiển dữ liệu..........................................................67
Hình 4.22. Khởi động Node – RED...........................................................................68
Hình 4.23. Màn hình giao diện thiết kế Web ............................................................69
Hình 4.24. Tạo kết nối với Server .............................................................................69
Hình 4.25. Cấu hình địa chỉ kết nối ..........................................................................69
Hình 4.26. Một nút điều khiển cơ bản .......................................................................70
Hình 4.27. Cấu hình cho một nút ..............................................................................70
Hình 4.28. Tiến hành deploy giao diện .....................................................................71
Hình 4.29. Giao diện nút điều khiển .........................................................................71
Hình 4.30. Ứng dụng MQTT Dashboard ..................................................................71
Hình 4.31. Bảng thuộc tính MQTT Dashboard ........................................................72
Hình 4.32. Tạo một Broker .......................................................................................73
Hình 4.33. Thiết kế và chỉnh sửa giao diện ứng dụng ..............................................73
Hình 4.34. Quy trình thao tác ...................................................................................74
Hình 5.1. Mô hình hệ thống khi được cấp nguồn 220VAC .......................................76
Hình 5.2. Các thiết bị khi chưa được bật trên màn hình điều khiển .........................77
Hình 5.3. Các thiết bị được bật trên màn hình điều khiển ........................................77
Hình 5.4. Nhiệt độ và độ ẩm bộ điều khiển hiển thị trên giao diện Web ..................78
Hình 5.5. Trạng thái thiết bị được giám sát trên Cloud MQTT ................................78
Hình 5.6. Giao diện ứng dụng Android khi các thiết bị tắt, bật và giá trị cảm biến 79
Hình 5.7. Mô hình khi bật các thiết bị ......................................................................79

xiv
LIỆT KÊ BẢNG
Bảng 2.1: Thống kê các thiết bị điện trong phòng học và công suất tiêu thụ.............4
Bảng 2.2: Các phiên bản module của ESP32 ...........................................................25
Bảng 2.3: Thông số kỹ thuật cơ bản của module ESP32-WOOM-32 .......................27
Bảng 2.4: Định nghĩa các chân module ESP32-WOOM-32 .....................................28
Bảng 2.5: Các thông số đề nghị cho module ESP32-WOOM-32 .............................36
Bảng 3.1: Thông số kỹ thuật Relay ...........................................................................45
Bảng 3.2: Thông số kỹ thuật module cảm biến DHT11 ............................................48
Bảng 3.3: Dòng điện của các linh kiện sử dụng trong mạch điều khiển ..................49
Bảng 4.1: Danh sách linh kiện sử dụng ....................................................................55
Bảng 4.2: Thông tin server MQTT ............................................................................67
Bảng 5.1: Số liệu thực nghiệm ..................................................................................80

xv
TÓM TẮT
Công nghệ đã trở thành một phần không thể thiếu trong cuộc sống hiện đại. IoT,
hiện đã và đang phát triển mạnh mẽ trong những năm gần đây, nó đơn giản là một hệ
thống bao gồm tất cả mọi thứ xung quanh chúng ta được kết nối với nhau thông qua
Internet. Xu hướng này làm cho mọi thứ trở nên dễ dàng hơn bao giờ hết, khi mà sự
tương tác giữa con người và thiết bị được tối ưu hóa nhất có thể. Điều khiển, giám
sát thiết bị từ xa là một trong những ứng dụng phổ biến nhất của xu hướng này.
Với mục đích tiếp cận xu hướng trên và mong muốn nắm bắt những công nghệ
mới nên nhóm chúng tôi quyết định thực hiện đề tài “Thiết kế và thi công mô hình
điều khiển thiết bị điện”. Đề tài này sẽ là một hệ thống hoàn thiện bao gồm phần
cứng phần mềm, và có thể đáp ứng được cho các phòng học, phòng thí nghiệm, hộ
gia đình, …
Nội dung chính của đề tài
• Sử dụng board ESP32-DevKitC làm mạch điều khiển trung tâm.
• Điều khiển thiết bị trên ứng dụng Android và giao diện Web thông qua Internet.
• Giám sát trạng thái hoạt động của thiết bị qua Web Server.
• Lưu trữ trạng thái điều khiển của thiết bị.

xvi
CHƯƠNG 1. TỔNG QUAN

Chương 1. TỔNG QUAN

1.1. ĐẶT VẤN ĐỀ


Xã hội ngày càng phát triển không ngừng, công nghệ ngày càng hiện đại để đáp
ứng nhu cầu càng cao của con người. Chính vì thế công nghệ bây giờ đang gần gũi
với cuộc sống hằng ngày hơn bao giờ hết, chúng ta đang ở trong thời đại mà sự bùng
phát kỹ thuật tiên tiến và các ứng dụng của nó rất mạnh mẽ. Dưới bóng của nó là các
công nghệ được tích hợp trong rất nhiều lĩnh vực như ôtô, tàu điện ngầm, các lĩnh
vực y tế, giáo dục và cả trong nhà ở, ...
Trong những năm trở lại đây, kỹ thuật truyền và nhận dữ liệu không dây có
những bước phát triển vượt bậc nhằm thay thế các hệ thống dây dẫn phức tạp còn
nhiều hạn chế, không đáp ứng được cho việc truyền dẫn đến những khu vực xa xôi.
Sự ra đời và phát triển của công nghệ này đã góp phần làm cho các hệ thống điều
khiển thông minh, giám sát từ xa trở nên dễ dàng hơn. Hiện nay, có nhiều công nghệ
truyền nhận dữ liệu không dây như RF, NFC, Bluetooth, Wifi, ... Trong đó Wifi là
một trong số công nghệ phổ biến, được sử dụng rộng rãi nhất.
Để có thể tiếp cận và nắm bắt được xu thế đó, nhóm chúng tôi quyết định thực
hiện đề tài “Thiết kế và thi công mô hình điều khiển thiết bị điện”.
Như ý nghĩa của tên đề tài, chúng tôi mong muốn có thể nắm bắt xu hướng công
nghệ điều khiển thông minh hiện nay và qua đó chúng tôi hi vọng đề tài này sẽ ứng
dụng được cho các phòng học, phòng thực hành, các cơ quan làm việc chưa có hệ
thống điều khiển thích hợp, nhằm mục đích sử dụng hiệu quả các thiết bị điện cũng
như mang lại sự tiện lợi, an toàn cho người dùng.

1.2. MỤC TIÊU ĐỀ TÀI


Đề tài được nhóm nghiên cứu và thực hiện dựa trên những kiến thức đã học và
tìm hiểu. Nhóm sẽ thiết kế và thi công hệ thống điều khiển các thiết bị điện trong
phòng học qua ứng dụng Android trên điện thoại, đồng thời điều khiển và giám sát
được trạng thái của thiết bị từ xa qua Web.
Cụ thể hệ thống được tích hợp module ESP32 điều khiển thông qua Wifi và tất
cả dữ liệu được lưu trữ trên một Web Server.

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


CHƯƠNG 1. TỔNG QUAN

Qua khảo sát thực tế tại một số phòng học tại trường, nhóm sẽ thiết kế hệ thống
điều khiển cho một phòng học có 12 thiết bị bao gồm 4 đèn, 4 quạt, 3 loa và 1 tivi.
1.3. NỘI DUNG NGHIÊN CỨU
• Nội dung 1:
Tìm hiểu công nghệ Wifi. Các đặc điểm của công nghệ, cách thức giao tiếp và
chế độ hoạt động.
• Nội dung 2:
Tìm hiểu hệ điều hành Android.
• Nội dung 3:
Tìm hiểu cách gửi và nhận dữ liệu thông qua máy chủ Server MQTT.
• Nội dung 4:
Tìm hiểu module ESP32, thiết kế hệ thống giao tiếp.
• Nội dung 5:
Tính toán, thiết kế và thi công mạch phần cứng, phần mềm.
• Nội dung 6:
Thiết kế mô hình, lắp ráp các khối điều khiển.
• Nội dung 7:
Chạy thử, kiểm tra, cân chỉnh tối ưu hệ thống.
• Nội dung 8:
Đánh giá kết quả thực hiện.
• Nội dung 9:
Viết báo cáo luận văn tốt nghiệp.
• Nội dung 10:
Bảo vệ luận văn.
1.4. GIỚI HẠN
Mô hình giới hạn cho các thiết bị điện trong phòng học như: đèn, quạt, tivi, loa
hiển thị trạng thái hoạt động thông qua đèn báo trên mô hình.
Hệ thống điều khiển được 4 thiết bị điện 220VAC cho mỗi module.
Giao tiếp giữa ESP32, đồng bộ điều khiển thiết bị với ứng dụng Android và với
Web Server.
Giám sát được nhiệt độ và độ ẩm của bộ điều khiể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
Trình bày tổng quan về lý do chọn đề tài, mục tiêu, nội dung nghiên cứu, các
giới hạn và bố cục đồ án.
• Chương 2: Cơ Sở Lý Thuyết
Giới thiệu các lý thuyết liên quan, các linh kiện, thiết bị sử dụng và cách thức
giao tiếp với nhau.
• Chương 3: Thiết Kế Và Tính Toán
Thiết kế hệ thống, sơ đồ khối, sơ đồ nguyên lý chức năng từng khối và thực hiện
tính toán.
• Chương 4: Thi Công Hệ Thống
Thi công board mạch, thiết kế lưu đồ, giải thuật, chương trình. Thi công mô
hình hoàn chỉnh.
• Chương 5: Kết Quả, Nhận Xét Và Đánh Giá
Trình bày những kết quả đạt được sau thời gian thực hiện, một số hình ảnh từ
hệ thống. Đồng thời đưa ra nhận xét, đánh giá cho toàn bộ hệ thống.
• Chương 6: Kết Luận Và Hướng Phát Triển
Đưa ra những kết luận sau khi hoàn thiện sản phẩm, các hướng phát triển nâng
cấp hệ thống trong tương lai.

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. SỬ DỤNG THIẾT BỊ ĐIỆN DÂN DỤNG


Vấn đề sử dụng các thiết bị điện một cách hiệu quả và an toàn được đặt lên hàng
đầu đối với người sử dụng. Không chỉ ở những công trình, tòa nhà, hộ gia đình, mà
ngay cả văn phòng làm việc, phòng học thì việc tiết kiệm điện là hết sức cần thiết.
Dưới đây là bảng thống kê cho thấy các thiết bị điện chủ yếu được sử dụng trong một
phòng học và công suất của từng thiết bị.
Bảng 2.1: Thống kê các thiết bị điện trong phòng học và công suất tiêu thụ
STT Tên thiết bị điện Công suất tiêu thụ
P(W)
1 Đèn tuýp LED 1m2 36

2 TV LCD 32 inches 70

3 Điều hòa 2HP 1500

4 Loa 60

5 Quạt trần 75

Từ bảng trên, ta thấy mức độ tiêu thụ điện năng của từng thiết bị được sử dụng.
Nếu không sử dụng một cách phù hợp thì không chỉ gây lãng phí điện năng mà còn
làm giảm tuổi thọ của thiết bị. Với số lượng lớn phòng học ở các trường Đại học thì
mức độ thiệt hại này càng lớn. Do đó, chúng ta cần có một hệ thống điều khiển thông
minh và giám sát chặt chẽ các thiết bị điện nhằm góp phần nâng cao hiệu quả sử dụng,
tiết kiệm điện năng. Và đề tài này sẽ giải quyết vấn đề đó.

2.2. TỔNG QUAN VỀ INTERNET OF THINGS


2.2.1. Giới thiệu
Ngày nay, nhu cầu phát triển các ứng dụng liên quan đến Internet ngày càng
cao. Và IoT (Internet of things) là một công nghệ quan trọng bởi chúng ta có thể tạo
ra nhiều ứng dụng đa dạng phục vụ đa số mọi lĩnh vực trong đời sống từ nó.

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


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

Về cơ bản, IoT là một hệ thống mạng lưới mà trong đó tất cả các thiết bị, đối
tượng được kết nối Internet thông qua thiết bị mạng (network devices) hoặc các bộ
định tuyến (routers). IoT cho phép các đối tượng được điều khiển từ xa dựa trên hệ
thống mạng hiện tại. Công nghệ tiên tiến này giúp giảm công sức vận hành của con
người bằng cách tự động hóa việc điều khiển các thiết bị.

Hình 2.1. Internet of things


Các thành phần chính trong một hệ thống IoT:

• Thiết bị
Mỗi thiết bị sẽ bao gồm một hoặc nhiều cảm biến để phát hiện các thông số của
ứng dụng và gửi chúng đến Platform.
• IoT – Platform
Nền tảng này là một phần mềm được lưu trữ trực tuyến còn được gọi là điện
toán đám mây, các thiết bị được kết nối với nhau thông qua nó.
Nền tảng này thu thập dữ liệu từ thiết bị, toàn bộ dữ liệu được phân tích, xử lý,
phát hiện nếu có lỗi phát sinh trong quá trình hệ thống vận hành.
• Kết nối Internet
Để giao tiếp được trong IoT, kết nối Internet của các thiết bị là một điều bắt
buộc. Wifi là một trong những phương thức kết nối Internet phổ biến.
• Ứng dụng
Ứng dụng là giao diện để người dùng điều khiển.

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


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

2.2.2. Lịch sử hình thành


Khái niệm về một mạng lưới thiết bị được kết nối với nhau đã được thảo luận
vào đầu năm 1982, với một máy bán hàng tự động Coke được thực hiện ở Đại học
Carnegie Mellon trở thành thiết bị kết nối Internet đầu tiên trên thế giới.
Thuật ngữ “Internet of things” được sử dụng lần đầu tiên bởi Kevin Ashton vào
năm 1999. Sau đó IoT trải qua nhiều giai đoạn và có bước phát triển nhảy vọt cho
đến ngày nay.
2.2.3. Ứng dụng của IoT

Hình 2.2. Ứng dụng của IoT

• Nhà thông minh (Smart Home)


Đây là một trong những ứng dụng được quan tâm nhiều nhất trong những năm
gần đây. Một ngôi nhà thông minh hoàn toàn có thể được giám sát và điều khiển tự
động. Bạn có thể bật tắt đèn bằng một ứng dụng trên điện thoại, nếu lỡ quên tắt tivi
khi ra khỏi nhà bạn hoàn toàn có thể tắt nó ở một nơi có kết nối Internet, hoặc điều
hòa sẽ tự động điều chỉnh tăng hay giảm khi nhiệt độ bên ngoài thay đổi. Và còn vô
số ứng dụng khác nhằm mang lại sự tiện lợi nhất cho người dùng.
Hiện nay các chủ đầu tư xây dựng chung cư cũng đã tiếp cận với công nghệ này
do nhu cầu sở hữu căn hộ thông minh của người dùng ngày càng cao.

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


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

Hình 2.3. Smart Home

• Giao thông vận tải


An toàn là điều đầu tiên khi nghĩ đến tác động của IoT đối với giao thông vận
tải. Ý tưởng đưa ra là các phương tiện có khả năng liên lạc với nhau bằng cách sử
dụng dữ liệu đã được phân tích để có thể giảm đáng kể các sự cố tai nạn xảy ra khi
tham gia giao thông. Sử dụng cảm biến, các phương tiện như ô tô, xe buýt được cảnh
báo nguy cơ tiềm ẩn trên đường, hoặc thậm chí là tình trạng ùn tắt giao thông ở một
số tuyến đường.
Dịch vụ vận chuyển hàng hóa cũng được ứng dụng từ công nghệ này. Công
nghệ quản lý lịch trình vận chuyển, tối ưu hóa các tuyến giao hàng, mức tiêu thụ
nhiên liệu của phương tiện, giám sát tốc độ của tài xế giao hàng tuân thủ quy định an
toàn nhằm mang lại những lợi ích về kinh tế và sự hài lòng của khách hàng.

Hình 2.4. IoT trong giao thông vận tải


BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 7
CHƯƠNG 2. CƠ SỞ LÝ THUYẾT

• Chăm sóc sức khỏe


Một thiết bị có thể cảnh báo tình trạng và theo dõi sức khỏe là một trong những
ứng dụng trong lĩnh vực y tế.
Miếng dãn theo dõi sức khỏe cho bệnh nhân: bạn không cần đến bác sĩ, những
thông số về nhịp tim, huyết áp, đều được thu thập từ xa được phân tích sau đó chuẩn
đoán để đưa ra tình trạng sức khỏe hiện tại của bệnh nhân và có thể dự đoán nguy cơ
mắc bệnh nhằm có biện pháp phòng ngừa kịp thời.

Hình 2.5. IoT trong y tế

• Nông nghiệp (Smart Farming)


Mô hình nhà kín là một trong những ứng dụng điển hình của công nghệ IoT
được áp dụng trong lĩnh vực nông nghiệp. Và ở nước ta đã được áp dụng rộng rãi.
Bên trong hệ thống này cây trồng hoàn toàn cách ly với điều kiện thời tiết bên ngoài,
việc điều khiển nhiệt độ, độ ẩm, ánh sáng đều tự động hóa. Đồng thời theo dõi được
tình trạng phát triển của cây trồng, xác định thời gian thu hoạch, giảm thiểu tối đa
công suất người lao động.

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


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

Hình 2.6. IoT trong nông nghiệp

• Thành phố thông minh (Smart City)


Có thể xem đây là tập hợp của tất cả ứng dụng của IoT vào một hệ thống lớn.
Một giải pháp đã và đang được nhiều quốc gia trên thế giới áp dụng ở các thành phố
lớn nhằm giải quyết những vấn đề cấp bách như tình trạng kẹt xe, gia tăng dân số, ô
nhiễm môi trường, ngập lụt, …
Mọi thứ trong thành phố thông minh này được kết nối, dữ liệu sẽ được giám sát
bởi một loạt các máy tính mà không cần bất kỳ sự tương tác nào của con người.

Hình 2.7. Smart City

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


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

2.3. CÔNG NGHỆ WIFI


2.3.1. Giới thiệu
Wifi là một mạng thay thế cho mạng có dây thông thường, thường được sử dụng
để kết nối các thiết bị ở chế độ không dây bằng việc sử dụng công nghệ sóng vô tuyến.
Dữ liệu được truyền qua sóng vô tuyến cho phép các thiết bị truyền nhận dữ liệu ở
tốc độ cao trong phạm vi của mạng Wifi. Kết nối các máy tính với nhau, với Internet
và với mạng có dây.
Wifi (Wireless Fidelity) là thuật ngữ dùng chung để chỉ tiêu chuẩn IEEE802.11
cho mạng cục bộ không dây (Wireless Local Networks) hoặc WLANs.
Việc sử dụng rộng rãi và tính sẵn có của nó ở nhà và nơi công cộng như công
viên, quán café, sân bay, … đã khiến Wifi trở thành một trong những công nghệ
truyền nhận dữ liệu phổ biến nhất hiện nay.

Hình 2.8. Biểu tượng Wifi

2.3.2. Công nghệ truyền nhận dữ liệu


• IEEE 802.11b
Xuất hiện năm 1999.
Sóng vô tuyến với tần số 2.4GHz.
Tốc độ 11Mbps (lý thuyết), 4 – 6Mbps (thực tế).
Phổ biến nhất, ít có khả năng mở rộng.
Ảnh hưởng của các thiết bị Bluetooth và điện thoại di động có thể làm giảm tốc
độ truyền.
• IEEE 802.11a
Giới thiệu năm 2001.
Sóng vô tuyến với tần số 5.0GHz.
Tốc độ 54Mbps (lý thuyết), 15 – 20Mbps (thực tế).
Có khả năng mở rộng.
Không tương thích với chuẩn 802.11b.

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


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

• IEEE 802.11g
Giới thiệu năm 2003.
Sóng vô tuyến với tần số 2.4GHz.
Kết hợp tính năng của hai tiêu chuẩn a và b.
Tốc độ 54Mbps.
Tương thích với chuẩn 802.11b.
2.3.3. Thành phần của mạng Wifi
• Access Point (AP)
AP là bộ thu phát không dây LAN (Local – Area Network), hoặc là trạm cơ sở
có thể kết nối đồng thời một hoặc nhiều thiết bị không dây với Internet.
• Wifi Card
Cho phép chấp nhận tín hiệu không dây và thông tin chuyển tiếp.
• Safeguards
Khả năng bảo vệ: tường lửa và phần mềm chống virus giúp giữ an toàn thông
tin cho người dùng.
2.3.4. Cấu trúc liên kết
• Peer to peer
Là cấu trúc liên kết ngang hàng, không bắt buộc AP, các thiết bị bên trong có
thể giao tiếp trực tiếp với nhau.
Phù hợp để thiết lập mạng không dây một cách nhanh chóng và dễ dàng.

Hình 2.9. Cấu trúc liên kết ngang hàng

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


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

• Infrastructure Mode
Là cấu trúc liên kết dựa trên AP, liên lạc với nhau qua địa điểm truy cập (Access
Point). Bất kỳ thông tin truy cập nào đều phải thông qua AP.
Nếu một trạm di động như máy tính hoặc điện thoại muốn giao tiếp với một
trạm di động khác đầu tiên cần phải gửi thông tin đến AP, sau đó AP sẽ gửi ngược lại
trạm di động đó.

Hình 2.10. Cấu trúc liên kết dựa trên AP

2.3.5. Hotspot
Hotspot là một khu vực dễ dàng truy cập mạng không dây.
Hotspot được trang bị kết nối Internet với băng thông rộng và có một hoặc nhiều
AP cho phép người dùng truy cập Internet không dây.

2.3.6. Cách thức hoạt động


Một Wifi Hotspot được tạo ra bằng cách cài đặt điểm truy cập vào kết nối
Internet.
Một điểm truy cập hoạt động như một trạm cơ sở.
Khi thiết bị hổ trợ Wifi bắt gặp điểm phát sóng, thiết bị có thể kết nối không
dây với mạng đó.
Một điểm truy cập duy nhất có thể hổ trợ tối đa đến 30 người dùng, nhiều điểm
truy cập có thể được kết nối với nhau thông qua cáp Ethernet để tạo ra một mạng lớn.

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


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

Hình 2.11. Cách thức hoạt động của mạng Wifi

2.3.7. Giao tiếp trong Wifi


Trao đổi dữ liệu trong Wifi được chia làm 3 giai đoạn:
• Giai đoạn 1
Dữ liệu được chuẩn bị để truyền, nó được mã hóa thay đổi thành tín hiệu số. Tại
đây tần số truyền dữ liệu cũng được lựa chọn tùy thuộc vào kỹ thuật sử dụng để gửi
tín hiệu không dây.
• Giai đoạn 2
Dữ liệu được truyền thông qua sóng vô tuyến.
• Giai đoạn 3
Dữ liệu được nhận sau đó tiến hành giải mã tín hiệu số, xác nhận và cuối cùng
là sử dụng.

Hình 2.12. Cách thức giao tiếp trong mạng Wifi

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


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

2.3.8. Ưu nhược điểm


• Ưu điểm
Dễ dàng cài đặt.
Tính linh hoạt cao.
Chi phí phù hợp.
Độ tin cậy.
Khả năng bảo mật.
Tốc độ.
• Nhược điểm
Tiêu thụ điện năng cao.
Phạm vi hoạt động giới hạn.
2.3.9. Bảo mật
Từ khi ra đời, Wifi được cho là không đảm bảo an toàn về quyền riêng tư, dữ
liệu truyền qua Wifi có thể dễ dàng bị đánh cắp. Từ đó, các biện pháp bảo mật cho
Wifi đã được sử dụng, có hai tiêu chuẩn bảo mật phổ biến: Wireless Equivalent
Privacy (WEP) và Wifi Protected Access (WPA).
2.4. HỆ ĐIỀU HÀNH ANDROID
2.4.1. Giới thiệu
Hệ điều hành (operating system OS) đã phát triển trong nhiều năm qua. Từ
Pahm OS năm 1996, đến Windows năm 2000 sau đó là Blackberry OS và Android.
Một trong những hệ điều hành di động được sử dụng rộng rãi nhất hiện nay là
Android, tạo ra đầu tiên vào năm 2003 và được Google mua lại năm 2005. Là một hệ
điều hành mạnh mẽ hổ trợ số lượng lớn các ứng dụng trên điện thoại thông minh. Đi
kèm với một cửa hàng phần mềm trực tuyến do Google phát triển cho phép người
dùng tải xuống các ứng dụng được phát hành bởi nhà phát triển.
Là một hệ điều hành nguồn mở dựa trên Linux cho các thiết bị di động như điện
thoại thông minh, máy tính bảng. Các ứng dụng Android được viết bằng ngôn ngữ
lập trình Java. Android cung cấp một cách thống nhất để phát triển ứng dụng, có nghĩa
là các nhà phát triển chỉ cần phát triển ứng dụng Android và nó có thể chạy trên các
thiết bị khác nhau được cung cấp bởi Android. Để phát triển phần mềm, nhà phát
hành cung cấp bộ phát triển phần mềm đó là Android SDK (Software Development
Kit).
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 14
CHƯƠNG 2. CƠ SỞ LÝ THUYẾT

Phiên bản Beta đầu tiên của bộ công cụ phát triển phần mềm Android SDK được
Google phát hành năm 2007 và Android 1.0 ra đời năm 2008.

Hình 2.13. Biểu tượng Android

2.4.2. Lịch sử
Từ khi phát hành cho đến nay, Android đã trải qua nhiều phiên bản khác nhau,
có nhiều sự thay đổi, cải tiến để đáp ứng nhu cầu của người sử dụng.
Các phiên bản Android: Cupcake (1.5), Donut (1.6), Eclair (2.0), Froyo (2.2),
Gingerbread (2.3), Honeycomb (3.0), Ice Cream Sandwich (4.0) Jelly Bean (4.1 –
4.3.1), KitKat (4.4 – 4.4.4), Lollipop (5.0 – 5.1.1), Marshmallow (6.0 – 6.0.1), Nougat
(7.0 – 7.1), Oreo (8.0 – 8.1), Pie (9.0) và phiên bản mới nhất là Q (10.0).
2.4.3. Tính năng
Giao diện người dùng đẹp, trực quan.
Kết nối Bluetooth, Wifi, LTE, NFC, …
Hổ trợ truyền thông: MP3, WAV, JPEG, PNG, GIF, …
Trình duyệt Web: dựa trên công cụ WebKit nguồn mở kết hợp JavaScript V8.
Cảm ứng đa điểm.
Đa ngôn ngữ.
Đa tác vụ: người dùng có thể thực hiện đồng thời nhiều nhiệm vụ khác nhau
chạy song song cùng lúc.
GCM: Google Cloud Messaging là dịch vụ cho phép các nhà phát triển gửi tin
nhắn đến người dùng của họ mà không cần giải pháp đồng bộ.
Wifi Direct: công nghệ cho phép khám phá các ứng dụng và ghép nối trực tiếp
với nhau.

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


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

2.4.4. Kiến trúc cơ bản


• Linux Kernel
Đây là nền tảng mà hệ điều hành Android dựa vào nó để phát triển. Là lớp dưới
cùng của các lớp, chứa tất cả các thiết bị giao tiếp ở cấp thấp dùng để điều khiển các
phần cứng khác trên thiết bị Android. Ngoài ra nó còn xử lý tác vụ khác như kết nối
mạng, giúp giảm can thiệp vào phần cứng.

• Libraries
Thư viện nơi chứa tất cả các mã nguồn cung cấp những tính năng chính của hệ
điều hành Android dựa trên thư viện Java dành riêng để phát triển Android. Một số
thư viện như:
- android.app: cung cấp quyền truy cập vào mô hình ứng dụng, là nền tảng của
tất cả ứng dụng Android.
- android.database: được sử dụng để truy cập dữ liệu.
- android.opengl: giao diện OpenGL, 3D.
- android.view: xây dựng các khối cơ bản trên giao diện người dùng.
- android.widget: tập hợp tất cả thành phần giao diện cơ bản được xây dựng sẵn
như nút nhấn, công tắc,…
- android.webkit: cho phép khả năng duyệt Web được tích hợp vào các ứng
dụng.
• Android runtime
Là tầng cùng với tầng thư viện cung cấp một tập các thư viện cốt lõi để lập trình
viên phát triển ứng dụng bằng ngôn ngữ Java. Đồng thời cung cấp một máy ảo có tên
là Dalvik, một loại máy ảo Java được thiết kế tối ưu hóa cho Android, nó sử dụng
tính năng cốt lõi của Linux như quản lý bộ nhớ và đa luồng.
• Android framework
Là tầng thể hiện các tính năng cao cấp của Android (kết nối, thông báo, truy
xuất dữ liệu). Các nhà phát triển được phép sử dụng các dịch vụ này trong ứng dụng
của họ. Bao gồm các dịch vụ chính:
- Quản lý hoạt động: kiểm soát tất cả các hoạt động của ứng dụng.
- Cung cấp nội dung: cho phép ứng dụng chia sẽ dữ liệu với các ứng dụng khác.

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


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

- Quản lý tài nguyên: cung cấp quyền truy cập vào các tài nguyên như cài đặt
màu, bố cục giao diện người dùng.
- Quản lý thông báo: cho phép các ứng dụng hiển thị cảnh báo và thông báo cho
người dùng.
• Application
Tất cả các ứng dụng Android được tìm thấy ở lớp trên cùng và ứng dụng cũng
được viết trên chính tầng này. Ví dụ như ứng dụng danh bạ, tin nhắn, trình duyệt, …
2.4.5. Thành phần của ứng dụng Android
Thành phần của một ứng dụng Android là tập hợp các khối cần thiết của một
ứng dụng Android, bao gồm 4 thành phần chính:
• Hoạt động (Activities)
Đại diện cho một màn hình với giao diện người dùng, thực hiện các hành động
trên màn hình. Ví dụ như ứng dụng Danh bạ có một hoạt động hiển thị danh sách tên,
số điện thoại người liên lạc, đồng thời có một hoạt động khác là gọi hoặc nhắn tin.
Nếu một ứng dụng có nhiều hoạt động thì mỗi hoạt động phải được đánh dấu để biết
khi nào thì hoạt động nào được thực hiện.
• Dịch vụ (Services)
Là hành động chạy song song các ứng dụng. Ví dụ một dịch vụ có thể phát nhạc
trong khi người dùng đang ở trong một ứng dụng khác, không chặn tương tác của
người dùng với hoạt động đó.
• Máy thu phát sóng (Broadcast Receivers)
Bộ thu phát sóng có nhiệm vụ trả lời tin nhắn từ các ứng dụng khác hoặc từ hệ
thống. Ví dụ các ứng dụng có thể phát sóng để cho hệ thống biết dữ liệu đã được tải
xuống thiết bị hay chưa.
• Các nhà cung cấp nội dung (Content Providers)
Cung cấp dữ liệu từ ứng dụng này sang ứng dụng khác theo yêu cầu, dữ liệu có
thể được lưu trữ trong hệ thống hoặc cơ sở dữ liệu hoặc ở một nơi khác.

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


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

Hình 2.14. Một số ứng dụng Android

2.4.6. Ưu nhược điểm


• Ưu điểm
Android cung cấp một mã nguồn mở, mọi người đều có thể sử dụng và phát
triển ứng dụng một cách dễ dàng.
Tính đa nhiệm, người dùng có thể trải nghiệm nhiều tác vụ song song.
Cập nhật các phiên bản mới liên tục.
Số lượng thiết bị sử dụng được hệ điều hành Android rất lớn.
Thuộc sở hữu của Google, cung cấp sự tin tưởng cho người sử dụng.
Được bảo mật tốt.

• Nhược điểm
Các thiết bị tiêu tốn nhiều năng lượng hơn khi sử dụng hệ điều hành này do chạy
song song nhiều chương trình nền.
Nhiều ứng dụng chứa virus và phần mềm độc hại.
Thông tin người dùng có thể bị đánh cắp bởi một vài ứng dụng giả mạo.

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


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

2.5. GIAO THỨC MQTT


2.5.1. Giới thiệu
MQTT (Message Queuing Telemetry Transport) là giao thức truyền thông điệp
(message) theo mô hình giao tiếp Publish/Subscribe, phù hợp cho việc vận chuyển
dữ liệu từ xa.
Là một giao thức rất nhẹ do đó được sử dụng để giao tiếp các thiết bị (M2M –
Machine to Machine), WSN (Wireless Sensor Networks) và phổ biến nhất trong các
dự án IoT.
Giao thức này được thiết kế để trao đổi dữ liệu giữa máy chủ (server) và khách
hàng (client). Ngoài ra với kích thước nhỏ gọn, đơn giản, mức sử dụng năng lượng
thấp, các gói dữ liệu được tối ưu hóa và dễ dàng thực hiện đã khiến nó trở nên lý
tưởng hơn.

Hình 2.15. Giao thức MQTT

2.5.2. Lịch sử
MQTT được tạo ra bởi tiến sĩ Andy Stanford-Clark của IBM và Arlen Nipper
của Arcom vào năm 1999 như là một cách hiệu quả, đáng tin cậy để kết nối các thiết
bị được sử dụng trong ngành dầu khí với các máy chủ doanh nghiệp từ xa nhằm điều
khiển giám sát và thu thập dữ liệu từ các cảm biến.

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


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

2.5.3. Thành phần của MQTT


• Client (Publisher, Subscriber)
Client (khách hàng) đăng ký một chủ đề để gửi và nhận message:
- Khi một client muốn gửi dữ liệu cho Broker: đây là hoạt động Publisher.
- Khi một client muốn nhận dữ liệu từ Broker: đây là hoạt động Subscriber.
Vì vậy Publisher và Subscriber đóng vai trò đặc biệt của client.

Hình 2.16. Hoạt động của client

• Server (Broker)
Server trong MQTT gọi là một Broker được xem là trung tâm, là điểm giao của
các kết nối đến từ client. Nhiệm vụ chính của Broker là nhận đăng ký từ các client về
các chủ đề (topic), nhận tin nhắn (message), sắp xếp các message theo hàng đợi rồi
chuyển chúng đến một địa chỉ dựa trên việc đăng ký của client. Nhiệm vụ phụ của
Broker là có thể đảm nhận thêm một vài tính năng liên quan đến truyền thông như:
bảo mật message, lưu trữ message.
• Topic
Là nơi mà một client muốn đặt hoặc truy xuất message. Cụ thể khi một message
được publish vào một Topic thì những subscriber của Topic đó sẽ nhận được message
này.

Hình 2.17. Hoạt động của Topic

• Message
Là đơn vị trao đổi dữ liệu mà thiết bị nhận được khi Subscribing (đăng ký) một
Topic hoặc gửi đi khi Publishing một Topic.

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


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

2.5.4. MQTT QoS


QoS (Quality of Service): MQTT cung cấp các mức đảm bảo sự chắc chắn trong
việc gửi và nhận dữ liệu giữa các client và Broker. MQTT hổ trợ 3 mức:

• QoS0
Đảm bảo mức thấp nhất, dữ liệu được gửi đi đúng một lần và sẽ không được
kiểm tra đã đến các Broker hay chưa.
• QoS1
Đảm bảo đã đến nơi nhận, ít nhất một lần được xác nhận.
• QoS2
Mức đảm bảo cao nhất, Broker đảm bảo các dữ liệu có QoS2 sẽ đến nơi nhận
chỉ đúng một lần duy nhất, không bị trùng lặp, không thất lạc dữ liệu, đồng thời tốn
băng thông hơn hai cách trên.
2.5.5. Broker trong IoT
Một trong những thành phần của hệ thống IoT là Platform (điện toán đám mây),
nó chịu trách nhiệm kết nối các thiết bị với nhau, cho phép người dùng kiểm soát và
giám sát các thiết bị của mình. Và Broker cũng chính là Platform, nó nằm trong hệ
thống IoT.
Có hai cách tạo ra một Broker:
• Tự tạo Broker MQTT trên máy tính, raspberry, server, …
• Sử dụng các dịch vụ MQTT Broker có sẳn như CloudMQTT.

Hình 2.18. Thành phần của một MQTT trong hệ thống IoT

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


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

2.5.6. Ưu điểm
Đây là một giao thức nhẹ. Do đó, dễ dàng thực hiện trong phần mềm và nhanh
chóng trong việc truyền nhận dữ liệu, ít bị ảnh hưởng bởi tốc độ mạng.
Giao thức dựa trên kỹ thuật tin nhắn, vì vậy tốc độ khá nhanh.
Gói dữ liệu truyền được tối ưu hóa.
Sử dụng nguồn điện năng thấp, tiếp kiệm năng lượng cho thiết bị được kết nối.
Thời gian thực, đây là điều đặc biệt quan trọng trong các dự án IoT.
2.5.7. Bảo mật
MQTT được thiết kế một cách nhẹ và linh hoạt nhất có thể. Do đó nó chỉ có một
lớp bảo mật ở tầng ứng dụng: bảo mật xác thực (xác thực các client được quyền truy
cập đến Broker). Tuy nhiên, MQTT vẫn có thể được cài đặt kết hợp với các giải pháp
bảo mật đa tầng khác như kết hợp với VNP ở tầng mạng học hoặc SSLL/TLS ở tầng
transport.
MQTT được thiết kế nhằm phục vụ truyền thông machine-to-machine nhưng
trên thực tế chứng minh nó lại hoạt động một cách linh hoạt hơn mong đợi. Nó hoàn
toàn có thể áp dụng cho các kịch bản truyền thông khác nhau: machine to machine,
app to app. Chỉ cần có một Broker phù hợp và MQTT Client được cài đặt đúng cách,
các thiết bị xây dựng trên nhiều nền tảng khác nhau có thể giao tiếp được với nhau
một cách dễ dàng.
2.6. GIỚI THIỆU NODE – RED
2.6.1. Giới thiệu
Node – RED là một công cụ lập trình mạnh mẽ kết nối các thiết bị phần cứng,
API (Application Programming Interface) và dịch vụ trực tuyến như một phần của
ứng dụng IoT.
Cung cấp một trình soạn thảo trực quan cho phép nhà phát triển có thể cấu hình
tùy chỉnh các chức năng bằng cách sử dụng các node (nút) từ bất kỳ trình duyệt nào
trên máy tính.
Mỗi ứng dụng Node – RED bao gồm các node được liên kết với nhau dưới dạng
input, output và operation.

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


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

Hình 2.19. Một Node - RED cơ bản


Ban đầu được phát triển như một dự án nguồn mở của IBM (International
Business Machines) vào cuối năm 2013. Họ đã tạo ra Node – RED như một công cụ
chính khi làm việc trên các dự án IoT nhằm đơn giản hóa quá trình kết nối hệ thống
với các cảm biến. Hơn thế nữa nó phát triển dựa trên số lượng người dùng đáng kể
và có một cộng đồng các nhà phát triển tích cực luôn đóng góp các thư viện cho người
dùng sử dụng lại với nhiều mục đích khác nhau tùy thuộc vào từng ứng dụng.
2.6.2. Node – RED và IoT
Node – RED được tạo ra chủ yếu tập trung vào Internet vạn vật, tức là kết nối
giữa các thiết bị và xử lý chúng. Là một công cụ phát triển nhanh chóng, vừa mạnh
mẽ vừa linh hoạt dựa trên hai yếu tố:
• Thứ nhất
Là mô hình lập trình dựa trên luồng (flow), các thông báo biểu thị luồng sự kiện
giữa các nút, kích hoạt quá trình xử lý dẫn đến kết quả đầu ra. Đặc trưng bởi các sự
kiện trong thế giới thực kích hoạt một loạt các xử lý, từ đó dẫn đến hành động trong
thế giới thực. Nó đóng gói các sự kiện này, cung cấp một mô hình đơn giản và thống
nhất.
• Thứ hai
Tập hợp các nút được xây dựng sẵn, cung cấp cho nhà phát triển các khối xây
dựng cho phép nhanh chóng kết nối các luồng với nhau mà không cần nắm rõ chi tiết
về lập trình bên trong.
Hai yếu tố trên làm cho Node – RED trở thành một công cụ mạnh mẽ để phát
triển các ứng dụng IoT, khiến nó có thể là một trong số các công cụ chính trong số
các công cụ dành cho phát triển IoT.

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


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

Hình 2.20. Node – RED và IoT

2.6.3. Tính năng


Được xây dựng trên Node.js, hổ trợ môi trường thời gian chạy nhẹ.
Nhanh chóng trong việc phát triển các ứng dụng IoT.
Lấy dữ liệu từ các cảm biến và thiết bị.
Phù hợp với hầu hết các thiết bị, được sử dụng rộng rãi trên Raspberry, Arduino,
các thiết bị Android.

Hình 2.21. Giao diện Node – RED


Giao diện lập trình gồm 3 thành phần:
• Bên trái: tập hợp các nút có sẳn để xây dựng ứng dụng.
• Trung tâm: nơi thực hiện ứng dụng, kết nối các nút.
• Bên phải: thuộc tính và cài đặt cấu hình cho các nút.

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


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

2.7. GIỚI THIỆU PHẦN CỨNG


Với yêu cầu của đề tài đặt ra là điều khiển được các thiết bị điện, qua quá trình
nghiên cứu, tìm hiểu tài liệu chúng tôi đã chọn giải pháp tối ưu cho khối xử lý trung
tâm là ESP32 được phát triển bởi Espressif Systems. Là một vi điều khiển 32bit, đáp
ứng đầy đủ các yêu cầu ban đầu đặt ra, ngoài ra còn có thể mở rộng thêm một số chức
năng khác khi cải tiến hệ thống.
2.7.1. Giới thiệu chip Wifi ESP32
2.7.1.1. Tổng quan ESP32
• Giới thiệu sơ lược ESP32
ESP32 là một chip được tích hợp công nghệ Wifi và Bluetooth với công nghệ
tiêu thụ năng lượng cực thấp. Nó cung cấp một nền tảng tích hợp mạnh mẽ, đáp ứng
nhu cầu hiệu năng tốt nhất, tính linh hoạt, thiết kế nhỏ gọn, hiệu suất cao và độ tin
cậy trong nhiều ứng dụng. Các dòng chip ESP32 bao gồm ESP32-D0WDQ6, ESP32-
D0WD, ESP32-D2WD và ESP32-S0WD.
Espressif đã thiết kế và sản xuất ra một số module để người dùng dễ dàng tiếp
cận hơn với dòng chip ESP32. Các thành phần chính trên những module này bao gồm
chip ESP32, bộ tạo dao động thạch anh, mạch ăngten, chỉ khác nhau về một số chức
năng tùy từng phiên bản như số lượng chân GPIO, các thiết bị ngoại vi được thêm
vào như: màn hình LCD, bảng cảm ứng, khe cắm thẻ SD, module máy ảnh,… dưới
đây là một số phiên bản đã được phát triển và đưa vào sử dụng.
Bảng 2.2: Các phiên bản module của ESP32

Thành phần

Module Chip Flash RAM

ESP-WROOM-32 ESP32-D0WDQ6 4MB -

ESP-WROOM-32D ESP32-D0WD 4MB -

ESP-WROOM-32U ESP32-D0WD 4MB -

ESP-SOLO-1 ESP32-S0WD 4MB -

ESP-WROVER ESP32-D0WDQ6 4MB 8MB

ESP-WROVER-I ESP32-D0WDQ6 4MB 8MB

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


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

Phiên bản ESP32-WOOM-32 là một module vi điều khiển (MCU) Wifi


(Wireless Fidelity) – BT (Bluetooth) – BTE (Bluetooth Low Energy) phổ biến và
mạnh mẽ phục vụ cho nhiều ứng dụng khác nhau từ những ứng dụng đơn giản như
điều khiển thiết bị, đọc giá trị cảm biến đến những nhiệm vụ phức tạp như mã hóa
giọng nói, phát nhạc trực tuyến, giải mã MP3,…

Hình 2.22. Module ESP32-WOOM-32


Module này được xây dựng với lõi nhân là chip ESP32-D0WDQ6, chip được
thiết kế để có thể mở rộng. Có 2 lõi CPU (Central Processing Unit) có thể kiểm soát
riêng biệt và tần số xung đồng hồ dao động từ 80MHz đến 240MHz.
Do tích hợp Bluetooth, Bluetooth LE, Wifi nên rất nhiều ứng dụng có thể thực
hiện được trên module. Sử dụng Wifi cho phép kết nối trong phạm vi rộng, không
giới hạn, sử dụng Bluetooth cho phép kết nối một cách dễ dàng. Module cũng hổ trợ
truyền dữ liệu lên đến 150Mbps.
• Kiến trúc

Hình 2.23. Kiến trúc của ESP32


BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 26
CHƯƠNG 2. CƠ SỞ LÝ THUYẾT

• Một số ứng dụng của ESP32


Đa số các ứng dụng của ESP32 được phục vụ cho các dự án IoT như:
- Nhà thông minh.
- Robot công nghiệp.
- Nhận dạng giọng nói.
- Nhận dạng hình ảnh.
- Ứng dụng chăm sóc sức khỏe.
2.7.1.2. Đặc điểm
• Mức năng lượng thấp
Chip ESP32 được thiết kế cho các ứng dụng di động, điện tử, ứng dụng IoT.
ESP32 có tất cả các đặc tính của một chip tiêu thụ mức năng lượng thấp, nhiều chế
độ hoạt động giúp giảm thiểu tối đa năng lượng mà chip tiêu tốn. Ví dụ cảm biến
trong ứng dụng IoT, ESP32 được đánh thức theo chu kỳ và chỉ phát hiện khi có một
điều kiện cụ thể.
• Tích hợp hoàn chỉnh
Chip ESP32 có khả năng tích hợp cao Wifi và Bluetooth cho các ứng dụng IoT,
với khoảng 20 thiết bị ngoại vi. ESP32 tích hợp ăngten, sóng RF (Radio frequency),
bộ khuếch đại công suất, bộ khuếch đại thu tiếng ồn, module quản lý năng lượng, …
❖ Thông số kỹ thuật cơ bản của module ESP32-WOOM-32
Bảng 2.3: Thông số kỹ thuật cơ bản của module ESP32-WOOM-32

Loại Đặc trưng Thông số

Wifi Giao thức 802.11 b/g/n (802.11n lên đến 150 Mbps)

Tần số 2.4GHz ~ 2.5GHz

Bluetooth Giao thức Bluetooth v4.2 và Bluetooth Lower Energy

Radio NZIF với độ nhạy -97dBm

Máy phát Class-1, Class-2, Class-3

AFH

Audio CVSD và SBC

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


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

Phần cứng Giao tiếp module Thẻ SD, UART, SPI, SDIO, I2C, Led PWM,
Motor PWM, I2S
IR, Counter, GPIO, cảm biến cảm ứng,
ADC, DAC

Chip cảm biến Hall sensor (từ trường)

Thạch anh 40MHz

SPI Flash 4MB

Điện áp hệ thống 2.7V ~ 3.6V

Dòng hệ thống Trung bình: 80mA

Dòng điện tối thiểu 500mA


của nguồn cung cấp

Nhiệt độ hoạt động -40℃ ~ +85℃

Kích thước (18.0) mm x (25.5) mm x (3.1) mm

2.7.1.3. Sơ đồ chân của module ESP32-WOOM-32


Module có tổng cộng 38 chân
Bảng 2.4: Định nghĩa các chân module ESP32-WOOM-32

Tên Số Loại Chức năng

GND 1 P (nguồn) Ground

3V3 2 P Chân nguồn cung cấp 3V3

EN 3 I (input) Cho phép module hoạt động, mức cao

SENSOR_VP 4 I GPIO36, ADC1_CH0, RTC_GPIO0

SENSOR_VN 5 I GPIO39, ADC1_CH3, RTC_GPIO3

IO34 6 I GPIO34, ADC1_CH6, RTC_GPIO4

IO35 7 I GPIO35, ADC1_CH7, RTC_GPIO5

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


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

IO32 8 I/O (input, output) GPIO32, XTAL_32K_P,


ADC1_CH4, TOUCH9, RTC_GPIO9

IO33 9 I/O GPIO33, XTAL_33K_N,


ADC1_CH5, TOUCH8, RTC_GPIO8

IO25 10 I/O GPIO25, DAC_1, ADC2_CH8,


RTC_GPIO6

IO26 11 I/O GPIO26, DAC_2, ADC2_CH9,


RTC_GPIO7

IO27 12 I/O GPIO27, ADC2_CH7, TOUCH7


RTC_GPIO17

IO14 13 I/O GPIO14, ADC2_CH6, TOUCH6,


RTC_GPIO16

IO12 14 I/O GPIO12, ADC2_CH5, TOUCH5,


RTC_GPIO15

GND 15 P Ground

IO13 16 I/O GPIO13, ADC2_CH4, TOUCH4,


RTC_GPIO14

SHD/SD2 17 I/O GPIO9, SD_DATA2, U1RXD

SWP/SD3 18 I/O GPIO10, SD_DATA3, U1TXD

SCS/CMD 19 I/O GPIO11, SD_CMD, U1RTS

SCK/CLK 20 I/O GPIO6, SD_CLK, U1CTS

SDO/SD0 21 I/O GPIO7, SD_DATA0, U2RTS

SDI/SD1 22 I/O GPIO8, SD_DATA1, U2CTS

IO15 23 I/O GPIO15, ADC2_CH3, TOUCH3,


RTC_GPIO13

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


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

IO2 24 I/O GPIO2, ADC2_CH2, TOUCH2,


RTC_GPIO12

IO0 25 I/O GPIO0, ADC2_CH1, TOUCH1,


RTC_GPIO11, CLK_OUT1

IO4 26 I/O GPIO4, ADC2_CH0, TOUCH0,


RTC_GPIO10

IO16 27 I/O GPIO16, HS1_DATA4, U2RXD

IO17 28 I/O GPIO17, HS1_DATA5, U2TXD

IO5 29 I/O GPIO5, HS1_DATA6

IO18 30 I/O GPIO18, HS1_DATA7

IO19 31 I/O GPIO19, U0CTS

NC 32 - -

IO21 33 I/O GPIO21, VSPIHD

RXD0 34 I/O GPIO3, U0RXD, CLK_OUT2

TXD0 35 I/O GPIO1, U0TXD, CLK_OUT3

IO22 36 I/O GPIO22, VSPIWP, U0RTS

IO23 37 I/O GPIO23, VSPID

GND 38 P Ground

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


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

Hình 2.24. Sơ đồ bố trí chân của module ESP32-WOOM-32

2.7.1.4. Chức năng tích hợp trong ESP32


2.7.1.4.1. CPU và kiến trúc bộ nhớ
• CPU
Chip ESP32 là bộ xử lý lõi kép (Dual core) của vi điều khiển Xtensa® 32bit
LX6 với các đặc trưng:
- Hổ trợ xung nhịp lên đến 240MHz.
- Hổ trợ DSP như bộ nhân 32bit, bộ chia 32bit, MAC 40bit.
- Hổ trợ 32 vector interrupt.
• Bộ nhớ nội (Internal Memory)
Bộ nhớ nội của ESP32 bao gồm:
- 448KB ROM cho việc khởi động và các chức năng cốt lõi.
- 520KB SRAM trên chip cho dữ liệu.
- 8KB SRAM trong RTC (Real Time Control): được gọi là bộ nhớ RTC FAST.
- 8KB SRAM trong RTC: được gọi là bộ nhớ RTC LOW.
- 1Kbit eFuse: 256bit sử dụng cho hệ thống, 768bit chuyển đổi cho ứng dụng.
• External Flash (bộ nhớ flash ngoài) và SRAM
ESP32 hổ trợ nhiều external QSPI flash và SRAM, có thể truy cập ở tốc độ cao.
SRAM được hổ trợ lên đến 8MB, đọc và ghi 8bit, 16bit, 32bit.

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


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

• Tổ chức bộ nhớ

Hình 2.25. Cấu trúc và địa chỉ bộ nhớ của ESP32

2.7.1.4.2. Timers và Watchdogs


• Timer 64bit
Có 4 Timer bên trong ESP32. Chúng đều là bộ định thời 64bit dựa trên bộ chia
trước 16bit và bộ định thời đếm lên, xuống.
Đặc trưng của Timer:
- Bộ chia 16bit từ 2 đến 65536.
- Timer 64bit.
- Cho phép cấu hình Timer đếm lên, đếm xuống.
- Cho phép dừng và tiếp tục bộ đếm thời gian.
• Timer Watchdogs (Bộ định thời giám sát)
ESP32 có 3 Timer Watchdogs bao gồm 2 module hẹn giờ (Main Watchdogs
Timer) và một module RTC (RTC Watchdog Timer). Một bộ đếm thời gian
Watchdog có 4 giai đoạn, mỗi giai đoạn có thể kích hoạt một trong bốn hành động là:
ngắt, thiết lặp lại CPU, thiết lặp lại lõi, thiết lặp lại hệ thống.

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


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

2.7.1.4.3. Hệ thống xung đồng hồ (Clock)


• CPU Clock
Khi được reset, dao động thạch anh bên ngoài được đặt lại mặc định cho CPU.
Dao động thạch anh kết nối với PLL (Phase-Locked Loop) để tạo ra xung tần số cao
(160MHz).
Ngoài ra, ESP32 có bộ dao động nội 8MHz và có thể sử dụng được bộ dao động
này cho một số ứng dụng nhất định.
• RTC Clock (Real Time Clock)
RTC Clock có các nguồn hoạt động:
- Thạch anh bên ngoài tốc độ thấp (32KHz).
- Thạch anh bên ngoài với bộ chia 4.
- Bộ dao động nội RC (150KHz, có thể điều chỉnh được).
- Bộ dao động nội 8MHz.
- Xung nội 32.25KHz.
Khi ở chế độ bình thường, cần truy cập CPU nhanh hơn, ứng dụng có thể chọn
xung tốc độ cao bên ngoài với bộ chia 4 hoặc dao động nội 8MHz. Khi hoạt động ở
chế độ năng lượng thấp, ứng dụng có thể chọn thạch anh bên ngoài tốc độ thấp
(32KHz), dao động nội RC hoặc xung nội 31.25KHz.

2.7.1.4.4. Wifi
ESP32 thực hiện giao thức TCP/IP và Wifi 802.11 b/g/n, quản lý năng lượng
được xử lý để giảm thiểu thời gian thực hiện các tác vụ. Các thư viện của Wifi cung
cấp để định cấu hình và giám sát chức năng kết nối mạng ESP32, nó cấu hình cho:
- Chế độ trạm (hay chế độ STA hoặc chế độ Wifi client): ESP32 kết nối với một
điểm truy cập.
- Chế độ AP (hay chế độ Soft-AP hoặc chế độ điểm truy cập): các trạm kết nối
với ESP32.
- Chế độ kết hợp AP-STA (ESP32 đồng thời là điểm truy cập và là trạm được
kết nối với các điểm truy cập khác).
- Các chế độ bảo mật khác nhau cho các chế độ trên (WPA, WPA2, WEP, …).
- Quét các điểm truy cập (chủ động và thụ động).
- Chế độ giám sát các gói Wifi của tiêu chuẩn IEEE802.11.

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


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

2.7.1.4.5. Bluetooth
ESP32 tích hợp bộ điều khiển liên kết Bluetooth, thực hiện các giao thức như
điều chế, giải điều chế, xử lý gói, xử lý luồng bit, …
2.7.1.4.6. RTC và quản lý năng lượng thấp
Với việc sử dụng công nghệ quản lý năng lượng tiên tiến, ESP32 có thể chuyển
đổi giữa các chế độ năng lượng khác nhau. Bao gồm các chế độ:
• Chế độ hoạt động
Chip được bật, có thể truyền, nhận.
• Chế độ ngủ modem
CPU được hoạt động và xung đồng hồ có thể cấu hình. Wifi/Bluetooth bị tắt.
• Chế độ ngủ light
CPU tạm dừng hoạt động. Bộ nhớ RTC và các thiết bị ngoại vi RTC cũng như
bộ xử lý đồng thời ULP vẫn chạy. Bất kỳ sự kiện đánh thức nào sẽ đánh thức chip
hoạt động.
• Chế độ ngủ sâu
Chỉ bật bộ nhớ RTC và thiết bị ngoại vi RTC. Dữ liệu kết nối Wifi và Bluetooth
được lưu trữ trong bộ nhớ RTC.
• Chế độ ngủ đông
Bộ tạo dao động nội 8MHz và bộ đồng xử lý ULP bị tắt. Bộ nhớ RTC khôi phục
bị tắt. Chỉ có bộ đếm thời gian RTC và một số RTC GPIO nhất định hoạt động.
2.7.1.5. Thiết bị ngoại vi và cảm biến của ESP32
• GPIO (General Purpose Input/Output Interface)
ESP32 với số lượng lớn chân GPIO tùy thuộc vào từng phiên bản module, mỗi
chân được tích hợp nhiều chức năng khác nhau bằng cách lập trình thanh ghi. Có một
số loại chân GPIO như: chỉ đọc dữ liệu số (0 hoặc 1), cho phép analog, cho phép cảm
ứng điện dung, …
Hầu hết các chân GPIO số (digital) có thể được cấu hình điện trở kéo lên (pull-
up) hoặc kéo xuống (pull-down) hoặc trở kháng cao. Mỗi chân có thể có nhiều chức
năng khác nhau như SDIO, UART, SPI, …

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


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

• ADC (Analog to Digital Converter)


ESP32 tích hợp ADC 12bit và hổ trợ đo 18 kênh. Với thiết lập thích hợp, các
ADC có thể được cấu hình để đo điện áp tối đa 18 chân.
• DAC (Digital to Analog Converter)
ESP32 có hai kênh DAC 8bit được sử dụng để chuyển đổi tín hiệu số sang tín
hiệu analog, được tích hợp điện trở và bộ đệm.
• Touch Sensor (Cảm ứng điện dung)
ESP32 có 10 chân GPIO sử dụng được cảm ứng điện dung, phát hiện vật thể
bằng cách chạm vào các chân GPIO.

• Bộ điều khiển SDIO/SPI


ESP32 tích hợp giao tiếp thiết bị SD phù hợp với tiêu chuẩn SDIO, hổ trợ các
tính năng sau:
- Chế độ truyền SPI, SPIO 1bit, SPIO 4bit.
- Truy cập trực tiếp đến máy chủ.
- Ngắt để bắt đầu truyền dữ liệu.
- Kích thước khối dữ liệu lên đến 512 byte.
• UART (Universal Asynchronous Receiver Transmitter)
ESP32 tích hợp ba UART: UART1, UART2, UART3 cung cấp chuẩn giao tiếp
bất đồng bộ (RS232 và RS485) với tốc độ lên đến 5Mbps, có thể truy cập bởi bộ điều
khiển DMA hoặc trực tiếp bởi CPU.
• I2C Interface (Inter-Integrated Circuit)
ESP32 có hai giao tiếp I2C, có thể vận hành ở chế độ master hoặc slave phụ
thuộc vào người sử dụng cấu hình, nó hổ trợ:
- Chế độ tiêu chuẩn (100Kbit/s).
- Chế độ nhanh (400Kbit/s).
- Tốc độ lên đến 5MHz.
- Chế độ kép.
• I2S Interface (Inter-IC Sound)
Hai giao tiếp I2S có sẵn trên ESP32, có thể hoạt động ở chế độ master hoặc
slave. Và được cấu hình để hoạt động ở độ phân giải 8/16/32/48/64bit làm kênh đầu
vào hoặc đầu ra. Hổ trợ tần số từ 10KHz đến 40KHz.

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


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

• Điều khiển hồng ngoại từ xa (Infrared Remote Controller)


Bộ điều khiển hồng ngoại từ xa hổ trợ 8 kênh điều khiển truyền và nhận. Hổ trợ
các giao thức hồng ngoại khác nhau.
• Bộ đếm (Pulse Counter)
Bộ đếm counter có 7 chế độ. Có 8 kênh mỗi kênh thu được 4 tín hiệu cùng một
lúc. Bốn tín hiệu đầu vào bao gồm 2 tín hiệu xung và 2 tín hiệu điều khiển.
Khi bộ đếm đạt được đến ngưỡng đặt, thì một interrupt được tạo ra.
• PWM (Pulse Width Modulation)
Bộ điều khiển độ rộng xung (PWM) được sử dụng để điều khiển động cơ kỹ
thuật số và đèn thông minh. Bộ điều khiển bao gồm: định thời PWM, hệ thống PWM
và các module chuyên dụng. Mỗi bộ định thời cung cấp thời gian ở dạng đồng bộ
hoặc độc lập.
• SPI (Serial Peripheral Interface)
ESP32 có ba SPI (SPI, HSPI, VSPI) ở chế độ master và slave.
Tất cả SPI có thể kết nối đến Flash/SRAM và LCD.
2.7.1.6. Đặc tính về điện
Các giới hạn đề nghị để module ESP32-WOOM-32 hoạt động tốt.
Bảng 2.5: Các thông số đề nghị cho module ESP32-WOOM-32

Ký hiệu Chức năng Min Đề nghị Max Đơn vị

VDD Điện áp cung cấp 2.7 3.3 3.6 V

I Dòng cung cấp 0.5 - - A

T Nhiệt độ -40 +25 +85 ℃

Module hoạt động ổn định ở điện áp 3.3V, nhiệt độ 25℃.

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


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

2.7.1.7. Sơ đồ nguyên lý module ESP32-WOOM-32

Hình 2.26. Sơ đồ nguyên lý module ESP32-WOOM-32

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


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

Hình 2.27. Sơ đồ nguyên lý thiết bị ngoại vi module ESP32-WOOM-32

2.7.2. Giới thiệu cảm biến


Cảm biến nhiệt độ và độ ẩm. Hiện nay trên thị trường có nhiều loại cảm biến
khác nhau thực hiện chức năng đo nhiệt độ và độ ẩm: LM35, DS18B20, DHT11,
DHT21, .... Qua quá trình tìm hiểu, nhóm đã lựa chọn cảm biến DHT11 đo được cả
nhiệt độ và độ ẩm cho bộ điều khiển.

2.7.2.1. Giới thiệu


DHT11 là cảm biến nhiệt độ, độ ẩm được sử dụng phổ biến với chi phí rẻ và dữ
liệu được thu thập một cách dễ dàng thông qua chuẩn giao tiếp 1 dây. Có thời gian
phản hồi nhanh và khả năng chống nhiễu tốt. Đồng thời cảm biến được tích hợp bộ
tiền xử lý tín hiệu giúp dữ liệu được nhận chính xác mà không cần tính toán.
2.7.2.2. Hoạt động

Hình 2.28. Sơ đồ chân DHT11

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


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

DHT11 chỉ sử dụng 1 dây để giao tiếp. Quá trình giao tiếp được chia làm 3
bước: đầu tiên là gửi yêu cầu đến cảm biến, kế đến cảm biến sẽ gửi xung phản hồi và
sau đó nó bắt đầu gửi dữ liệu tổng cộng 40bit đến vi điều khiển.
• Bắt đầu xung

Hình 2.29. Xung bắt đầu DHT11


Để bắt đầu giao tiếp với DHT11, đầu tiên ta gửi xung bắt đầu đến cảm biến.
Để cung cấp xung bắt đầu, kéo chân dữ liệu xuống mức thấp trong thời gian tối
thiểu 18ms và sau đó kéo lên mức cao.
• Phản ứng

Hình 2.30. Gửi xung phản hồi của DHT11


Sau khi nhận được xung bắt đầu, cảm biến sẽ gửi xung phản hồi, để cho biết
DHT11 đã nhận được xung bắt đầu.
Xung phản hồi ở mức thấp trong khoảng thời gian 54us, sau đó ở mức cao 80us.

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


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

• Dữ liệu

Hình 2.31. Gửi dữ liệu chứa bit 0, bit 1


Sau khi gửi xung phản hồi, DHT11 sẽ gửi dữ liệu chứa giá trị nhiệt độ và độ
ẩm. Khung dữ liệu dài 40bit, được chia làm 5 phần (byte), mỗi phần 8bit.
Trong 5 phần này, hai phần đầu tiên sẽ chứa giá trị độ ẩm, 8bit đầu tiên là giá
trị phần nguyên, 8bit còn lại chứa giá trị thập phân. Hai phần tiếp theo sẽ chứa giá trị
nhiệt độ (℃) ở dạng số thập phân. Phần cuối cùng là 8bit để kiểm tra cho phần đo
nhiệt độ và độ ẩm.
Sau khi nhận được dữ liệu, chân DHT11 sẽ ở chế độ tiêu thụ điện năng thấp cho
đến khi có xung bắt đầu tiếp theo.
• Kết thúc

Hình 2.32. Kết thúc đọc giá trị của DHT11


Sau khi gửi dữ liệu 40bit, DHT11 sẽ ở mức thấp 54us rồi lên mức cao và sau
đó nó chuyển sang chế độ ngủ.

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


CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ

Chương 3. TÍNH TOÁN VÀ THIẾT KẾ

3.1. GIỚI THIỆU


Đề tài yêu cầu thiết kế một hệ thống điều khiển các thiết bị điện trong phòng
học. Hệ thống được điều khiển bằng một ứng dụng Android trên điện thoại đồng thời
điều khiển và giám sát được từ xa thông qua một Web Server.
Bộ xử lý trung tâm
• Điện áp 5VDC.
• Giao tiếp ứng dụng Android.
• Giao tiếp Web Server bằng Wifi (truyền nhận dữ liệu).
• Ngõ ra nối các thiết bị điện 220VAC, có đèn báo tương ứng với từng ngõ ra.
• Thiết kế nhỏ gọn, đảm bảo tính an toàn.
Ứng dụng Android
• Điều khiển được nhiều thiết bị cùng một lúc.
• Giao diện trực quan, thân thiện người dùng.
Web Server
• Truyền và nhận được dữ liệu.
• Đồng bộ điều khiển giữa các thiết bị, ứng dụng Android, và giao diện Web.
3.2. TÍNH TOÁN VÀ THIẾT KẾ
3.2.1. Thiết kế sơ đồ khối hệ thống

Hình 3.1. Sơ đồ mô hình hệ thống

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


CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ

KHỐI XỬ KHỐI NGÕ


KHỐI
LÝ TRUNG RA CÔNG
CẢM BIẾN
TÂM SUẤT

KHỐI
NGUỒN

Ứng dụng
Web Server
Android

Hình 3.2. Sơ đồ khối hệ thống


❖ Chức năng từng khối
• Khối nguồn
Cấp nguồn cho toàn mạch, sử dụng nguồn 5VDC cấp cho khối xử lý trung tâm,
mạch Relay, cảm biến và nguồn 220VAC cho các thiết bị điện.
• Khối xử lý trung tâm
Trung tâm điều khiển hoạt động của toàn bộ hệ thống. Nhận tín hiệu từ ứng
dụng Android hoặc giao diện Web, xử lý sau đó chuyển tín hiệu điều khiển đến khối
công suất thực thi, tiếp theo dữ liệu được gửi lên khối Server. Đồng thời có thể điều
khiển thiết bị trên Server bằng lệnh theo yêu cầu.
• Khối ngõ ra công suất
Đóng ngắt các tiếp điểm Relay theo sự điều khiển của ngõ ra vi điều khiển, từ
đó điều khiển các thiết bị điện (220VAC). Đồng thời cách ly giữa mạch công suất và
mạch điều khiển.

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


CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ

• Khối cảm biến


Có chức năng giám sát nhiệt độ và độ ẩm của bộ điều khiển để đảm bảo tính an
toàn cho hệ thống.
• Ứng dụng Android
Xử lý và gửi tín hiệu điều khiển đến vi điều khiển, điều khiển trực tiếp trên thiết
bị Android.
• Web Server
Nhận dữ liệu điều khiển từ khối xử lý trung tâm, tiến hành lưu trạng thái của
thiết bị vào Server, để biết được lịch sử điều khiển thiết bị. Người dùng có thể tác
động vào phần giao diện để điều khiển theo ý muốn. Đồng thời dữ liệu điều khiển
được đồng bộ với ứng dụng Android và hệ thống.
3.2.2. Tính toán và thiết kế
3.2.2.1. Khối xử lý trung tâm
Khối điều khiển sử dụng board ESP32-DevKitC phát triển dựa trên module
ESP32-WOOM-32 làm trung tâm, đáp ứng được yêu cầu đặt ra và có khả năng mở
rộng cho nhiều ứng dụng.

Hình 3.3. Ảnh thực tế board ESP32-DevKitC


Thiết kế
Board được cấp nguồn 5VDC. Chi tiết kết nối giữa board mạch và các khối khác
được thể hiện trong hình bên dưới:
- Chân nguồn Vin số 38 và GND số 13, 19 lần lượt được nối với mạch nguồn
cung cấp 5VDC.
- Các chân GPIO số 5, 6, 7, 8 lần lượt nối với ngõ vào của các Relay tương ứng.
- Chân GPIO số 4 nối với cảm biến DHT11.

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


CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ

Hình 3.4. Sơ đồ nguyên lý board điều khiển ESP32-DevKitC

3.2.2.2. Khối ngõ ra công suất


Các GPIO của board ESP32-DevKitC nhận tín hiệu sẽ điều khiển kích hoạt các
Relay hoạt động, từ đó điều khiển các thiết bị điện.
Chọn Relay 5V, chỉ cần cung cấp nguồn 5VDC và dòng khoảng 80mA cho
Relay là các tiếp điểm có thể đóng ngắt khi được kích. Bên cạnh đó, dòng điện tối đa
mà Relay có thể chịu được là 10A, nên đảm bảo dòng của các thiết bị điện khi chạy
qua các tiếp điểm của Relay sẽ an toàn.

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


CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ

Hình 3.5. Relay 5V-10A


Relay có 3 tiếp điểm đóng ngắt NO (thường mở), NC (thường đóng) và chân
COM, ở trạng thái bình thường khi chưa được kích chân COM sẽ nối với NC, khi
kích chân COM chuyển sang nối với NO, NC mất kết nối. Đồng thời có 2 chân nguồn
DC để cấp nguồn cho Relay hoạt động.
❖ Thông số kỹ thuật
Bảng 3.1: Thông số kỹ thuật Relay

Model SRD-05VDC

Điện áp kích hoạt 5VDC

Dòng tiêu thụ 80mA

Dòng AC tối đa 10A-250/125VAC

Dòng DC tối đa 10A-30/28VDC

Số chân 5

Nhiệt độ làm việc -25℃ ~ +70℃

Thiết kế
Sử dụng transistor đóng ngắt loại NPN C1815, đồng thời ở giữa hai đầu cuộn
dây mỗi Relay gắn thêm 1 diode loại 1N4007 để tránh điện áp ngược dòng (tối đa
1000V).
Ngoài ra, để đảm bảo an toàn, sử dụng Opto PC817 (cách ly quang). Cấu tạo
bao gồm 1 bộ phát quang (diode phát quang) và 1 cảm biến quang (photo transistor),
mục đích để cách ly giữa mạch điều khiển điện áp thấp với ngõ ra công suất có điện
áp cao. Khi có sự cố như cháy, chập mạch, ... ở tầng công suất cũng không ảnh hưởng
đến tầng điều khiển.

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


CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ

Hình 3.6. Diode 1N4007, Opto PC817 và transistor C1815


Tính toán
Điện trở R1 để cho Led trong Opto hoạt động ổn định:
Vin 5V− 1.3V
= ≈ 370Ω (3.1)
Iled 10mA

Chọn R1 = 390Ω
Điện trở R2 cho transistor Q1:
- Dòng điện tối thiểu qua cuộn dây:
Ucuộn dây 5V
ICUỘN DÂY = = ≈ 70 mA (3.2)
Rcuộn dây 70

- Transistor Q:
IC = ICUỘN DÂY = 70 mA
Chọn Hfe = 60
Ic 70mA
IB = = = 1.17 mA (3.3)
Hfe 60
V−0.7 5−0.7
R2 = = ≈ 3.7KΩ (3.4)
IB 1.17
Chọn R2 = 3.9KΩ

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


CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ

Hình 3.7. Sơ đồ nguyên lý khối công suất ngõ ra

3.2.2.3. Khối cảm biến


Qua quá trình tìm hiểu nhóm đã chọn module DHT11 để đo nhiệt độ và độ ẩm
của bộ điều khiển hệ thống.

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


CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ

Hình 3.8. Cảm biến DHT11


❖ Thông số kỹ thuật
Bảng 3.2: Thông số kỹ thuật module cảm biến DHT11
Điện áp hoạt động 3 - 5VDC
Dòng sử dụng Tối đa 2.5mA
Đo nhiệt độ 0 - 50℃, sai số ± 2℃
Đo độ ẩm 20 -80%, sai số ± 5%
Tốc độ lấy mẫu 1Hz (1 giây 1 lần)

Thiết kế
Cảm biến DHT11 gồm 4 chân được kết nối như sau:
- Chân VCC được nối với nguồn 5VDC.
- Chân GND nối với chân GND của nguồn.
- Chân DATA nối với chân GPIO của vi điều khiển (ESP32) qua một điện trở
kéo lên nguồn.

Hình 3.9. Sơ đồ kết nối cảm biến DHT11 với ESP32

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


CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ

3.2.2.4. Khối nguồn


Nguồn chính sử dụng trong mạch là nguồn 5VDC. Nguồn này được lấy từ nguồn
220VAC qua module hạ áp AC-DC về 5V để cấp cho các module: board ESP32-
DevKitC, cảm biến DHT11, Relay.

Hình 3.10. Module nguồn AC-DC


Bảng 3.3: Dòng điện của các linh kiện sử dụng trong mạch điều khiển

STT Tên linh kiện Số lượng Dòng tiêu thụ Tổng dòng
(mA) điện (A)

1 ESP32-DevKitC 1 150 0.15

2 DHT11 1 2.5 0.0025

3 Relay 4 80 0.32

4 Opto PC817 4 5 0.02

Từ bảng trên tổng dòng tiêu thụ cho toàn bộ mạch điều khiển là 0.49A vì vậy
nhóm sử dụng module nguồn AC-DC 5V-0.6A là hoàn toàn đủ để đáp ứng cho toàn
mạch điều khiển.

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


CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ

Thiết kế

Hình 3.11. Sơ đồ nguyên lý mạch nguồn

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


CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ

3.2.2.5. Sơ đồ nguyên lý toàn mạch

Hình 3.12. Sơ đồ nguyên lý toàn mạch

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


CHƯƠNG 4. THI CÔNG HỆ THỐNG

Chương 4. THI CÔNG HỆ THỐNG

4.1. GIỚI THIỆU


Mô hình bao gồm 2 phần thi công: phần cứng và phần mềm.
• Phần cứng
Bao gồm 1 mạch PCB chung cho toàn bộ hệ thống với kích thước 850mm x
920mm. Mạch được in 2 lớp (Top và Bottom).
Thi công mô hình với hộp đựng phù hợp kích thước với board mạch bao gồm
hộp đựng mạch điều khiển và hộp mô hình.
• Phần mềm
Lập trình cho ESP32, điều khiển đóng ngắt các thiết bị và truyền nhận dữ liệu
từ Server.
Thiết kế giao diện điều khiển trên điện thoại, xây dựng Web Server, giao diện
Web.
4.2. THI CÔNG HỆ THỐNG
4.2.1. Thi công board mạch
Các module được tích hợp trên một board mạch duy nhất.
Mạch bao gồm 1 mạch nguồn; mạch công suất có 1 header 8 ngõ ra nối trực tiếp
với các thiết bị điện 220VAC; mạch đo nhiệt độ và độ ẩm, 1 header 2 nối với nguồn
điện 220VAC.
Mô tả:
Trung tâm của mạch điều khiển là board ESP32-DevKitC đặt phía bên trái. Bên
phải là mạch ngõ ra công suất với 4 Relay, trên cùng là hàng rào gắn các thiết bị điều
khiển, nguồn 220VAC, và phía dưới cùng là cảm biến và mạch chuyển đổi nguồn AC
-DC.

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


CHƯƠNG 4. THI CÔNG HỆ THỐNG

• Sơ đồ bố trí linh kiện

Hình 4.1. Sơ đồ bố trí linh kiện mạch điều khiển

• Sơ đồ mạch in
Sơ đồ đi dây mạch in lớp trên:

Hình 4.2. Sơ đồ đi dây mạch in lớp trên


BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 53
CHƯƠNG 4. THI CÔNG HỆ THỐNG

Sơ đồ đi dây mạch in lớp dưới:

Hình 4.3. Sơ đồ đi dây mạch in lớp dưới

• Sơ đồ 3D

Hình 4.4. Sơ đồ 3D mạch điều khiển

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


CHƯƠNG 4. THI CÔNG HỆ THỐNG

Bảng 4.1: Danh sách linh kiện sử dụng

STT Tên linh kiện Giá trị Số lượng Chú thích

1 Board ESP32-DevKitC 5V 1

2 Cảm biến DHT11 5V 1

3 HLK-PM01 5V-0.6A 1 Nguồn AC-DC

4 Opto PC817 5V 4

5 Diode 1N4007 1A 4

6 Transistor C1815 5V 4

7 Relay 5V-10A 4

8 Điện trở 390Ω 4

9 Điện trở 3.9KΩ 4

10 Điện trở 200Ω 1

11 Điện trở 5Ω 1

12 Tụ 10uF 1

13 Led đơn 5V 1 Báo nguồn

14 Header 2 - 2

15 Header 8 - 1

16 Đèn báo 220VAC 9

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


CHƯƠNG 4. THI CÔNG HỆ THỐNG

4.2.2. Lắp ráp và kiểm tra


Sau khi mạch in hoàn thành, ta khoan lổ chân linh kiện, lắp chúng vào đúng vị
trí trên sơ đồ và tiến hành hàn.
Dùng đồng hồ VOM để kiểm tra toàn bộ hệ thống mạch điều khiển bao gồm
chân nguồn, chân điều khiển xem có đủ điện áp, bị hở hay chập mạch không.

Hình 4.5. Mạch điều khiển sau khi lắp linh kiện

4.3. ĐÓNG GÓI VÀ THI CÔNG MÔ HÌNH


4.3.1. Đóng gói bộ điều khiển
Sau khi thi công và kiểm tra mạch đã chạy, nhóm tiến hành đóng gói bộ điều
khiển.

Hình 4.6. Ảnh hộp dựng mạch điều khiển

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


CHƯƠNG 4. THI CÔNG HỆ THỐNG

Bộ điều khiển trung tâm được đóng gói trong một hộp nhỏ gọn. Hộp này hoàn
toàn cách ly với điện áp 220VAC điều khiển cho ngõ ra công suất. Do đó, đảm bảo
tính an toàn trong quá trình sử dụng.
4.3.2. Thi công mô hình
Mô hình là một hộp nhựa có đèn báo nguồn 220VAC và đèn báo trạng thái hoạt
động của từng thiết bị, đồng thời có phích cắm để nối với các thiết bị điện. Hộp điều
khiển được đặt gọn trong mô hình này.

Hình 4.7. Mô hình mặt trong và mặt ngoài hệ thống

4.4. LẬP TRÌNH HỆ THỐNG


4.4.1. Lưu đồ giải thuật
Yêu cầu điều khiển: sau khi kết nối Wifi thành công, ta mở ứng dụng Android
hay truy cập giao diện Web Server. Sau đó tiến hành điều khiển bật tắt thiết bị bằng
thao tác trên giao diện để tác động đến hệ thống, đồng thời giám sát được trạng thái
của thiết bị.
4.4.1.1. Lưu đồ giải thuật mạch điều khiển
• Lưu đồ

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


CHƯƠNG 4. THI CÔNG HỆ THỐNG

Bắt đầu

Cấu hình ngõ vào, ngõ ra

Kết nối Internet

Kết nối Server

Kết nối S
thành công

Có trao đổi Đ Điều khiển thiết bị


dữ liệu với theo yêu cầu
Server

Gửi trạng thái thiết bị lên


Server

Hình 4.8. Lưu đồ điều khiển thiết bị

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


CHƯƠNG 4. THI CÔNG HỆ THỐNG

• Giải thích
Mạch điều khiển thực hiện được trong 3 trường hợp:
Khi người dùng tác động vào giao diện trên ứng dụng Android, thì thiết bị tương
ứng được bật tắt, đồng thời sẽ gửi trạng thái của thiết bị vừa được tác động lên Server.
Khi người dùng tác động vào giao diện Web, thì ESP sẽ nhận tín hiệu từ Web,
thiết bị tương ứng được bật tắt, đồng thời sẽ gửi trạng thái của thiết bị vừa được tác
động qua Server.
Khi người dùng gửi lệnh từ Web Server, để điều khiển được thiết bị thì ESP sẽ
nhận tín hiệu từ Web Server, thiết bị tương ứng sẽ được bật tắt và trạng thái điều
khiển cũng được lưu trữ lại.
ESP32 sẽ tiến hành kết nối Internet (Wifi), và thiết lập kết nối với Server. Đợi
khi kết nối thành công. Nếu có trao đổi dữ liệu với Server (người dùng tác động vào
giao diện ứng dụng Android hoặc có tín hiệu từ Server hoặc giao diện Web gửi
xuống), thì thiết bị sẽ được điều khiển theo yêu cầu người dùng. Ở bất kỳ trường hợp
điều khiển nào thì trạng thái điều khiển của thiết bị cũng đều được lưu lại trên Web
Server.
4.4.1.2. Lưu đồ giải thuật Web Server
• Lưu đồ

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


CHƯƠNG 4. THI CÔNG HỆ THỐNG

Bắt đầu

Khởi tạo hệ thống

Kết nối thành S


công

Hoạt động S
truyền nhận
dữ liệu?

Thực hiện Publish dữ


liệu vào Broker

Kết thúc

Hình 4.9. Lưu đồ Web Server

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


CHƯƠNG 4. THI CÔNG HỆ THỐNG

• Giải thích
Người dùng truy cập vào Web Server sau khi hệ thống đã được cấu hình, và kết
nối thành công với Server. Hệ thống sẽ liên tục gửi yêu cầu lên Server để xem có hoạt
động truyền nhận dữ liệu hay không. Nếu có thì dữ liệu sẽ được Publish vào Broker,
đồng thời trạng thái của thiết bị được lưu trữ lại để có thể giám sát được.

4.4.2. Phần mềm lập trình vi điều khiển


4.4.2.1. Giới thiệu
VSCode (Visual Studio Code) của Microsoft là một trong những công cụ soạn
thảo văn bản lập trình tốt nhất với các tính năng mạnh mẽ giống như một IDE
(Integrated Development Environment), nó tích hợp sẵn trình soạn thảo, trình gỡ lỗi,
công cụ thiết kế giao diện,… Đồng thời nó còn hổ trợ rất nhiều ngôn ngữ như: C/C++,
Java, Objective-C, Python, Node.js, SQL,… chạy trên nhiều nền tảng Windows, Mac,
Linux.

Hình 4.10. Biểu tượng VSCode

• Ưu điểm
Tích hợp nhiều ngôn ngữ lập trình.
Mở file nhanh, tìm kiếm nhanh, tiện lợi.
Hổ trợ làm việc trên nhiều file cùng một lúc.
Giao diện trực quan, đẹp mắt.
Hệ thống quản lý mã nguồn với Git.
Công cụ gỡ lỗi mạnh mẽ.
Tự động nhận dạng ngôn ngữ lập trình từ các file.
Nhẹ, có khả năng mở rộng.
Gợi ý code thông minh.
Chạy trên bất kì hệ điều hành nào.

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


CHƯƠNG 4. THI CÔNG HỆ THỐNG

Sức mạnh của VSCode nằm ở chổ có nhiều tiện ích miễn phí trong mục mở
rộng ứng dụng, trong đó có tiện ích mở rộng để lập trình cho vi điều khiển, module,
board phát triển.
• Cài đặt phần mềm
- Bước 1: Truy cập địa chỉ: https://code.visualstudio.com/ tải phiên bản phù hợp
với hệ điều hành của máy tính.

Hình 4.11. Giao diện trang Web tải VSCode

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


CHƯƠNG 4. THI CÔNG HỆ THỐNG

- Bước 2: Sau khi hoàn tất cài đặt, tiến hành khởi động phần mềm.

Hình 4.12. Giao diện khởi động VSCode


- Bước 3: Tiến hành cài đặt PlatformIO IDE để lập trình cho vi điều khiển. Vào
mục Extensions để tìm kiếm.

Hình 4.13. Cài đặt PlatformIO IDE


Trong tiện ích này có hơn 600 board phát triển được sử dụng để lập trình cho
các module, board phát triển như: Atmel AVR, Microchip PIC32, Espressif 32,
Espressif 8266, Linux ARM, ST STM32, …

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


CHƯƠNG 4. THI CÔNG HỆ THỐNG

- Bước 4: Tạo một dự án mới từ PlatformIO để lập trình cho board ESP32-
DevKitC.

Hình 4.14. Tạo dự án lập trình cho board ESP32-DevKitC


- Bước 5: Tiến hành viết code cho board.

Hình 4.15. Giao diện lập trình

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


CHƯƠNG 4. THI CÔNG HỆ THỐNG

4.4.2.2. Chương trình điều khiển


Sử dụng thư viện: “InfoWifiMQTT.h”, <WiFi.h>, <MQTT.h>.
Một số câu lệnh:
- Thư viện <InfoWifiMQTT.h>: thư viện tự tạo định nghĩa name, password,
server, port cho hệ thống và các topic điều khiển.
- WiFi.begin(name,password): chọn Wifi kết nối.
- WiFi.status (): kiểm tra trạng thái kết nối Wifi.
- client.begin (): cấu hình tên, port.
- client.onMessage (): gửi tin nhắn.
- client.publish (): đưa trạng thái điều khiển lên Server.
- client.subscribe (): gửi trạng thái điều khiển.
- readHumidity (): đọc giá trị độ ẩm.
- readTemperature (): đọc giá trị nhiệt độ.
4.4.3. Web Server
Thiết kế bao gồm giao diện người dùng dựa trên Node – RED và dịch vụ lưu
trữ tất cả dữ liệu điều khiển dựa trên Cloud MQTT.
• Cloud MQTT
Thiết kế
- Bước 1: truy cập địa chỉ https: //www.cloudmqtt.com/ ở bất kỳ trình duyệt nào
và đăng ký một tài khoản sử dụng.

Hình 4.16. Đăng ký tài khoản Cloud MQTT

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


CHƯƠNG 4. THI CÔNG HỆ THỐNG

- Bước 2: Nhấn vào Create New Instance để tạo một dự án mới.

Hình 4.17. Tạo một dự án mới trong Cloud MQTT

Hình 4.18. Thông tin cần thiết cho dự án trong Cloud MQTT

Hình 4.19. Một số dự án sau khi tạo


- Bước 3: Sau khi tạo dự án tiến hành cấu hình cho dự án, lưu ý các thông số
quan trọng như: Server, User, Password, Port.

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


CHƯƠNG 4. THI CÔNG HỆ THỐNG

Bảng 4.2: Thông tin server MQTT

Server m.12.cloudmqtt.com

User njiexcgi

Password t42k_aJXkDGY

Port 19950

Hình 4.20. Thông tin chi tiết cho một dự án


- Bước 4: Tại WEBSOCKET UI, nơi mà dữ liệu được điều khiển và giám sát.

Hình 4.21. Nơi giám sát và điều khiển dữ liệu

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


CHƯƠNG 4. THI CÔNG HỆ THỐNG

• Giao diện điều khiển


Để có thể điều khiển và giám sát thiết bị từ xa, nhóm đã tạo ra một giao diện
Web dựa trên Node -RED với các nút điều khiển ON, OFF đơn giản.
Thiết kế
- Bước 1: Máy tính cần cài đặt Node.js từ trang chủ https://nodejs.org/en/ sau
đó cài đặt Node – RED trên hệ thống sử dụng cmd bằng lệnh npm install -g - -unsafe-
perm node-red.
- Bước 2: Chạy Node – RED trên hệ thống bằng lệnh node-red trong cmd, sau
khi đã khởi động xong, tiến hành copy địa chỉ http://127.0.0.1:1880/ và dán vào trình
duyệt Web bất kỳ trên máy tính.

Hình 4.22. Khởi động Node – RED

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


CHƯƠNG 4. THI CÔNG HỆ THỐNG

Hình 4.23. Màn hình giao diện thiết kế Web


- Bước 3: Tiến hành thiết kế.
Kiểm tra kết nối với Cloud MQTT:

Hình 4.24. Tạo kết nối với Server

Hình 4.25. Cấu hình địa chỉ kết nối

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


CHƯƠNG 4. THI CÔNG HỆ THỐNG

Tạo giao diện một nút điều khiển:

Hình 4.26. Một nút điều khiển cơ bản

Hình 4.27. Cấu hình cho một nút


Thực hiện cho các nút còn lại với những yêu cầu điều khiển tương ứng.

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


CHƯƠNG 4. THI CÔNG HỆ THỐNG

- Bước 4: Tiến hành chạy trình duyệt.

Hình 4.28. Tiến hành deploy giao diện

Hình 4.29. Giao diện nút điều khiển

4.4.4. Ứng dụng Android


Để thuận tiện cho quá trình thiết kế cũng như đảm bảo tính ổn định trong quá
trình điều khiển. Qua quá trình tìm hiểu, nhóm đã chọn ứng dụng có trên hệ điều hành
Android tên là Mqtt Dashboard phù hợp cho việc điều khiển toàn bộ hệ thống.

Hình 4.30. Ứng dụng MQTT Dashboard

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


CHƯƠNG 4. THI CÔNG HỆ THỐNG

• Ưu điểm
Đồng bộ việc điều khiển thiết bị, Node – RED và Cloud MQTT.
Tạo và điều chỉnh giao diện điều khiển trực quan, thẩm mỹ.
Tương thích với nhiều board mạch có điều khiển Internet.
• Thuộc tính
- Button: gửi thông tin dữ liệu.
- Multiselect: cung cấp một lựa chọn các message đã được lưu trước đó.
- Toggle: chuyển trạng thái của topic, như bật tắt thiết bị.
- Text: gửi và nhận bất kỳ loại chuỗi nào.
- Progress: gửi giá trị trong phạm vi cố định và hiển thị giá trị nhận được.
- Date and Time: lưu lại ngày và giờ gần nhất khi điều khiển thiết bị.
- Color: lựa chọn màu sắc cho giao diện từ bảng màu RGB.
- Line chart: hiển thị biểu đồ từ dữ liệu nhận được.

Hình 4.31. Bảng thuộc tính MQTT Dashboard

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


CHƯƠNG 4. THI CÔNG HỆ THỐNG

Thiết kế
- Bước 1: Từ màn hình ứng dụng tạo một Broker (server) với thông số.

Hình 4.32. Tạo một Broker


- Bước 2: Tiến hành thiết kế giao diện và cấu hình cho nút nhấn.

Hình 4.33. Thiết kế và chỉnh sửa giao diện ứng dụng


BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 73
CHƯƠNG 4. THI CÔNG HỆ THỐNG

4.5. HƯỚNG DẪN SỬ DỤNG, THAO TÁC


4.5.1. Viết tài liệu hướng dẫn sử dụng
Bước 1: Tiến hành cấp nguồn 220VAC cho toàn bộ hệ thống bao gồm nguồn
220V cho ngõ ra mạch công suất, và nguồn 220V cho hệ thống để tạo nguồn DC nuôi
mạch điều khiển.
Bước 2: Chờ đến khi ESP32 kết nối Wifi, mở ứng dụng Android, Web Server,
giao diện Node – RED. Khi Cloud MQTT đã được kết nối, tiến hành điều khiển, giám
sát trực tiếp các thiết bị sử dụng trên giao diện.
4.5.2. Quy trình thao tác

Cấp nguồn

Kiểm tra kết


nối Wifi

Đợi kết nối


Cloud MQTT

Điều khiển
thiết bị

Hình 4.34. Quy trình thao tác


Sau khi tiến hành cấp nguồn, hệ thống sẽ hoạt động như sau:

• Điều khiển trực tiếp tại phòng


Người sử dụng mở ứng dụng Android, nhấn nút điều khiển trên màn hình, tín
hiệu điều khiển được chuyển đến khối xử lý trung tâm, khối xử lý trung tâm gửi tín
hiệu điều khiển đến mạch công suất, các thiết bị điện sẽ được bật tắt tương ứng với
thao tác người dùng. Sau đó trạng thái của thiết bị sẽ được gửi lên Server thông qua
Internet. Server này chính là Cloud MQTT, nơi tiến hành xử lý dữ liệu vừa nhận được
và lưu lại trạng thái của từng thiết bị.

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


CHƯƠNG 4. THI CÔNG HỆ THỐNG

• Điều khiển thông qua Web Server


Người sử dụng truy cập vào giao diện Node – RED. Tiến hành nhấn nút điều
khiển trực tiếp trên giao diện này, Server sẽ gửi dữ liệu điều khiển về khối xử lý trung
tâm. Bộ xử lý trung tâm nhận được tín hiệu điều khiển và tác động đến khối công suất
để tiến hành bật tắt thiết bị. Đồng thời Server cũng cập nhật trạng thái của thiết bị vừa
được điều khiển. Ngoài ra, tại Server CloudMQTT, người dùng cũng có thể điều
khiển được bằng lệnh on, off.
Bất kể khi điều khiển tại ứng dụng Android, giao diện Node – RED hay Server
(một trong ba cái trên), thì trạng thái của thiết bị được điều khiển đều cập nhật ngay
lập tức ở hai cái còn lại.

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


CHƯƠNG 5. KẾT QUẢ, NHẬN XÉT VÀ ĐÁNH GIÁ

Chương 5. KẾT QUẢ, NHẬN XÉT VÀ ĐÁNH GIÁ

5.1. GIỚI THIỆU


Sau thời gian 17 tuần thực hiện đề tài, qua quá trình nghiên cứu và tìm hiểu
nhóm đã học hỏi được nhiều kiến thức mới, công nghệ mới. Đồng thời áp dụng được
nhiều lý thuyết vào dự án thực tế.
5.2. KẾT QUẢ ĐẠT ĐƯỢC
Board ESP32-DevKitC là mạch điều khiển chính trong hệ thống. Nhóm đã biết
cách ứng dụng chức năng tích hợp Wifi trong board để phát triển hệ thống điều khiển
thiết bị từ xa. Từ đó nắm được bản chất điều khiển, để có thể mở rộng cho các ứng
dụng IoT sau này, điều khiển được một hệ thống lớn.
Thông qua đề tài nhóm đã biết cách điều khiển và giám sát thiết bị qua Internet
(Wifi). Đồng thời thiết kế được giao diện Web, ứng dụng Android cho hệ thống điều
khiển. Tất cả đều được lưu trữ tại dịch vụ lưu trữ Cloud MQTT.
Đề tài có sử dụng cảm biến đo nhiệt độ, độ ẩm, qua đó nhóm biết được cấu tạo,
nguyên lý hoạt động cũng như cách sử dụng cảm biến. Cảm biến này rất phổ biến,
thích hợp cho việc giám sát nhiệt độ, độ ẩm trên các hệ thống nhỏ.
5.3. KẾT QUẢ THỰC NGHIỆM
5.3.1. Mô hình

Hình 5.1. Mô hình hệ thống khi được cấp nguồn 220VAC

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


CHƯƠNG 5. KẾT QUẢ, NHẬN XÉT VÀ ĐÁNH GIÁ

5.3.2. Điều khiển và giám sát thiết bị, cảm biến qua Web Server
• Điều khiển
Giao diện màn hình điều khiển khi tất cả thiết bị tắt:

Hình 5.2. Các thiết bị khi chưa được bật trên màn hình điều khiển

Giao diện màn hình điều khiển khi tất cả thiết bị được bật:

Hình 5.3. Các thiết bị được bật trên màn hình điều khiển

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


CHƯƠNG 5. KẾT QUẢ, NHẬN XÉT VÀ ĐÁNH GIÁ

• Giám sát

Hình 5.4. Nhiệt độ và độ ẩm bộ điều khiển hiển thị trên giao diện Web

Hình 5.5. Trạng thái thiết bị được giám sát trên Cloud MQTT

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


CHƯƠNG 5. KẾT QUẢ, NHẬN XÉT VÀ ĐÁNH GIÁ

5.3.3. Điều khiển và giám sát thiết bị, cảm biến qua ứng dụng Android
Giao diện màn hình điều khiển khi thiết bị tắt, khi được bật và giá trị của nhiệt
độ, độ ẩm.

Hình 5.6. Giao diện ứng dụng Android khi các thiết bị tắt, bật và giá trị cảm biến

Hình 5.7. Mô hình khi bật các thiết bị

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


CHƯƠNG 5. KẾT QUẢ, NHẬN XÉT VÀ ĐÁNH GIÁ

5.4. NHẬN XÉT VÀ ĐÁNH GIÁ


5.4.1. Nhận xét
Sau 17 tuần thực hiện, nhóm đã hoàn thành hệ thống đáp ứng cơ bản những yêu
cầu ban đầu đặt ra, dưới đây là một số nhận xét.
• Ưu điểm
- Hệ thống hoạt động ổn định qua nhiều lần thử nghiệm.
- Đồng bộ trạng thái điều khiển từ mô hình hệ thống, ứng dụng Android, giao
diện Web và Server.
- Giám sát được lịch sử điều khiển thiết bị.
- Giám sát được nhiệt độ và độ ẩm của bộ điều khiển.
- Tốc độ điều khiển tương đối nhanh.
- Giao diện điều khiển trực quan, đẹp mắt.
- Dễ dàng sử dụng, lắp đặt và bảo dưỡng.
• Nhược điểm
- Hệ thống phụ thuộc vào tốc độ mạng Wifi, và sự ổn định của Server Cloud
MQTT.
- Chưa tích hợp nhiều tính năng thành một hệ thống IoT hoàn chỉnh.
5.4.2. Đánh giá
Trong quá trình vận hành hệ thống, nhóm đã ghi nhận lại kết quả được tổng hợp.
Bảng 5.1: Số liệu thực nghiệm

Công việc Số lần thao Số lần thành Thời gian đáp Đánh giá
tác công ứng
Điều khiển thiết bị 50 48 2 – 3 giây Đạt
qua ứng dụng

Điều khiển thiết bị 50 48 2 – 3 giây Đạt


qua giao diện Web

Cập nhật trạng thái 50 48 1 – 2 giây Đạt


thiết bị

Giám sát cảm biến Ổn định Ổn định 10 giây Đạt

Đánh giá chung Đạt

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


CHƯƠNG 5. KẾT QUẢ, NHẬN XÉT VÀ ĐÁNH GIÁ

Qua những số liệu được thống kê ở bảng trên, nhóm đánh giá hệ thống về cơ
bản đã đáp ứng được mục tiêu đặt ra. Hệ thống hoạt động ổn định sau nhiều lần chạy,
kiểm tra thử trong nhiều trường hợp. Mô hình nhỏ gọn, thẩm mỹ, nhưng vẫn đảm bảo
tính an toàn cao, dễ dàng lắp đặt và sử dụng. Nhưng để đưa hệ thống này áp dụng vào
thực tế thì nhóm cần phải hoàn thiện một số phần như sau: tăng tốc độ điều khiển
cũng như phản hồi, tối ưu hóa mô hình, thêm một số chức năng như: giám sát nơi
điều khiển, cảnh báo chống trộm, báo cháy, …

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


CHƯƠNG 6. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

Chương 6. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

6.1. KẾT LUẬN


Qua quá trình thực hiện nhóm đã hoàn thành đề tài đáp ứng được những yêu cầu
ban đầu đặt ra.
6.1.1. Ưu điểm
- Mạch điều khiển nhỏ gọn, hoạt động khá ổn định, thời gian đáp ứng khá nhanh.
- Giao diện điều khiển và giám sát dễ sử dụng, thân thiện người dùng.
- Có Server quản lý và lưu trữ dữ liệu.
- Mô hình hệ thống có tính thẩm mỹ cao, độ chính xác, tính an toàn và dễ dàng
thao tác với người dùng.
- Phù hợp cho các hệ thống điện trong phòng học, hộ gia đình.
6.1.2. Khuyết điểm
- Hộp mô hình còn mang tính tượng trưng.
- Hệ thống phụ thuộc vào nguồn điện 220VAC, và tốc độ truy cập mạng Internet.
- Sử dụng dịch vụ Server, nên còn hạn chế về sự ổn định.
- Giới hạn về thời gian, kiến thức nên hệ thống chưa được tối ưu.
Nhìn chung hệ thống điều khiển về cơ bản hoạt động tốt.
6.2. HƯỚNG PHÁT TRIỂN
Hệ thống hiện tại đã đáp ứng được việc điều khiển các thiết bị. Trong quá trình
thực hiện, nhóm thấy rằng đề tài này rất phổ biến, có tính ứng dụng rất cao trong
nhiều dự án thực tế. Vì vậy nhóm đưa ra một số đề xuất nhằm cải tiến và nâng cấp hệ
thống:
- Mở rộng số lượng cũng như công suất thiết bị điều khiển.
- Giám sát nơi điều khiển bằng camera, cảnh báo chống trộm, báo cháy.
- Điều chỉnh độ sáng đèn, tốc độ quạt, nhiệt độ điều hòa, …
- Thiết lập hệ thống điều khiển thiết bị tự động nhằm tối ưu hóa việc sử dụng và
tiết kiệm điện năng.
- Ứng dụng đề tài vào hệ thống thực tế.

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


TÀI LIỆU THAM KHẢO

TÀI LIỆU THAM KHẢO

❖ Sách tham khảo


[1] Nguyễn Đình Phú, Giáo trình Vi điều khiển PIC, Nhà xuất bản ĐH Quốc gia Tp.
Hồ Chí Minh, 8/2016.
[2] Nguyễn Đình Phú – Nguyễn Trường Duy, Giáo trình Kỹ thuật số, Nhà xuất bản
ĐH Quốc gia Tp. Hồ Chí Minh.
[3] Trần Thu Hà – Trương Thị Bích Ngà – Nguyễn Thị Lưỡng – Bùi Thị Tuyết Đan
– Phù Thị Ngọc Hiếu – Dương Thị Cẩm Tú, Giáo trình Điện tử cơ bản, Nhà xuất bản
ĐH Quốc gia Tp. Hồ Chí Minh.
❖ Website tham khảo
[1] stackoverflow.com.
[2] “Học IoT cơ bản”, hocarm.org.
[3] Hệ thống giao tiếp với IoT, “Real Time Data Transfer for IoT with MQTT,
Android and NodeMCU”, Medium.com, 11/2018.
[4] Giao thức MQTT, “MQTT Protocol”, 1sheeld.com, 7/2018.
[5] Giới thiệu Android, “Learn Android”, tutorialspoint.com/android.
[6] ESP32, “ESP32: Connecting to a WiFi network”, techtutorialsx.com, 4/2017.
[7] Datasheet:
ESP32:
https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pd
f
ESP32-WOOM-32:
https://www.espressif.com/sites/default/files/documentation/esp32-wroom-
32_datasheet_en.pdf

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


PHỤ LỤC

PHỤ LỤC

SOURCE CODE
Chương trình điều khiển
Hàm main
#include <Arduino.h>
#include "InfoWifiMQTT.h"
#include "configDHT.h"
#include "configHardware.h"
#include "configMQTT.h"

unsigned long lastMillis = 0;

void setup()
{
SetupHardware();
SetupMQTT();
SetupDHT();
}

void loop()
{
ClientLoop();
// publish a message roughly every second.
if (millis() - lastMillis > 10000)
{
lastMillis = millis();

float temp = ReadTemp();


float humi = ReadHumi();

MQTTPublish(TOPIC_PUB_TEMP,String(temp));
MQTTPublish(TOPIC_PUB_HUMI,String(humi));
}
}

File Header
//Cấu hình thông tin thiết lập Server:

#include <Arduino.h>

#define NAME_WIFI_1 "NgocDiem"


#define PASS_WIFI_1 "0979677439"

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


PHỤ LỤC

#define NAME_WIFI_2 "Phuong's phuong"


#define PASS_WIFI_2 "pianoviolin"

#define NAME_WIFI_3 "Tam"


#define PASS_WIFI_3 "123456"

#define HOST_NAME "m12.cloudmqtt.com"


#define PORT 19950

#define CLIENT_ID "calib"


#define USER_NAME "njiexcgi"
#define PASS_MQTT "t42k_aJXkDGY"

#define TOPIC_SUB_LIGHT_1 "cmd1"


#define TOPIC_SUB_LIGHT_2 "cmd2"
#define TOPIC_SUB_LIGHT_3 "cmd3"
#define TOPIC_SUB_LIGHT_4 "cmd4"

#define TOPIC_PUB_LIGHT_1 "status1"


#define TOPIC_PUB_LIGHT_2 "status2"
#define TOPIC_PUB_LIGHT_3 "status3"
#define TOPIC_PUB_LIGHT_4 "status4"

#define TOPIC_PUB_STATUS_ON "on"


#define TOPIC_PUB_STATUS_OFF "off"

#define TOPIC_PUB_TEMP "temp"


#define TOPIC_PUB_HUMI "humi"

//Cấu hình MQTT:

#include <Arduino.h>
#include "InfoWifiMQTT.h"
#include "configHardware.h"

#include <WiFi.h>
#include <MQTT.h>

void CheckWifi(const char * NameWifi, const char * PassWifi);


void Connect();
void PublishTopic();
void SubscribeTopic();
void OnAndOff(String payload,uint8_t light, String status);
void MakeAction(String topic, String payload);
void MakeAction(String topic, String payload);
void messageReceived(String &topic, String &payload);
void SetupMQTT();
void ClientLoop();
void MQTTPublish(String topic, String data);

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


PHỤ LỤC

//Cấu hình thiết bị:

#include <Arduino.h>

#define DEN1 16
#define DEN2 4
#define DEN3 0
#define DEN4 2

#define ON HIGH
#define OFF LOW

void SetupHardware();
void TurnOn(uint8_t light);
void TurnOff(uint8_t light);

//Cấu hình nhiệt độ, độ ẩm:

#include <Arduino.h>
#include "DHT.h"

#define DHTPIN 15
#define DHTTYPE DHT11

void SetupDHT();
float ReadHumi();
float ReadTemp();

Chương trình con

//Cấu hình thiết lập thông tin Server:

#include <configMQTT.h>

WiFiClient net;
MQTTClient client;

void CheckWifi(const char * NameWifi, const char * PassWifi)


{
int time = 0;
while(WiFi.status() != WL_CONNECTED)
{
WiFi.begin(NameWifi, PassWifi);
Serial.print(".");
delay(1000);
time++;

if(WiFi.status() == WL_CONNECTED){
Serial.println(String("Connected ") + String(NameWifi));
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 86
PHỤ LỤC

}
if(time >=10){
return;
}
}
}

void Connect()
{
Serial.print("checking wifi...");
while (WiFi.status() != WL_CONNECTED)
{
CheckWifi(NAME_WIFI_1,PASS_WIFI_1);
CheckWifi(NAME_WIFI_2,PASS_WIFI_2);
CheckWifi(NAME_WIFI_3,PASS_WIFI_3);
}
Serial.print("\nconnecting...");
while (!client.connect(CLIENT_ID, USER_NAME, PASS_MQTT))
{
Serial.print(".");
delay(1000);
}
Serial.println("\nconnected!");
}

void PublishTopic()
{
client.publish(TOPIC_PUB_LIGHT_1,TOPIC_PUB_STATUS_OFF);
client.publish(TOPIC_PUB_LIGHT_2,TOPIC_PUB_STATUS_OFF);
client.publish(TOPIC_PUB_LIGHT_3,TOPIC_PUB_STATUS_OFF);
client.publish(TOPIC_PUB_LIGHT_4,TOPIC_PUB_STATUS_OFF);
}

void SubscribeTopic()
{
client.subscribe(TOPIC_SUB_LIGHT_1);
client.subscribe(TOPIC_SUB_LIGHT_2);
client.subscribe(TOPIC_SUB_LIGHT_3);
client.subscribe(TOPIC_SUB_LIGHT_4);
}

void OnAndOff(String payload,uint8_t light, String status)


{
if(payload.compareTo(TOPIC_PUB_STATUS_ON) == 0)
{
TurnOn(light);
client.publish(status,TOPIC_PUB_STATUS_ON);
}
else if(payload.compareTo(TOPIC_PUB_STATUS_OFF) == 0)
{

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


PHỤ LỤC

TurnOff(light);
client.publish(status,TOPIC_PUB_STATUS_OFF);
}
}

void MakeAction(String topic, String payload)


{
if(topic.compareTo(TOPIC_SUB_LIGHT_1) == 0)
{
OnAndOff(payload,DEN1,TOPIC_PUB_LIGHT_1);
}
else if(topic.compareTo(TOPIC_SUB_LIGHT_2) == 0)
{
OnAndOff(payload,DEN2,TOPIC_PUB_LIGHT_2);
}
else if(topic.compareTo(TOPIC_SUB_LIGHT_3) == 0)
{
OnAndOff(payload,DEN3,TOPIC_PUB_LIGHT_3);
}
else if (topic.compareTo(TOPIC_SUB_LIGHT_4) == 0)
{
OnAndOff(payload,DEN4,TOPIC_PUB_LIGHT_4);
}
}

void messageReceived(String &topic, String &payload)


{
Serial.println("incoming: " + topic + " - " + payload);
MakeAction(topic,payload);
}

void SetupMQTT()
{
WiFi.begin(NAME_WIFI_1, PASS_WIFI_1);
client.begin(HOST_NAME,PORT, net);
client.onMessage(messageReceived);
Connect();
PublishTopic();
SubscribeTopic();
}

void ClientLoop()
{
client.loop();
delay(10); // <- fixes some issues with WiFi stability
if (!client.connected())
{
Connect();
}
}

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


PHỤ LỤC

void MQTTPublish(String topic, String data)


{
client.publish(topic,data);
}

//Cấu hình phần cứng điều khiển thiết bị:

#include "configHardware.h"

void SetupHardware()
{
pinMode(DEN1,OUTPUT);
pinMode(DEN2,OUTPUT);
pinMode(DEN3,OUTPUT);
pinMode(DEN4,OUTPUT);

TurnOff(DEN1);
TurnOff(DEN2);
TurnOff(DEN3);
TurnOff(DEN4);

Serial.begin(115200);
}

void TurnOn(uint8_t light)


{
digitalWrite(light,ON);
}

void TurnOff(uint8_t light)


{
digitalWrite(light,OFF);
}

//Cấu hình nhiệt độ, độ ẩm:

#include "configDHT.h"

DHT dht(DHTPIN,DHTTYPE);

void SetupDHT()
{
dht.begin();
}
float ReadHumi()
{
float humi = dht.readHumidity();
if(isnan(humi)){
Serial.println(F("Failed to read humidyty from DHT sensor!"));

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


PHỤ LỤC

return -1;
}
else{
Serial.print(F("Humidity: "));
Serial.print(humi);
Serial.println(F("%"));
return humi;
}
}
float ReadTemp()
{
float temp = dht.readTemperature();
if(isnan(temp)){
Serial.println(F("Failed to read temperature from DHT sensor!"));
return -1;
}
else{
Serial.print(F("Temperature: "));
Serial.print(temp);
Serial.println(F("C "));
return temp;
}
}

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

You might also like