You are on page 1of 71

TRƯỜNG ĐẠI HỌC BÀ RỊA VŨNG TÀU

VIỆN CÔNG NGHỆ THÔNG TIN - ĐIỆN – ĐIỆN TỬ


CHUYÊN NGÀNH ĐIỆN ĐIỆN ĐIỀU KHIỂN VÀ TỰ ĐỘNG HÓA

LUẬN VĂN TỐT NGHIỆP

HỆ THỐNG ĐIỀU KHIỂN NHÀ THÔNG MINH

Trình độ đào tạo: Đại Học Chính Quy


Ngành: Điện – Điện Tử
Chuyên ngành: Điện Điều Khiển & Tự Động Hóa
Giảng viên hướng dẫn: Th.s Châu Nguyễn Ngọc Lan
Sinh viên thực hiện: Lê Văn Hiếu
MSSV: 15031251 Lớp: DH15TD

Vũng Tàu, 2019


TRƯỜNG ĐẠI HỌC BÀ RỊA VŨNG TÀU

VIỆN CÔNG NGHỆ THÔNG TIN - ĐIỆN - ĐIỆN TỬ


CHUYÊN NGÀNH ĐIỆN ĐIỀU KHIỂN VÀ TỰ ĐỘNG HÓA

ĐỒ ÁN TỐT NGHIỆP

HỆ THỐNG ĐIỀU KHIỂN NHÀ THÔNG MINH


(SMART HOME CONTROL SYSTEM)

KỸ SƯ NGÀNH ĐIỆN ĐIỀU KHIỂN & TỰ ĐỘNG HÓA

Trình độ đào tạo: Đại Học Chính Quy


Ngành: Điện – Điện Tử
Chuyên ngành: Điện Điều Khiển & Tự Động Hóa
Giảng viên hướng dẫn: Th.s Châu Nguyễn Ngọc Lan
Sinh viên thực hiện: Lê Văn Hiếu
MSSV: 15031251 Lớp: DH15TD

Vũng Tàu, 2019


LỜI CẢM ƠN
Sau hơn 4 năm học tập, rèn luyện, trau dồi kiến thức tại trường Đại học Bà Rịa
Vũng Tàu, được sự giảng dạy tận tâm của các thầy cô, sự hỗ trợ đắc lực từ gia đình cũng
như sự giúp đỡ nhiệt tình từ bạn bè, anh chị khóa trước, ngày hôm nay em đã bước vào
chặng cuối của hành trình - hoàn thành luận văn tốt nghiệp để ra trường.
Để được như ngày hôm nay, ngoài việc cố gắng, nổ lực từ bản thân thì còn rất nhiều
người đã giúp đỡ, khích lệ em trong suốt chặng đường. Vì vậy em muốn gửi lời cảm ơn
chân thành sâu sắc đến những người sau đây:
Lời đầu tiên, con cảm ơn ba mẹ, đã hy sinh cả đời mình để tạo điều kiện tốt nhất
cho con được học tập.
Tiếp theo, em xin cảm ơn quý thầy, cô trong khoa Điện – Điện tử đã truyền đạt cho
em những kiến thức quý giá suốt những năm học qua. Đặc biệt, em xin cảm ơn Cô Châu
Nguyễn Ngọc Lan, người đã đã tận tình hướng dẫn, góp ý để em có thể hoàn thành luận
văn này.
Mình cũng xin cảm ơn những bạn bè, anh chị đã động viên, giúp đỡ, sát cánh bên
nhau trong thời gian làm luận văn cũng như suốt 4 năm học qua.
Cuối cùng, em xin kính chúc quý thầy cô dồi dào sức khỏe để tiếp tục truyền đạt
những kiến thức quý báu cho các thế hệ sinh viên chúng em. Con chúc ba mẹ thật nhiều
sức khỏe, niềm vui và hạnh phúc. Chúc các anh chị, các bạn thành công và vững bước trên
con đường mình đã chọn.
Xin chân thành cảm ơn!
Vũng Tàu, tháng 6 năm 2019
Sinh viên

Lê Văn Hiếu
MỤC LỤC
Chương 1. GIỚI THIỆU ĐỀ TÀI .................................................................................................3

1.1. Lý do chọn đề tài luận văn: ............................................................................................3

1.2. Mục tiêu của đề tài: ...........................................................................................................3

1.3. Đối tượng và phạm vi nghiên cứu: ..............................................................................4

1.4. Ý nghĩa của đề tài: .............................................................................................................4

Chương 2. TỔNG QUAN................................................................................................................5

2.1. Nhà thông minh là gì? ......................................................................................................5

2.2. Các thành phần cơ bản trong nhà thông minh: ........................................................6

2.2.1. Hệ thống quản lý chiếu sáng: ............................................................................6

2.2.2. Hệ thống kiểm soát ra vào:.................................................................................6

2.2.3. Hệ thống quan sát, thông tin liên lạc: .............................................................7

2.2.4. Hệ thống giải trí đa phương tiện: .....................................................................7

2.2.5. Hệ thống quản lý tiêu thụ năng lượng:...........................................................7

2.2.6. Hệ thống cảm biến và báo động: ......................................................................7

2.2.7. Hệ thống kiểm soát môi trường:.......................................................................8

2.2.8. Hệ thống các công tắc điều khiển trạng thái: ...............................................8

2.2.9. Hệ thống xử lý trung tâm, điều khiển, giám sát từ xa: .............................8

2.3. Tình hình phát triển trong và ngoài nước: .................................................................9

2.3.1. Đối với tình hình ngoài nước: ...........................................................................9

2.3.2. Đối với tình hình trong nước: ............................................................................9

2.4. Phân tích, lựa chọn phương án thực hiện đề tài: .................................................. 10

2.4.1. Phương án thực hiện: ........................................................................................ 10

2.4.2. Phân tích phương án đã chọn: ........................................................................ 12


Chương 3. TÌM HIỂU VỀ PHẦN CỨNG VÀ PHẦN MỀM ............................................... 14

3.1. Kit STM32F407 Discovery: ........................................................................................ 14

3.1.1. Các tính năng nổi bật: ....................................................................................... 14

3.1.2. Các khối chức năng chính được sử dụng trong luận văn: .................... 15

3.2. Module thu phát Wifi ESP8266 NodeMCU: ........................................................ 18

3.3. Các cảm biến được sử dụng: ....................................................................................... 20

3.3.1. Cảm biến nhiệt độ, độ ẩm DHT11: .............................................................. 20

3.3.2. Cảm biến sáng quang trở CDS: ..................................................................... 22

3.3.3. Cảm biến mưa: .................................................................................................... 23

3.3.4. Cảm biến thân nhiệt chuyển động PIR HC – SR501: ............................ 23

3.3.5. Cảm biến khí gas MQ-2: .................................................................................. 24

3.4. Mạch RFID RC522 NFC: ............................................................................................ 25

3.5. Màn hình hiển thị LCD:................................................................................................ 26

3.5.1. LCD text 1604 xanh dương: ........................................................................... 26

3.5.2. LCD text 2004 xanh dương: ........................................................................... 27

3.5.3. Mạch chuyển giao tiếp LCD 1602 và LCD 2004 sang I2C: ............... 27

3.6. Module 8 relay: ................................................................................................................ 28

3.7. Các thiết bị khác: ............................................................................................................. 29

3.7.1. Đèn led, quạt: ....................................................................................................... 29

3.7.2. Động cơ RC Servo 9G: ..................................................................................... 29

3.7.3. Cảm ứng một chạm điện dung TTP223B: ................................................. 30

3.8. Các phần mềm được sử dụng: .................................................................................... 31

3.8.1. Arduino IDE:........................................................................................................ 31

3.8.2. Keil uVision5 và STM32CubeMX: ............................................................. 31


3.9. Giao thức MQTT : .......................................................................................................... 32

3.9.1. Tìm hiểu giao thức MQTT: ............................................................................. 32

3.9.2. Cloud MQTT: ...................................................................................................... 34

3.9.3. Ứng dụng điều khiển giám sát từ xa: ........................................................... 35

3.10. Cập nhật thời gian thực từ NTP server: .............................................................. 36

Chương 4. THIẾT KẾ, THI CÔNG BỘ ĐIỀU KHIỂN VÀ MÔ HÌNH NGÔI NHÀ ..... 37

4.1. Tổng quan hệ thống: ...................................................................................................... 37

4.2. Mô hình ngôi nhà: ........................................................................................................... 38

4.3. Bộ điều khiển trung tâm: .............................................................................................. 39

4.3.1. Thiết kế, thi công mạch điều khiển trung tâm:......................................... 40

4.3.2. Thiết kế, thi công mạch nút nhấn: ................................................................ 42

4.3.3. Bộ điều khiển trung tâm sau khi tích hợp: ................................................. 43

Chương 5. LẬP TRÌNH HỆ THỐNG ĐIỀU KHIỂN ........................................................... 44

5.1. Các tính năng của hệ thống điều khiển nhà thông minh: .................................. 44

5.2. Giải thuật điều khiển: .................................................................................................... 45

5.2.1. Đóng mở cửa bằng RFID: ............................................................................... 45

5.2.2. Hoạt động theo các kịch bản: ......................................................................... 46

5.3. Lập trình cập nhật thời gian thực từ NTP sever: ............................................ 51

5.4. Lập trình điều khiển, giám sát từ xa: ........................................................................ 52

5.4.1. Lập trình cho kit STM32F407 và module ESP 8266 NodeMCU: .... 52

5.4.2. Tạo Broker MQTT trên CloudMQTT:........................................................ 54

5.4.3. Thiết lập, tạo giao diện trên ứng dụng IoT OnOff:................................. 56

Chương 6. KẾT QUẢ, HẠN CHẾ VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI ........................ 58

6.1. Kết quả và hạn chế của đề tài: .................................................................................... 58


6.1.1. Kết quả: .................................................................................................................. 58

6.1.2. Hạn chế: ................................................................................................................. 59

6.2. Hướng phát triển đề tài: ............................................................................................... 59

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


DANH MỤC HÌNH VẼ
Hình 2.1: Sơ đồ khối tổng quan hệ thống ............................................................................ 11
Hình 3.1: Kit STM32F407 Discovery [2] .............................................................................. 14
Hinh 3.2: Cấu trúc cơ bản của một chân I/O đa chức năng [3] .................................. 16
Hình 3.3: Sơ đồ cấu trúc khối giao tiếp USART [3] ......................................................... 17
Hình 3.4: Cấu trúc của một chân I2C [3] .............................................................................. 18
Hình 3.5: Module thu phát Wifi 8266 NodeMCU [4] ...................................................... 18
Hình 3.6: Các chân của Module Wifi 8266 NodeMCU [4] ............................................. 19
Hình 3.7: Cảm biến nhiệt độ, độ ẩm DHT11 ....................................................................... 20
Hình 3.8: Tín hiệu start từ MCU và phản hồi của DHT11 [5] ..................................... 21
Hình 3.9: Bit 0 [5] ........................................................................................................................... 21
Hình 3.10: Bit 1 [5] ........................................................................................................................ 22
Hình 3.11: Cảm biến quang trở CDS ...................................................................................... 22
Hình 3.12: Cảm biến mưa ........................................................................................................... 23
Hình 3.13: Cảm biến thân nhiệt chuyển động PIR HC – SR501 ................................. 23
Hình 3.14: Cảm biến khí gas ...................................................................................................... 24
Hình 3.15: Mach RFID RC552 NFC ......................................................................................... 25
Hình 3.16: LCD text 1604 xanh dương ................................................................................. 26
Hình 3.17: LCD text 2004 xanh dương ................................................................................. 27
Hinh 3.18: Mạch chuyển giao tiếp LCD 1602 và LCD 2004 sang I2C ...................... 27
Hình 3.19: Module 8 relay .......................................................................................................... 28
Hình 3.20: Đèn hắt sang trắng 3 bóng .................................................................................. 29
Hình 3.21: Quạt tản nhiệt 4x4x1cm ...................................................................................... 29
Hình 3.22: Động cơ RC Servo 9G ............................................................................................. 30
Hình 3.23: Cảm ứng một chạm điện dung TTP223B ................................................... 30
Hình 3.24: Mô hình publish/ subscribe ............................................................................... 33
Hình 3.25: Trang CloudMQTT .................................................................................................. 35
Hình 4.1: Sơ đồ tổng quan hệ thống ...................................................................................... 37
Hình 4.2: Mô hình ngôi nhà ....................................................................................................... 38
Hình 4.3: Sơ đồ nguyên lý bộ điều khiển trung tâm ....................................................... 40
Hình 4.4: Mạch in bộ điều khiển trung tâm ........................................................................ 41
Hình 4.5: Kêt quả thi công mạch điều khiển trung tâm ................................................ 41
Hình 4.6: Sơ đồ nguyên lý mạch nút nhấn .......................................................................... 42
Hình 4.7: Mạch in nút nhấn ....................................................................................................... 42
Hình 4.8: Kết quả thi công mạch nút nhấn ......................................................................... 43
Hình 4.9: Bộ điều khiển trung tâm ......................................................................................... 43
Hình 5.1: Sơ đồ giải thuật đóng mở cửa dùng thẻ RFID ............................................... 45
Hình 5.2: Sơ đồ giải thuật điều khiển đèn phòng vệ sinh............................................. 46
Hình 5.3: Sơ đồ giải thuật báo động khí gas ....................................................................... 46
Hình 5.4: Sơ đồ giải thuật đóng cửa sổ khi trời mưa ..................................................... 47
Hình 5.5: Sơ đồ giải thuật điều khiển đèn, quạt ở Kịch bản 2 - Tiếp khách ......... 48
Hình 5.6: Sơ đồ giải thuật Kịch bản 3 – Ra khỏi nhà ...................................................... 49
Hình 5.7: Sơ đồ giải thuật điều khiển quạt Kịch bản 4 - Đi ngủ................................ 50
Hình 5.8: Sơ đồ giải thuật chống trộm Kịch bản 4 - Đi ngủ ........................................ 50
Hình 5.9: Sơ đồ giải thuật báo thức Kịch bản 4 - Đi ngủ .............................................. 51
Hình 5.10: Sơ đồ khối điều khiển giám sát từ xa qua Internet .................................. 52
Hình 5.11: Sơ đồ giải thuật lập tình STM32F407 giao tiếp ESP8266 ..................... 53
Hình 5.12: Sơ đồ giải thuật lập trình ESP8266 ................................................................. 54
Hình 5.13: Gói “Humble Hedgehog” của CloudMQTT .................................................... 55
Hình 5.14: Cung cấp thông tin broker cho ứng dụng IoT OnOff ............................... 56
Hình 5.15: Ứng dụng IoT OnOff kết nối broker ................................................................ 57
Hình 5.16: Giao diện điều khiển được tạo trên ứng dụng IoT OnOff ..................... 57
Hình 6.1: Bộ điều khiển và mô hình ngôi nhà sau khi hoàn thành .......................... 58
DANH MỤC BẢNG
Bảng 3.1: Giao tiếp giữa mạch chuyển đổi LCD sang I2C với MCU .......................... 28
Bảng 4.1: Bố trí cảm biến và các thiết bị.............................................................................. 38
Bảng 4.2: Các chân vi điều khiển sử dụng ........................................................................... 40
Bảng 5.1: Các topic phải tạo ...................................................................................................... 56
DANH MỤC TỪ VIẾT TẮT
MQTT: Message Queuing Telemetry Transport

MCU: Micro-controller Unit

AI: Artificial Intelligence

NTP: Network Time Protocol


TÓM TẮT LUẬN VĂN

Luận văn được trình bày thành 6 chương với những nội dung cơ bản sau:
Chương 1. Giới thiệu đề tài: Ở chương này, em trình bày lý do chọn đề tài, mục
tiêu, đối tượng phạm vi nghiên cứu cũng như ý nghĩa của đề tài.
Chương 2. Tổng quan: Đề cập đến khái niệm nhà thông minh, những thành
phần cơ bản nhất của một hệ thống nhà thông minh. Ngoài ra còn trình bày tình hình
phát triển của lĩnh vực nhà thông minh trong và ngoài nước. Cuối cùng dựa trên
những kiến thức đó phân tích, lựa chọn phương pháp thực hiện đề tài.
Chương 3. Tìm hiểu phần cứng và phần mềm: Ở chương này trình bày phần
cứng, phần mềm, và những kiến thức liên quan. Cụ thể phần cứng gồm: kit
STM32F407 Discovery, ESP8266 NodeMCU, các loại cảm biến: nhiệt độ, mưa, ánh
sáng,…Phần mềm gồm: Arduino IDE, Keil uVision 5, STM32CubeMX. Một số kiến
thức liên quan như giao thức MQTT, NTP server.
Chương 4. Thiết kế, thi công bộ điều khiển và mô hình ngôi nhà: Trình bày
trình tự thiết kế và thi công phần cứng.
Chương 5. Giải thuật điều khiển: Trong chương này trình bày những thuật toán
điều khiển gồm: thuật toán điều khiển đóng mở cửa dùng thẻ RFID, thuật toán điều
khiển theo kịch bản, thuật toán điều khiển và giám sát từ xa,…
Chương 6: Kết quả, hạn chế và hướng phát triển của đề tài: Kết quả đạt được
của đề tài, những hạn chế và hướng phát triển của hệ thống trong tương lai.

1
MỞ ĐẦU
Nếu như trước đây, nhà thông minh chỉ toàn nằm trong trí tưởng tượng cũng
như trên phim ảnh mà thôi, thì hiện nay nhà thông minh đã rất phát triển và trở nên
phổ biến. Ở nước ta, thuật ngữ này đã không còn quá xa lạ với người dân. Hàng loạt
các công ty nghiên cứu, cung cấp giải pháp nhà thông minh ra đời, nhiều căn hộ cao
cấp được lắp đặt và sử dụng công nghệ này. Tuy nhiên để sở hữu một căn nhà với
những chức năng hiện đại như điều khiển chiếu sáng, điều khiển rèm cửa, hệ thống
an ninh báo trộm, báo cháy... hay gần đây là công nghệ trợ lý ảo thì người dùng phải
bỏ ra một số tiền không hề nhỏ, mà không phải ai cũng đủ khả năng chi trả. Với mục
đích vận dụng những kiến thức đã được học để tạo ra bộ thiết bị điều khiển cho chính
ngôi nhà của mình với những tính năng cơ bản, giá phải chăng, em đã chọn đề tài “Hệ
thống điều khiển nhà thông minh”. Đề tài tập trung xây dựng bộ điều khiển on/off
các thiết bị trong nhà, hoạt động theo các kịch bản, đọc và hiển thị cảm biến, chống
trộm, điều khiển giám sát ngôi nhà từ xa thông qua mạng Internet.

2
Chương 1. GIỚI THIỆU ĐỀ TÀI

1.1. Lý do chọn đề tài luận văn:

Em chọn “Hệ thống điều khiển nhà thông minh” làm đề tài luận văn tốt nghiệp vì
những lý do sau đây:

 Thứ nhất, nhà thông minh đang là xu hướng phổ biến trên thế giới khi hỗ trợ
tiết kiệm thời gian và công sức nhờ áp dụng công nghệ hiện đại. Tại Việt
Nam, công nghệ này cũng ngày càng được lòng người dùng và trở thành lựa
chọn ưu tiên.
 Thứ hai, em có thể áp dụng được nhiều kiến thức đã được học vào đề tài như
kiến thức lập trình vi điều khiển, kiến thức về các cảm biến nhiệt độ, độ ẩm,
ánh sáng,.. hoặc kiến thức về giao tiếp giữa 2 vi điều khiển,…Đây cũng là cơ
hội để em tìm hiểu thêm kiến thức mới, rèn luyện tính tự chủ và tinh thần
trách nhiệm trong công việc.
 Thứ ba, dưới sự phổ biến của công nghệ nhà thông minh hiện nay, thì nhu cầu
tìm hiểu và phát triển càng trở nên cấp thiết.
 Cuối cùng, với mục đích tạo ra được một bộ điều khiển với những tính năng
cơ bản, áp dụng được cho chính ngôi nhà của mình đã tạo thêm động lực thúc
đẩy cho em thực hiện đề tài này.
1.2. Mục tiêu của đề tài:

Hiểu rõ đặc điểm, tính năng và cấu trúc của ngôi nhà thông minh. Nắm vững
những tính năng của hệ thống chiếu sáng, hệ thống báo cháy, báo trộm... trong nhà
thông minh.

Thiết kế và gia công bộ điều khiển ngôi nhà với những tính năng cơ bản sau:

 Có khả năng bật, tắt các thiết bị trong nhà bằng tay hoặc tự động theo các
kịch bản.
 Đọc và xử lý tín hiệu từ các cảm biến.
 Đóng mở cửa bán tự động sử dụng thẻ RFID.
 Báo trộm, rò khí gas.
 Cập nhật thời gian thực, hẹn giờ báo thức.
 Có thể điều khiển, giám sát từ xa bằng điện thoại kết nối mạng Internet.

Xây dựng mô hình ngôi nhà để có thể vận hành thử nghiệm bộ điều khiển trên.

3
1.3. Đối tượng và phạm vi nghiên cứu:

Phạm vi của nhà thông minh rất rộng, từ cơ sở hạ tầng cho đến các chức năng,
chế độ hoạt động.

Trong luân văn tập trung nghiên cứu thiết kế hệ thống bật tắt các thiết bị trong
nhà theo kịch bản, báo trộm, báo rò khí gas, hẹn giờ báo thức. Điều khiển, giám sát
từ xa thông qua Internet.

1.4. Ý nghĩa của đề tài:

Là tài liệu hữu ích cho những ai mới bắt đầu tìm hiểu về hệ thống nhà thông
minh. Đặc biệt là tài liệu tham khảo cho những ai muốn tự thiết kế, chế tạo một bộ
điều khiển ngôi nhà với những tính năng cơ bản.

4
Chương 2. TỔNG QUAN

2.1. Nhà thông minh là gì?

Nhà thông minh hay hệ thống nhà thông minh là một ngôi nhà/căn hộ được trang
bị các hệ thống tự động thông minh cùng với cách bố trí hợp lý, các hệ thống này có
khả năng tự điều phối các hoạt động trong ngôi nhà theo thói quen sinh hoạt và nhu
cầu cá nhân của gia chủ. Chúng ta cũng có thể hiểu ngôi nhà thông minh là một hệ
thống chỉnh thể mà trong đó, tất cả các thiết bị điện tử gia dụng đều được liên kết với
thiết bị điều khiển trung tâm và có thế phối hợp với nhau để cùng thực hiện một chức
năng. Các thiết bị này có thể tự đưa ra cách xử lý tình huống được lập trình trước,
hoặc là được điều khiển và giám sát từ xa nhằm mục đích làm cho cuộc sống ngày
càng tiện nghi, an toàn và góp phần sử dụng hợp lý các nguồn tài nguyên.

Một trong những ví dụ cơ bản nhất của nhà thông minh là một hệ thống
kiểm soát mức độ chiếu sáng của hệ thống đèn giúp tiết kiệm điện và phù hợp với
khung cảnh, chẳng hạn như cài đặt đèn ánh sáng nhẹ cho các bữa tiệc tối. Hệ thống
cũng có thể điều chỉnh rèm cửa theo yêu cầu, kiểm soát nhiệt độ, hệ thống camera
giám sát, hệ thống khóa cửa tự động, hệ thống phòng ngừa trộm.
Nhà thông minh ngoài ra còn có một số ứng dụng sáng tạo hơn, gồm hệ
thống điều khiển giải trí tại gia – loa công suất khác nhau, hệ thống điện thoại, liên
lạc nội bộ, hệ thống tưới nước...

Các chức năng này có thể được thực hiện nhờ các thiết bị trong nhà được kết
nối với nhau để hệ thống máy tính trung tâm có thể theo dõi các trạng thái và ra các
quyết định điều khiển phù hợp.

Nhà thông minh đã được hình dung trong các tác phẩm khoa học viễn tưởng
từ nhiều năm nhưng nó chỉ trở thành hiện thực kể từ thế kỷ 20 sau sự phát triển rộng
rãi của điện và những tiến bộ nhanh chóng của công nghệ thông tin. Công nghệ nhà
thông minh là hiện thực và nó ngày càng trở nên tinh vi. Các tín hiệu được mã hóa
được gửi đi qua hệ thống dây dẫn, mạng không dây đến các bộ chuyển mạch, ổ điện
được lập trình sẵn để vận hành các đồ gia dụng và thiết bị điện tử ở trong ngôi nhà.

5
Sự tự động hóa của ngôi nhà đặc biệt có ích cho người lớn tuổi và người tàn tật, những
người muốn sống tự lập.

Việc lắp đặt các sản phẩm thông minh đem lại cho ngôi nhà và chủ nhân của nó
rất nhiều lợi ích – tương tự như những lợi ích mà công nghệ và máy tính cá
nhân đã đem lại cho chúng ta nhiều năm qua - bao gồm: sự tiện nghi, tiết kiệm thời
gian, tiền bạc và năng lượng.

2.2. Các thành phần cơ bản trong nhà thông minh:

2.2.1. Hệ thống quản lý chiếu sáng:

Các thiết bị chiếu sáng như bóng đèn sợi đốt, đèn neon, đèn ngủ, trang
trí…được sử dụng rất nhiều. Vì vậy nếu phối hợp chiếu sáng không hợp lý sẽ dẫn
tới bị “ô nhiễm” ánh sáng. Ngoài ra, việc chiếu sáng như vậy còn gây lãng phí điện,
giảm tuổi thọ thiết bị. Bên cạnh đó số lượng đèn dùng để chiếu sáng là khá lớn, gia
chủ sẽ gặp những bất tiện nhỏ trong việc bật tắt, điều chỉnh độ sáng cho phù hợp.

Hệ thống chiếu sáng sẽ được tích hợp chung với các hệ thống khác hoặc sẽ
được tách riêng ra để điều khiển độc lập. Các giải pháp đều nhằm tối ưu hóa hệ
thống và giúp gia chủ điều khiển dễ dàng hơn. Các giải pháp kết hợp sẽ được tính
đến để tự động hóa tới mức tối đa.

2.2.2. Hệ thống kiểm soát ra vào:

Khi gia chủ đi vắng, việc kiểm soát các hệ thống vào ra trong ngôi nhà là rất
quan trọng, giúp đề phòng trộm v.v… Ngôi nhà thông minh cung cấp hệ thống
kiểm soát vào ra cho phép chủ nhà quản lý và cấp quyền “đăng nhập” cho các thành
viên trong gia đình và người thân.

Hệ thống cửa ra vào sẽ được lắp đặt các khóa vân tay hoặc thẻ từ… nhằm nhận
dạng người trong nhà hoặc khách để cấp quyền “đăng nhập”. Ngoài ra, còn có thể
dùng hệ thống nhận diện khuôn mặt hay giọng nói.

Mỗi khi có sự kiện mới, hệ thống kiểm soát ra vào này cũng sẽ kích hoạt các
hệ thống khác để lưu giữ các thay đổi do người dùng tạo ra.

6
2.2.3. Hệ thống quan sát, thông tin liên lạc:

Một ngôi nhà bình thường sẽ có từ 4 đến 5 phòng kín, và do vậy sẽ có một vài
vấn đề khó khăn khi giao tiếp từ phòng này sang phòng khác. Một hệ thống thông
tin liên lạc nội bộ có thể giúp giải quyết vấn đề này.

Hệ thống liên lạc nội bộ đơn giản có thể là các điện thoại cố định. Ngoài chức
năng liên lạc trong nhà, hệ thống này cần được kết nối với mạng điện thoại để tiện
cho việc giao tiếp và công việc hơn, để làm việc này cần đến một bộ chuyển kênh.

Hệ thống quan sát sẽ giúp việc kiểm soát an ninh, người vào/ra ngôi nhà…giúp
cho gia chủ nhận diện khách nhanh chóng thông qua camera.

2.2.4. Hệ thống giải trí đa phương tiện:

Ngôi nhà là nơi sinh hoạt của một gia đình có thể gồm nhiều thế hệ và mỗi thế
hệ lại có nhu cầu giải trí khác nhau. Do đó, một hệ thống giải trí đa phương tiện sẽ
cung cấp cho các thành viên những hoạt động giải trí phù hợp…

2.2.5. Hệ thống quản lý tiêu thụ năng lượng:

Đối với một ngôi nhà bình thường thì việc cung cấp và đo lường các chỉ số
điện nước đều phải thông qua các cơ quan nhà nước.

Ngôi nhà thông minh cung cấp giải pháp nhằm đo lường và báo lại các thông
số điện, nước thường xuyên, kết hợp với bộ xử lý trung tâm và các hệ thống khác
để tiết kiệm năng lượng.

2.2.6. Hệ thống cảm biến và báo động:

Hệ thống các cảm biến là thành phần quan trọng trong bất kì hệ thống nào của
ngôi nhà, các cảm biến có nhiệm vụ gửi các thông số đo được về cho bộ xử lý trung
tâm để có giải pháp phù hợp với từng gói dữ liệu và xử lý từng tình huống tương
ứng.

Các cảm biến cơ bản như cảm biến nhiệt độ, độ ẩm, cảm biến gas, cảm biến
áp suất, cảm biến hồng ngoại…

7
2.2.7. Hệ thống kiểm soát môi trường:

Môi trường sống là nhân tố rất quan trong trong cuộc sống. Nó ảnh hưởng trực
tiếp đến sức khỏe của mỗi thành viên trong gia đình. Trong thời đại công nghiệp
hóa thì độ ô nhiễm môi trường ngày càng cao. Vì vậy việc bảo vệ môi trường sống
được các nhà khoa học rất chú trọng.

Hệ thống kiểm soát môi trường sẽ đảm bảo môi trường trong nhà luôn ở tình
trạng tốt nhất cho con người. Hệ thống kiểm soát môi trường có thể gồm các thiết
bị như: máy điều hòa, hệ thống quạt thông gió...

2.2.8. Hệ thống các công tắc điều khiển trạng thái:

Hệ thống các công tắc và bảng hiển thị sẽ cung cấp thông tin cũng như nhận
lệnh điều khiển từ gia chủ. Đảm bảo sự tương tác hai chiều giữa các thành viên và
hệ thống tự động. Hệ thống bao gồm: các điều khiển từ xa, các công tắc gắn tường,
các bảng điều khiển tương tác HMI, điện thoại thông minh…

2.2.9. Hệ thống xử lý trung tâm, điều khiển, giám sát từ xa:

Ngôi nhà thông minh được đánh giá cao và khác hẳn những ngôi nhà bình
thường là do nó được trang bị một hệ thống điều khiển và toàn bộ các thay đổi và
điều khiển tự động trong ngôi nhà được xử lý đồng nhất thông qua hệ thống xử lý
trung tâm. Nó có vai trò quan trọng, làm nhiệm vụ liên kết các hệ thống khác trong
ngôi nhà lại với nhau, điều phối của hệ thống chấp hành một cách nhịp nhàng theo
các điều kiện tác động được lập trình từ trước. Chúng ta gọi đó là các kịch bản –
hay là các điều kiện môi trường trong ngôi nhà. Gần đây với sự phát triển của trí
tuệ nhân tạo (AI) thì quá trình điều khiển ngôi nhà càng trở nên tinh vi hơn. Một
vài sự kết hợp tiêu biểu:

 Hệ thống chiếu sáng với Hệ thống xử lý trung tâm có thể học và thực hiện
theo thói quen của người sử dụng. Hay các thiết bị chiếu sáng sẽ hoạt động
theo chu trình thời gian đặt trước.
 Hệ thống chiếu sáng kết hợp với Hệ thống cảm biến cung cấp khả năng tự
động điều khiển ánh sáng như: đèn tự động tắt khi không có người trong
phòng...

8
 Hệ thống cảnh báo kết hợp với hệ thống chiếu sáng: khi có vấn đề xảy ra
như cháy nổ, phát hiện ăn trộm…các bóng đèn sẽ chớp sáng liên tục, đồng
thời sẽ có tiếng còi báo hiệu.
 Hệ thống cảm biến kết hợp với hệ thống xử lý trung tâm báo cáo tình trạng
lưu trữ điện trong các UPS, báo cáo mực nước trong bồn chứa…nhằm đảm
bảo nguồn cung cho nhu cầu sinh hoạt hằng ngày.
 Hệ thống giải trí đa phương tiện kết hợp với hệ thống chiếu sáng nhằm đem
lại những giây phút thư giãn cho thành viên trong gia đình.
2.3. Tình hình phát triển trong và ngoài nước:

2.3.1. Đối với tình hình ngoài nước:

Trên phạm vi toàn cầu, nhà thông minh được xem là một lĩnh vực có dư địa
phát triển rất lớn. Các đại gia công nghệ như Microsoft, Apple, Google,
Samsung...tỏ ra sốt sắng với xu hướng này thông qua hàng loạt những dự án liên
quan. Google mua lại Nest (hãng sản xuất bộ điều khiển nhiệt độ thông minh và
thiết bị báo khói), Samsung ra mắt hệ thống nhà thông minh khép kín trong các
thiết bị của hãng, Apple giới thiệu nền tảng phát triển ứng dụng nhà thông minh
HomeKit [1].

Ngoài ra, nhắc đến những thương hiệu nhà thông minh đến từ nước ngoài,
không thể không kể đến: hãng Schneider của Pháp, Smartg4 của Mỹ, Gamma của
Đức,... Các sản phẩm thiết bị nhà thông minh đến từ nước ngoài đều mang trong
mình những ưu điểm vượt trội về thiết kế, tính năng với những giải pháp tiên tiến
và hiện đại.

2.3.2. Đối với tình hình trong nước:

Các doanh nghiệp Việt Nam vẫn không ngừng bám đuổi công nghệ trên thế
giới, không ngừng nghiên cứu về nhà thông minh. Thực tế, đã có nhiều doanh
nghiệp của chúng ta cho ra mắt sản phẩm nhà thông minh “Made in Vietnam”.

Ta có thể kể tới:

 Nhà thông minh BKAV:


- BKAV hiện đang cung cấp 2 sản phẩm Nhà thông minh là BKAV
SmartHome thế hệ 2 và BKAV Smarthome Luxury.

9
- BKAV SmartHome kết nối tất cả các thiết bị điện trong ngôi nhà thành một
hệ thống mạng, để có thể điều khiển chúng theo các kịch bản thông minh,
bao gồm: hệ thống đèn chiếu sáng, rèm cửa, điều hoà nhiệt độ, tivi, âm
thanh, khoá cửa, bình nóng lạnh, quạt thông gió, camera an ninh, chuông
cửa có hình, hệ thống bơm tưới nước tiểu cảnh, bể cá.
- Các thiết bị thông minh của BKAV SmartHome được đầu tư và chăm chút
khá tỉ mỉ về vật liệu, thiết kế với mức giá tương đương với các nhà cung
cấp nước ngoài như Seimens và Schneider. Chi phí cho hệ thống nhà thông
minh của BKAV được coi là khá đắt so với mặt bằng chung do hướng tới
thị trường cao cấp. Cụ thể BKAV SmartHome thế hệ 2 được chào bán với
mức giá từ 30 – 50 triệu đồng, BKAV Smarthome Luxury khoảng từ 200
- 300 triệu đồng.
- Về tính năng, nhà thông minh của BKAV có thể điều khiển trực tiếp thông
qua thiết bị gắn trên tường hoặc dùng smartphone, máy tính bảng, có chức
năng điều khiển bằng giọng nói, tích hợp các kịch bản ngữ cảnh thông minh
và sử dụng hệ điều hành SmartHome OS do BKAV phát triển.
- Ngoài ra mới đây BKAV vừa cho ra mắt bộ thiết bị an ninh cao cấp BKAV
SmartHome Security, bảo vệ ngôi nhà theo nhiều lớp, từ tường rào, sân
vườn, các cửa tới từng khu vực, phòng ốc. Khác với các thiết bị hiện có
trên thị trường, BKAV SmartHome Security tích hợp trí tuệ nhân tạo (công
nghệ AI) giúp phát hiện thông minh, loại bỏ các hiện tượng cảnh báo sai,
nhầm các xâm nhập ngoài mong muốn đối với ngôi nhà.
 Nhà thông minh Lumi:
- Lumi tập trung vào cung cấp các giải pháp chiếu sang thông minh, điều
hòa, rèm cửa, bình nóng lạnh điều khiển tự động, âm thanh đa vùng, hệ
thống an ninh, kiểm soát môi trường cho nhà ở…
- Lumi SmartHome được hết nối và điều khiển qua các thiết bị điện thông
minh như công tắc cảm ứng, chiết áp cảm ứng, cảm biến, bộ điều khiển
hồng ngoại... Người sử dụng có thể điều khiển giám sát bằng smartphone/
máy tính bảng, điều khiển bằng giọng nói.

Nhìn chung, các hệ thống này đã đáp ứng được phần lớn nhu cầu của người
sử dụng. Tuy nhiên giá thành của chúng còn khá cao, những người có thu nhập vừa
và thấp thì khó có khả năng sở hữu được một hệ thống như vậy. Vì vậy, yêu cầu
đặt ra là phải giảm được giá thành sản phẩm để nhà thông minh ngày càng được
phổ biến hơn.
2.4. Phân tích, lựa chọn phương án thực hiện đề tài:

2.4.1. Phương án thực hiện:

Căn cứ vào những hiểu biết về hệ thống nhà thông minh đã tìm hiểu và trình
bày ở trên, luận văn sẽ xây dựng nhà thông minh gồm các thành phần sau đây:

10
 Khối chiếu sáng: gồm các đèn led, và hệ thống cửa sổ có thể đóng mở nhờ
động cơ.
 Khối kiểm soát vào ra, báo động: Sử dụng thẻ từ RFID để kiểm soát người
ra vào, kết hợp với hệ thống cửa bán tự động. Báo động bằng còi điện.
 Khối cảm biến: Sử dụng các cảm biến nhiệt độ, độ ẩm, mưa, ánh sáng, thân
nhiệt chuyển động, gas để cung cấp thông tin cho bộ điều khiển.
 Khối điều hòa không khí: gồm quạt thông gió, cửa sổ.
 Khối xử lý trung tâm: Sử dụng kit STM32F407 Discovery làm bộ xử lý
trung tâm, bên cạnh đó còn sử dụng thêm module Wifi ESP8266 NodeMCU
để kết nối mạng Internet đưa dữ liệu lên CloudMQTT và cập nhật thời gian
thực. Ngoài ra để điều khiển được các thiết bị điện gia dụng thì cần tích hợp
thêm hệ thống relay, phím bấm và LCD cũng được trang bị để dễ dàng điều
khiển trực tiếp.

Khối điều
Khối kiểm soát ra
hòa không
vào
khí

Relay
Khối xử lý trung tâm

Khối cảm Khối chiếu


biến sáng

Hình 2.1: Sơ đồ khối tổng quan hệ thống

Với giới hạn đề tài là xây dựng mô hình nhà thông minh, nên các thiết bị quạt,
đèn thực tế sẽ được thay thế bằng đèn led và quạt tản nhiệt 12V. Tuy nhiên các
thiết bị vẫn sẽ được điều khiển thông qua relay để đảm bảo tính ứng dụng thực tế
của đề tài.

11
2.4.2. Phân tích phương án đã chọn:

Để đảm bảo cho nhu cầu sử dụng của người dùng và hệ thống hoạt động tốt,
ổn định thì việc lựa chọn vi điều khiển thích hợp cho bộ điều khiển trung tâm đóng
vai trò rất quan trọng. Vi điều khiển được dùng trong đề tài phải có những yêu cầu
bắt buộc sau:

 Hỗ trợ số lượng IO lớn.


 Có hỗ trợ các giao tiếp UART, I2C, SPI.
 Có bộ chuyển đổi ADC.
 Tốc độ xử lý cao, ổn định.
 Giá thành hợp lí.

Căn cứ vào những yêu cầu trên em quyết định chọn kit STM32F407 Discovery
làm bộ xử lý trung tâm.

Bên cạnh việc sử dụng kit STM32F407 Discovery cho đề tài , em còn sử dung
ESP8266 NodeMCU để truyền nhận dữ liệu giữa hệ thống và Cloud. Một vài ưu
điểm của nó như trang bị chip nạp và giao tiếp UART mới và ổn định là CP2102,
nhờ vậy mà có thể lập trình và nạp chương trình trực tiếp từ IDE của Arduino, điều
này khiến việc lập trình ứng dụng trở nên đơn giản hơn. Ngoài ra giá thành của nó
không quá cao.

Để giao tiếp giửa kit STM32F407 Discovery và ESP8266 NodeMCU thì có


thể sử dụng các giao thức như UART, SPI hay I2C. Do khi thực hiện khoảng cách
giữa 2 hai vi điều khiển không xa, không yêu cầu tốc độ quá cao nên để đơn giản
em quyết định chọn giao thức UART.

Hiện nay có nhiều giao thức giúp điều khiển thiết bị qua Internet mỗi giao thức
có ưu nhược điểm riêng. Trong luận văn em đã sử dụng giao thức MQTT, một số
ưu điểm nổi bật của nó như: băng thông thấp, độ tin cậy cao và có thể sử dụng ngay
cả khi hệ thống mạng không ổn định, tốn rất ít byte cho việc kết nối với server và
connection có thể giữ trạng thái open xuyên suốt, có thể kết nối nhiều thiết bị
(MQTT client) thông qua một MQTT server (broker). Bởi vì giao thức này sử dụng

12
băng thông thấp trong môi trường có độ trễ cao nên nó là một giao thức lý tưởng
cho các ứng dụng IoT.

Để thực hiện giao thức MQTT ta cần có một MQTT server (hay broker), có 2
cách để có được một broker MQTT đó là:

 Tự tạo broker MQTT trên máy tính, raspberry, ...cách này tốn kém thêm
chi phí, phức tạp.
 Sử dụng các dịch vụ MQTT broker có sẵn.

Do khả năng còn hạn chế nên em quyết định chọn cách thứ hai là sử dụng
MQTT broker có sẵn. Ở đây em dùng broker được cung cấp bởi CloudMQTT
(https://www.cloudmqtt.com/).

Ngoài ra, để cập nhật thời gian thực cho hệ thống em sử dụng ESP8266
NodeMCU kết nối Internet để đồng bộ thời gian từ server NTP ( Network Time
Protocol). Phương pháp này có thể giúp tiết kiệm phần cứng khi không cần phải
dùng những module thời gian thực như thông thường.

13
Chương 3. TÌM HIỂU VỀ PHẦN CỨNG VÀ PHẦN MỀM

3.1. Kit STM32F407 Discovery:

STM32F407VG là chip của STMicroelectronics, là dòng vi điều khiển 32- bit


dựa trên nền lõi ARM Cortex-M. Dòng ARM Cortex™-M là thế hệ mới, thiết lập các
tiêu chuẩn mới về hiệu suất, chi phí, ứng dụng cho các thiết bị cần tiêu thụ năng lượng
thấp, và đáp ứng yêu cầu thời gian thực khắc khe.

Bộ kit STM32F4 Discovery cho phép người dùng dễ dàng phát triển các ứng
dụng với vi điều khiển có hiệu suất cao STM32F407VG. Kit được tích hợp sẵn công
cụ ST-LINK giúp nạp chương trình, kiểm tra lỗi nhanh chóng.

Hình 3.1: Kit STM32F407 Discovery [2]

3.1.1. Các tính năng nổi bật:

Một số tính năng của kit [2]:

 Bộ vi điều khiển STM32F407VGT6 có lõi ARM Cortex® 32-bit với lõi


FPU, bộ nhớ Flash 1-Mbyte, RAM 192Kbyte trong gói LQFP100, tần số
hoạt động 168MHz.
 Cổng USB 2.0 tốc độ cao.
 Ethernet LAN 10/100Mb.

14
 3 kênh 12-bit ADC.
 2 kênh 12-bit DAC.
 2 kênh mạng chuẩn CAN.
 4 UART, 3SPI, 3 I2C.
 Camera 8-14 bits giao diện lên đến 54Mbytes/s.
 16 kênh DMA.
 Board có ST-LINK/V2 trên STM32F4-DISCOVERY giúp nạp chương
trình, gỡ lỗi.
 Board cấp nguồn: thông qua cổng USB hoặc nguồn 5V bên ngoài.
 Cảm biến chuyển động LIS302DL, ST MEMS 3 trục gia tốc.
 Cảm biến âm thanh MP45DT02 ST-MEMS, mic cảm biến âm thanh vô
hướng kỹ thuật số.
 Bộ chuyển đổi DAC âm thanh CS43L22.
 8 đèn led:
- LD1: led báo cho giao tiếp USB.
- LD2: led nguồn 3.3V.
- 4 LED màu: LD3 (màu cam), LD4 (màu xanh lá), LD5 (màu đỏ),
LD6 (màu xanh dương).
- 2 USB OTG LEDs LD7 (green) VBUS and LD8 (red) báo quá
dòng.
 2 nút nhấn (reset và user)
 USB OTG FS với cổng kết nối micro-AB.
 Header mở rộng cho tất cả các I/O LQFP100 để kết nối với board.
 Phần mềm miễn phí toàn diện bao gồm nhiều ví dụ, một phần của STM32
CubeF4 gói hoặc STSW-STM32068 cho việc sử dụng thư viện chuẩn.

3.1.2. Các khối chức năng chính được sử dụng trong luận văn:

 Khối ngõ vào ra đa chức năng (GPIO):


 Đối với vi điề u khiể n STM32F407 loại 100 chân có 5 Port mỗi Port có 16
chân I/O đó là Port A, B, C, D và Port E ngoài ra còn có Port H có 2 chân
I/O.
 Mỗi chân GPIO có thể được cấu hình bằng phần mềm như đầu ra (push-
pull, hoặc open-drain và pull-up, pull-dow) hay đầu ra (pull-up, pull-dow).
 Dữ liê ̣u đươ ̣c xuấ t ra từ thanh ghi dữ liê ̣u hoă ̣c ngoa ̣i vi.
 Có thể cho ̣n tốc đô ̣ xử lý cho các chân I/O.
 Mỗi chân I/O lên đế n 16 chức năng khác nhau.
 Có khả năng đổ i tra ̣ng thái nhanh chỉ trong 2 chu kì xung clock.

15
Hinh 3.2: Cấu trúc cơ bản của một chân I/O đa chức năng [3]

 Khối giao tiếp USART:

STM32F407VG hỗ trợ bốn bộ phát nhận đồng bộ/không đồng bộ (USART1,


USART2, USART3, USART6) và hai bộ phát nhận không đồng bộ (USART4,
USART5). Các giao diện USRT1 và USART6 có thể truyền thông với tốc độ lên
đến 10,5Mbit/s. Các giao diện sẵn có khác có thể truyền thông với tốc độ
5,25Mbit/s.

Mô ̣t số đặc điểm chính của khố i giao tiế p USART:

 Giao tiế p bất đồ ng bộ song công.


 Đinḥ dạng tiêu chuẩ n NRZ.
 Chiề u dài kí tự dữ liê ̣u có thể lâ ̣p trình đươ ̣c (8 bit hoă ̣c 9 bit).
 Có các bit cho phép tách biê ̣t đố i với quá trình truyề n và nhâ ̣n dữ liê ̣u.
 Có các cờ phát hiê ̣n chuyể n đổ i.
 4 cờ phát hiê ̣n lỗi.
 10 nguồ n ngắ t được phát hiện với cờ.

16
Hình 3.3: Sơ đồ cấu trúc khối giao tiếp USART [3]

 Khối giao tiếp I2C:

I2C (inter-integrated circuit) là chuẩn truyền thông nối tiếp 2 dây gồm 1 dây
xung clock(SCL) và 1 dây dữ liệu (SDA). Các chip chủ - tớ được nối chung với
nhau trên hai đường dây này và được nối với điện trở treo.

Kit hỗ trợ tối đa 3 đường I2C có thể hoạt động ở chế độ multimater và slave.
Ở chế độ chuẩn hỗ trợ lên tới 100KHz và chế độ nhanh lên đến 400KHz. Chúng hỗ
trợ chế độ địa chỉ 7/10 bit và chế độ địa chỉ kép 7 bit.

Có thể hoạt động như một Master hoặc Slave.

17
Hình sau thể hiện cấu trúc của 1 chân I2C:

Hình 3.4: Cấu trúc của một chân I2C [3]

3.2. Module thu phát Wifi ESP8266 NodeMCU:

Hình 3.5: Module thu phát Wifi 8266 NodeMCU [4]

Kit RF thu phát Wifi ESP8266 NodeMCU Lua là kit phát triển dựa trên nền chip
Wifi SoC ESP8266 với thiết kế dễ sử dụng và đặc biệt là có thể sử dụng trực tiếp
trình biên dịch của Arduino để lập trình và nạp code, điều này khiến việc sử dụng và
lập trình các ứng dụng trên ESP8266 trở nên rất đơn giản.

18
Được dùng cho các ứng dụng cần kết nối, thu thập dữ liệu và điều khiển
qua sóng Wifi, đặc biệt là các ứng dụng liên quan đến IoT.

Thông số kỹ thuật: [4]

 IC chính: ESP8266 Wifi SoC.


 Phiên bản firmware: NodeMCU Lua.
 Chip nạp và giao tiếp UART: CP2102.
 GPIO tương thích hoàn toàn với firmware Node MCU.
 Cấp nguồn: 5VDC MicroUSB hoặc Vin.
 GIPO giao tiếp mức 3.3VDC.
 Tích hợp Led báo trạng thái, nút Reset, Flash.
 Tương thích hoàn toàn với trình biên dịch Arduino.
 Kích thước: 25 x 50 mm.

Hình 3.6: Các chân của Module Wifi 8266 NodeMCU [4]

19
3.3. Các cảm biến được sử dụng:

3.3.1. Cảm biến nhiệt độ, độ ẩm DHT11:

Hình 3.7: Cảm biến nhiệt độ, độ ẩm DHT11

Cảm biến độ ẩm và nhiệt độ DHT11 là cảm biến rất thông dụng hiện nay vì
chi phí rẻ và rất dễ lấy dữ liệu thông qua giao tiếp 1 wire (giao tiếp digital 1 dây
truyền dữ liệu duy nhất). Bộ tiền xử lý tín hiệu tích hợp trong cảm biến giúp bạn
có được dữ liệu chính xác mà không phải qua bất kỳ tính toán nào.

Thông số kỹ thuật: [5]

 Điện áp hoạt động: 3 đến 5 VDC.


 Dòng sử dụng lớn nhất: 2.5mA.
 Đo tốt ở độ ẩm 20% - 80%RH với sai số ±5%.
 Đo tốt ở nhiệt độ 0 to 50°C sai số ±2°C.
 Tần số lấy mẫu tối đa 1Hz.

Nguyên lý hoạt động: [5]

 MCU gửi tín hiệu muốn đo (Start) tới DHT11, sau đó DHT11 xác nhận lại.

20
Hình 3.8: Tín hiệu start từ MCU và phản hồi của DHT11 [5]

 Sau khi giao tiếp được DHT11 sẽ trả về giá trị nhiệt độ, độ ẩm dưới dạng 5
byte:

- Byte 1: Giá trị phần nguyên của độ ẩm.


- Byte 2: Giá trị phần thập phân của độ ẩm.
- Byte 3: Giá trị phần nguyên của nhiệt độ.
- Byte 4: Giá trị phần thập phân của nhiệt độ.
- Byte 5: Kiểm tra tổng.

Hình 3.9: Bit 0 [5]

21
Hình 3.10: Bit 1 [5]

3.3.2. Cảm biến sáng quang trở CDS:

Hình 3.11: Cảm biến quang trở CDS

Cảm biến ánh sáng quang trở có tích hợp sẵn opamp và biến trở so sánh mức
tín hiệu giúp cho việc nhận biết tín hiệu trở nên dễ dàng, sử dụng để nhận biết hay
bật tắt thiết bị theo cường độ ánh sáng môi trường.

Thông số kỹ thuật:

 Nguồn 3.3 – 5VDC


 Sử dụng quang trở CDS
 Kích thước: 36mm x 16mm
 Xuất tín hiệu Digial

22
3.3.3. Cảm biến mưa:

Hình 3.12: Cảm biến mưa

Thông số kỹ thuật:

 Điện áp hoạt động 5V.


 1 đầu ra Digital và 1 đầu ra Analog.
 Độ nhạy có thể điều chỉnh thông qua chiết áp.
 Khi không có mưa đầu ra ở mức cao, có mưa đầu ra ở mức thấp.
 Kích thước tấm cảm biến mưa: 54mm x 40mm.
 Có lỗ cố định bu lông để gắn cảm biến.

3.3.4. Cảm biến thân nhiệt chuyển động PIR HC – SR501:

Hình 3.13: Cảm biến thân nhiệt chuyển động PIR HC – SR501

23
Cảm biến thân nhiệt chuyển động PIR (Passive infrared sensor) HC-SR501
được sử dụng để phát hiện chuyển động của các vật thể phát ra bức xạ hồng
ngoại (con người, con vật, các vật phát nhiệt,...), cảm biến có thể chỉnh được độ
nhạy để giới hạn khoảng cách bắt xa gần cũng như cường độ bức xạ của vật thể
mong muốn, ngoài ra cảm biến còn có thể điều chỉnh thời gian kích trễ (giữ tín
hiệu bao lâu sau khi kích hoạt) qua biến trở tích hợp sẵn.
Thông số kỹ thuật [6]:

 Phạm vi phát hiện : góc 120 độ hình nón, độ xa tối đa 7m.


 Nhiệt độ hoạt động : 15 - 70°C.
 Điện áp hoạt động: 5 - 20VDC.
 Mức tiêu thụ dòng: 65mA.
 Thời gian báo: tối đa 5 phút có thể tùy chỉnh bằng biến trở.
 Độ nhạy có thể điều chỉnh bằng biến trở.
 Kích thước: 32,2 x 24,3 x 25,4 mm.
 Tín hiệu trả về: Digital.

3.3.5. Cảm biến khí gas MQ-2:

Hình 3.14: Cảm biến khí gas

24
MQ-2 sử dụng phần tử SnO2 có độ dẫn điện thấp hơn trong không khí sạch,
khi khí dễ cháy tồn tại, cảm biến có độ dẫn điện cao hơn, nồng độ chất dễ cháy
càng cao thì độ dẫn điện của SnO2 sẽ càng cao và được tương ứng chuyển đổi thành
mức tín hiệu điện. MQ-2 là cảm biến khí có độ nhạy cao với LPG, Propane và
Hydrogen, mê-tan (CH4) và hơi dễ bắt lửa khác, phù hợp cho các ứng dụng khác
nhau.

Thông số kỹ thuật:

 Nguồn sử dụng: 5VDC.


 Cảm biến xuất ra cả hai dạng tín hiệu là Analog và Digital, tín hiệu Digital
có thể điều chỉnh mức báo bằng biến trở.
3.4. Mạch RFID RC522 NFC:

Hình 3.15: Mach RFID RC552 NFC

Module RFID RC522 sử dụng IC MFRC522 của Phillip dùng để đọc và ghi dữ
liệu cho thẻ NFC tần số 13.56mhz, với mức giá rẻ thiết kế nhỏ gọn, module này là sự
lựa chọn hàng đầu cho các ứng dụng về ghi đọc thẻ RFID.

Thông số kỹ thuật: [7]

 Nguồn: 3.3VDC, 13 - 26mA.


 Dòng ở chế độ chờ: 1013mA .
 Dòng ở chế độ nghỉ: < 80uA.

25
 Tần số sóng mang: 13.56MHz.
 Khoảng cách hoạt động: 0 - 60mm (mifare1 card).
 Giao tiếp: SPI.
 Tốc độ truyền dữ liệu: tối đa 10Mbit/s.
 Các loại card RFID hỗ trợ: mifare1 S50, mifare1 S70, mifare UltraLight,
mifare Pro, mifare Desfire.
 Kích thước: 40mm × 60mm.
3.5. Màn hình hiển thị LCD:

3.5.1. LCD text 1604 xanh dương:

Hình 3.16: LCD text 1604 xanh dương

Màn hình text LCD1602 xanh dương sử dụng driver HD44780, có khả năng
hiển thị 2 dòng với mỗi dòng 16 ký tự, màn hình có độ bền cao, rất phổ biến.

Thông số kỹ thuật:

 Điện áp hoạt động là 5 V.


 Kích thước: 80 x 36 x 12.5 mm.
 Chữ trắng, nền xanh dương.
 Có đèn led nền, có thể dùng biến trở hoặc PWM điều chình độ sáng để sử
dụng ít điện năng hơn.
 Có thể được điều khiển với 6 dây tín hiệu.

26
3.5.2. LCD text 2004 xanh dương:

Hình 3.17: LCD text 2004 xanh dương

Màn hình text LCD2004 xanh dương sử dụng driver HD44780, có khả năng
hiển thị 4 dòng với mỗi dòng 20 ký tự, màn hình có độ bền cao, rất phổ biến.

Thông số kỹ thuật:

 Điện áp hoạt động là 5 V.


 Kích thước: 98 x 60 x 13.5 mm.
 Chữ trắng, nền xanh dương.
 Có đèn led nền, có thể dùng biến trở hoặc PWM điều chình độ sáng để
sử dụng ít điện năng hơn.
 Có thể được điều khiển với 6 dây tín hiệu.

3.5.3. Mạch chuyển giao tiếp LCD 1602 và LCD 2004 sang I2C:

Hinh 3.18: Mạch chuyển giao tiếp LCD 1602 và LCD 2004 sang I2C

27
Để sử dụng các loại LCD có driver là HD44780 (LCD 1602, LCD 2004, ...)
cần có ít nhất 6 chân của MCU kết nối với các chân RS, EN, D7, D6, D5 và D4 để
có thể giao tiếp với LCD. Nhưng với module chuyển giao tiếp LCD sang I2C, các
bạn chỉ cần 2 chân (SDA và SCL) của MCU kết nối với 2 chân (SDA và SCL) của
module là đã có thể hiển thị thông tin lên LCD. Ngoài ra có thể điều chỉnh được độ
tương phản bởi biến trở gắn trên module.

Mạch chuyển đổi MCU


VCC 5V
GND GND
SCL SCL
SDA SDA
Bảng 3.1: Giao tiếp giữa mạch chuyển đổi LCD sang I2C với MCU
Ngoài ra mạch còn cho phép thay đổi địa chỉ I2C bằng cách nối các jump để
có thể cùng lúc điều khiển nhiều LCD với chỉ một bộ I2C của MCU.

3.6. Module 8 relay:

Hình 3.19: Module 8 relay

Module 8 relay thích hợp cho các ứng dụng đóng ngắt điện thế cao AC hoặc
DC, các thiết bị tiêu thụ dòng lớn, module thiết kế nhỏ gọn, có opto và transistor cách
ly, kích đóng bằng mức thấp (0V) phù hợp với mọi loại MCU và thiết kế có thể sử
dụng nguồn ngoài giúp cho việc sử dụng trở nên thật linh động và dễ dàng.

28
Thông số kỹ thuật:

 Sử dụng điện áp nuôi 5VDC.


 8 Relay đóng ngắt ở điện thế kích bằng 0V nên có thể sử dụng cho cả tín
hiệu 5V hay 3v3 (cần cấp nguồn ngoài), mỗi Relay tiêu thụ dòng khoảng
80mA.
 Điện thế đóng ngắt tối đa: 250VAC - 10A hoặc 30VDC - 10A.
 Có đèn báo đóng ngắt trên mỗi Relay.

3.7. Các thiết bị khác:

3.7.1. Đèn led, quạt:

Để đảm bảo kích thước cho mô hình ngôi nhà, thay vì sử dụng các thiết bị điện
220VAC em đã sử dụng đèn led và quạt tản nhiệt DC thay thế. Tuy nhiên các thiết
bị này vẫn được điều khiển thông qua relay để đáp ứng tính ứng dụng của đề tài.

Hình 3.20: Đèn hắt sang trắng 3 bóng Hình 3.21: Quạt tản nhiệt 4x4x1cm

Cả hai thiết bị trên đều sử dụng nguồn 12VDC.

3.7.2. Động cơ RC Servo 9G:

Động cơ RC Servo 9G có kích thước nhỏ, là loại được sử dụng nhiều nhất để
làm các mô hình nhỏ hoặc các cơ cấu kéo không cần đến lực nặng. Động cơ RC
Servo 9G có tốc độ phản ứng nhanh, động cơ RC Servo 9G có tích hợp sẵn Driver
điều khiển động cơ bên trong nên có thể dễ dàng điều khiển góc quay bằng phương
pháp điều độ rộng xung PWM.

Trong luận văn động cơ được sử dụng để đóng, mở cửa.

29
Hình 3.22: Động cơ RC Servo 9G

Thông số kỹ thuật [8]:

 Điện áp hoạt động: 4.8-6VDC.


 Tốc độ: 60°/0.12s (4.8VDC).
 Kích thước: 23x12x32mm.
 Trọng lượng: 14.7g.
 Để điều khiển ta cần xuất xung có chu kì 20ms với độ rộng xung từ 1
đến 2ms ứng với vị trí từ -90° đến 90°.

3.7.3. Cảm ứng một chạm điện dung TTP223B:

Hình 3.23: Cảm ứng một chạm điện dung TTP223B

30
Cảm ứng 1 chạm điện dung TTP223B mini có kích thước nhỏ gọn và giá thành
rẻ, thường được sử dụng trong các ứng dụng cảm ứng điện dung: bàn phím, công
tắc cảm ứng,...

Thông số kỹ thuật:

 IC chính: TTP223B.
 Điện áp làm việc: 3 - 5VDC.
 Dòng điện tiêu thụ: 0.025mA.
 Cảm ứng xuyên qua các phi kim như kính, nhựa, acrylic, ...

3.8. Các phần mềm được sử dụng:

3.8.1. Arduino IDE:

Arduino IDE (Integrated Development Invironment) là môi trường lập trình


tích hợp mã nguồn mở hỗ trợ người dùng viết code và tải nó lên board mạch
arduino. Đây là môi trường lập trình đa nền tảng hỗ trợ hầu hết các board Arduino
hiện nay. Một số tính năng chính của phần mềm như viết code và biên dịch cho
Arduino, có nhiều ví dụ mẫu, hỗ trợ nhiều thư viện như SoftwareSerial,
FirebaseArduino, SPI, ESP8266, Servo, UART,… Phiên bản Arduino IDE đầu tiên
là Arduino 1.0 sau đó được phát triển dần lên phiên bản Arduino 1.0.1, 1.0.2,… và
phiên bản mới nhất hiện nay là Arduino 1.8.7.

Trong luận văn Arduino IDE được sử dụng kèm với những thư viện
PubSubClient, NTPClient, ESP8266WiFi,…để lập trình cho module Wifi
ESP8266 NodeMCU.

3.8.2. Keil uVision5 và STM32CubeMX:

Keil uVision5 là một phần mềm hỗ trợ cho người dùng trong việc lập trình
cho vi điều khiển các dòng khác nhau (Atmel, AVR,…). Phần mềm giúp người
soạn thảo và biên dịch chương trình C thành ngôn ngữ máy để nạp vào vi điều
khiển giúp chúng ta tương tác giữa vi điều khiển và người lập trình.

31
STM32CubeMX là công cụ giúp cấu hình ngoại vi, cũng như tạo project dựa
trên các cấu hình đó. Một số ưu điểm khi sử dụng STM32CubeMX như:

 Giúp cấu hình ngoại vi dễ dàng. Chọn các pin trên chip và chọn các tính
năng mong muốn gắn với nó.
 STM32CubeMX tự động download các driver mới nhất của ST dành cho
các dòng chip của mình.
 Tự động tạo project dựa trên cấu hình đã thiết lập.

Trong luận văn đã sử dụng kết hợp hai phần mềm trên để lập trình cho kit
STM32F407 Discovery.

3.9. Giao thức MQTT :

3.9.1. Tìm hiểu giao thức MQTT:

MQTT (Message Queuing Telemetry Transport) là một giao thức gởi dạng
publish/subscribe sử dụng cho các thiết bị Internet of Things với băng thông thấp,
độ tin cậy cao và khả năng được sử dụng trong mạng lưới không ổn định. Bởi vì
giao thức này sử dụng băng thông thấp trong môi trường có độ trễ cao nên nó là
một giao thức lý tưởng cho các ứng dụng M2M (machine to machine) hay IoT.
MQTT cũng là giao thức sử dụng trong Facebook Messager hay Youtube.

HTTP phù hợp cho việc truyền dữ liệu lớn (website chẳng hạn) nhưng nó thì
rõ ràng là không hiệu quả nhất khi muốn gởi một vài byte dữ liệu - dữ liệu cảm
biến. Thêm nữa là nó không nhanh vì vậy MQTT là hợp lý nhất trong trường hợp
này.

MQTT thì nhẹ nhàng hơn và nhanh hơn. Nó mất rất ít byte cho việc kết nối
với server và connection có thể giữ trạng thái open xuyên suốt. Ưu điểm là giao
tiếp sẽ mất ít dữ liệu và thời gian hơn HTTP Protocol. Đó là lý do đề tại chọn giao
thức MQTT thay vì sử dụng những giao thức khác.

Trong một hệ thống sử dụng giao thức MQTT, nhiều node trạm (gọi là mqtt
client - gọi tắt là client) kết nối tới một MQTT server (gọi là broker). Mỗi client sẽ
đăng ký một vài kênh (topic), ví dụ như "/client1/channel1", "/client1/channel2".

32
Quá trình đăng ký này gọi là "subscribe", giống như chúng ta đăng ký nhận tin trên
một kênh Youtube vậy. Mỗi client sẽ nhận được dữ liệu khi bất kỳ trạm nào khác
gởi dữ liệu và kênh đã đăng ký. Khi một client gởi dữ liệu tới kênh đó, gọi
là "publish".

Hình 3.24: Mô hình publish/ subscribe

 Tầng ứng dụng QoS (Qualities of Service):

Có 3 tuỳ chọn QoS (Qualities of service) khi "publish" và "subscribe":

 QoS0: Broker/client sẽ gởi dữ liệu đúng 1 lần, quá trình gởi được xác nhận
bởi chỉ giao thức TCP/IP.
 QoS1: Broker/client sẽ gởi dữ liệu với ít nhất 1 lần xác nhận từ đầu kia,
nghĩa là có thể có nhiều hơn 1 lần xác nhận đã nhận được dữ liệu.
 QoS2: Broker/client đảm bảm khi gởi dữ liệu thì phía nhận chỉ nhận được
đúng 1 lần, không trùng lặp, không thất lạc.
 QoS2 có độ tin cậy cao nhất.

Một gói tin có thể được gởi ở bất kỳ QoS nào, và các client cũng có thể
subscribe với bất kỳ yêu cầu QoS nào. Có nghĩa là client sẽ lựa chọn QoS tối đa
mà nó có để nhận tin. Ví dụ, nếu 1 gói dữ liệu được publish với QoS2, và client
subscribe với QoS0, thì gói dữ liệu được nhận về client này sẽ được broker gởi
với QoS0, và 1 client khác đăng ký cùng kênh này với QoS2, thì nó sẽ được
Broker gởi dữ liệu với QoS2.

33
Một ví dụ khác, nếu 1 client subscribe với QoS2 và gói dữ liệu gởi vào kênh
đó publish với QoS0 thì client đó sẽ được Broker gởi dữ liệu với QoS0. QoS
càng cao thì càng đáng tin cậy, đồng thời độ trễ và băng thông đòi hỏi cũng cao
hơn.

 Retain:

Nếu retain được set bằng 1, khi gói tin được publish từ Client,
Broker phải lưu trữ lại gói tin với QoS, và nó sẽ được gởi đến bất kỳ Client nào
subscribe cùng kênh trong tương lai. Khi một Client kết nối tới Broker và
subscribe, nó sẽ nhận được gói tin cuối cùng có retain = 1 với bất kỳ topic nào
mà nó đăng ký trùng. Tuy nhiên, nếu Broker nhận được gói tin mà có QoS = 0
và retain = 1, nó sẽ huỷ tất cả các gói tin có retain = 1 trước đó. Và phải lưu gói
tin này lại, nhưng hoàn toàn có thể huỷ bất kỳ lúc nào.

Khi publish một gói dữ liệu đến Client, Broker phải sẽ retain = 1 nếu gói
được gởi như là kết quả của việc subscribe mới của Client (giống như tin nhắn
ACK báo subscribe thành công). Retain phải bằng 0 nếu không quan tâm tới kết
quả của việc subscribe.

 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ó
1 lớp bảo mật ở tầng ứng dụng: bảo mật bằng xác thực (xác thực các client được
quyền truy cập tới broker).

Tuy vậy, 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 VPN ở tầng mạng hoặc SSL/TLS ở tầng transport.

3.9.2. Cloud MQTT:

Cloud MQTT là một MQTT server dựa trên công nghệ điện toán đám mây.
CloudMQTT được quản lý bởi máy chủ Mosquitto. Mosquitto thực hiện giao thức
MQ Telemetry Transport, cung cấp các giải pháp đơn giản để gởi tin nhắn bằng
cách sử dụng các lệnh publish/subscribe.

34
Cloud MQTT là một giải pháp thay thế cho việc tạo Broker server khi mà
chúng ta vẫn còn thiếu kinh nghiệm về lập trình server.

Hình 3.25: Trang CloudMQTT

3.9.3. Ứng dụng điều khiển giám sát từ xa:

Để điều khiển và giám sát hệ thống trên smartphone ta cần có một ứng dụng
để giao tiếp với MQTT Broker.

Do còn hạn chế về khả năng lập trình ứng dụng trên Android cũng như IOS
nên trong đề tài em quyết định sử dụng ứng dụng IoT OnOff được cung cấp bởi
Kris Van Hoye, ứng dụng có thể tải trực tiếp trên Google Play hoặc App Store.

Một số tính năng nổi bật của ứng dụng:

 Có trên cả hai hệ điều hành cho smartphone phổ biến nhất hiện nay là
Android và IOS.
 Thao tác thiết lập đơn giản.
 Giao diện đẹp, cho phép tùy biến cao.
 Giao tiếp được với tất cả MQTT Broker có hỗ trợ WebSoket.
 Tự động kết nối lại với Broker khi mất kết nối.
 Hoạt động ổn định.

35
3.10. Cập nhật thời gian thực từ NTP server:

Network Time Protocol (NTP) là một thuật toán phần mềm giữ cho các máy tính
và các thiết bị công nghệ khác nhau có thể đồng bộ hóa thời gian với nhau.

NTP server là một thiết bị được sử dụng để nhận biết yêu cầu đồng bộ thời gian
và phân phối tín hiệu thông tin thời gian bằng thuật toán NTP. Các tín hiệu thời gian
được sử dụng bởi hầu hết các mấy chủ NTP là nguồn thời gian UTC (Coordinated
Universal Time: thời gian toàn cầu dựa trên thời gian đồng hồ nguyên tử). Các tín
hiệu thời gian có thể được truyền thông qua mạng Internet toàn cầu giữa các NTP
server hoặc giữa NTP server với các NTP client (thiết bị cần cập nhật thời gian).

Public NTP server là một NTP server trên Internet mà ai cũng có thể truy cập và
nhận thông tin thời gian miễn phí. Chúng ta có thể tìm thấy danh sách các Public NTP
server tại trang web http://www.pool.ntp.org/.

Trong luận văn em sử dụng thư viện “NTPClient” để lập trình cho module
ESP8266 NodeMCU truy cập và nhận thông tin thời gian từ một Public NTP server.

36
Chương 4. THIẾT KẾ, THI CÔNG BỘ ĐIỀU KHIỂN VÀ MÔ HÌNH
NGÔI NHÀ

4.1. Tổng quan hệ thống:

Internet
Smartphone
CloudMQTT

Internet ESP8266
NodeMCU
LCD
Nút nhấn
UART

KIT STM32F407VGx Relay

SPI

Thiết bị:
Cảm biến RFID
quạt, đèn...

Hình 4.1: Sơ đồ tổng quan hệ thống

Các cảm biến, thiết bị điện (đèn, quạt..) và module đọc thẻ RFID sẽ được lắp đặt
trên mô hình ngôi nhà.

Các thành phần của bộ điều khiển trung tâm: Kit STM32F407, ESP8266
NodeMCU, LCD, nút nhấn cùng với relay sẽ được tích hợp thành một thiết bị. Thiết
bị này sẽ có ngõ vào là tín hiệu từ các cảm biến và ngõ ra là các tiếp điểm của relay
để điều khiển thiết bị.

37
4.2. Mô hình ngôi nhà:

Mô hình ngôi nhà sẽ gồm: 1 phòng khách, 2 phòng ngủ, 1 phòng bếp và 1
phòng vệ sinh, với các thiết bị và cảm biến được bố trí như bảng dưới.

Vị trí Cảm biến Thiết bị được điều khiển


Nhiệt độ, độ ẩm, ánh sáng, thân Đèn, quạt, còi, cửa
Phòng khách
nhiệt chuyển động. ra/vào, cửa sổ
Phòng ngủ 1 Đèn, quạt, cửa sổ.
Phòng ngủ 2 Đèn, quạt.
Phòng bếp Khí gas, mưa. Đèn, cửa bếp.
Phòng vệ sinh Ánh sang, thân nhiệt chuyển động Đèn.
Bảng 4.1: Bố trí cảm biến và các thiết bị

Hình 4.2: Mô hình ngôi nhà

38
4.3. Bộ điều khiển trung tâm:

Căn cứ vào số lượng cảm biến và thiết bị như trên ta có thể chọn kết nối các chân
vi điều khiển như sau:

Chân Cấu hình Thiết bị


PA0 ADC Cảm biến gas
PA4
PA5
SPI1 Module RFID
PA6
PA7
PB6
I2C1 LCD 2004, LCD 1602
PB7
PE9
Cửa sổ phòng ngủ 1
PE11
PE13
Cửa ra/vào
PE14 PWM
PA15
Cửa sổ phòng khách
PB3
PA2 Cửa bếp
PC10
UART3 Module Wifi 8266 NodeMCU
PC11
PD0 Cảm biến PIR phòng khách
PD1 Cảm biến PIR phòng vệ sinh
PD2 Cảm biến ánh sáng phòng khách
GPIO Input
PD3 Cảm biến ánh sáng phòng vệ sinh
PD4 Cảm biến nhiệt độ, độ ẩm
PD5 Cảm biến mưa
PD6 Quạt phòng khách
PD7 GPIO Output Đèn phòng khách
PD8 Quạt phòng ngủ 1

39
PD9 Đèn phòng ngủ 1
PD10 Quạt phòng ngủ 2
PD11 Đèn phòng ngủ 2
PD12 Đèn phòng bếp
PD13 Đèn phòng vệ sinh
PD14 Còi
PC0 GPIO EXTI0 Nút nhấn: Menu/Select
PC1 GPIO EXTI1 Nút nhấn: Back
PC2 GPIO EXTI2 Nút nhấn: Down
PC3 GPIO EXTI3 Nút nhấn: Up
PC4 GPIO Input Cảm ứng điện dung một chạm mở/đóng cửa
Bảng 4.2: Các chân vi điều khiển sử dụng

4.3.1. Thiết kế, thi công mạch điều khiển trung tâm:

Sơ đồ nguyên lý:

Hình 4.3: Sơ đồ nguyên lý bộ điều khiển trung tâm

40
Mạch in:

Hình 4.4: Mạch in bộ điều khiển trung tâm

Kết quả thi công mạch điều khiển trung tâm:

Hình 4.5: Kêt quả thi công mạch điều khiển trung tâm

41
4.3.2. Thiết kế, thi công mạch nút nhấn:

Sơ đồ nguyên lý:

Hình 4.6: Sơ đồ nguyên lý mạch nút nhấn

Mạch in:

Hình 4.7: Mạch in nút nhấn

42
Kết quả thi công mạch nút nhấn:

Hình 4.8: Kết quả thi công mạch nút nhấn

4.3.3. Bộ điều khiển trung tâm sau khi tích hợp:

Hình 4.9: Bộ điều khiển trung tâm

43
Chương 5. LẬP TRÌNH HỆ THỐNG ĐIỀU KHIỂN

5.1. Các tính năng của hệ thống điều khiển nhà thông minh:

Sau khi nghiên cứu và thiết kế, đề tài sẽ tích hợp được các chức năng sau đây:

 Đọc và hiển thị giá trị của cảm biến nhiệt độ, độ ẩm, cảm biến mưa, cảm biến
ánh sáng, cảm biến thân nhiệt chuyển động, cảm biến khí gas.
 Đóng mở cửa sử dụng thẻ RFID.
 Điều khiển trực tiếp sử dụng hệ thống nút nhấn và LCD tích hợp trên bộ điều
khiển trung tâm.
 Điều khiển, giám sát từ xa qua internet bằng smartphone.
 Hệ thống có thể hoạt động ở 1 trong 2 chế độ Auto/Manual.
 Ở chế độ Auto có thể hoạt động theo 1 trong 4 kịch bản sau:
o Kịch bản 1: Cơ bản
 Có người vào phòng vệ sinh và trời tối thì bật đèn.
 Có mưa nếu các cửa sổ đang mở thì tự động đóng.
 Phát hiện rò khí gas thì còi kêu, chớp tắt đèn, mở tất cả các cửa.
o Kịch bản 2: Tiếp khách
 Có người trong phòng khách thì tự động mở đèn nếu trời tối, bật
quạt mở cửa sổ nếu nhiệt độ trong phòng lớn hơn nhiệt độ cài đặt.
 Tất cả những tính năng còn lại giống kịch bản 1.
o Kịch bản 3: Ra khỏi nhà
 Tắt tất cả các thiết bị, đóng tất cả các cửa.
 Bật chế độ chống trộm: cảm biến phát hiện có người thì còi kêu,
chớp đèn.
 Phát hiện rò khí gas thì còi kêu, chớp tắt đèn.
o Kịch bản 4: Đi ngủ
 Tự động bật quạt phòng ngủ nếu nhiệt độ trong phòng lớn hơn nhiệt
độ cài đặt, đóng tất cả các cửa.
 Bật chế độ chống trộm: cảm biến phát hiện có người thì còi kêu,
chớp đèn.
 Phát hiện rò khí gas thì còi kêu, chớp tắt đèn.
 Có thể hẹn giờ báo thức, đến giờ hẹn đèn trong phòng ngủ sẽ được
bật, cửa sổ tự động mở, tắt quạt.
 Có người vào phòng vệ sinh và trời tối thì bật đèn.
 Có mưa nếu các cửa sổ đang mở thì tự động đóng.

44
5.2. Giải thuật điều khiển:

5.2.1. Đóng mở cửa bằng RFID:

Một thẻ từ sẽ được sử dụng làm master, thẻ này có khả năng cấp hoặc xóa
quyền truy cập của các thẻ khác.

Sơ đồ giải thuật:

Bắt đầu

Sai
Phát hiện thẻ

Ghi/xóa thẻ = 1

Đúng

Xóa thẻ
Đúng Là thẻ master Ghi/xóa thẻ = 0

Sai
Sai

Mở cửa
Ghi/xóa thẻ = 1 Đúng Là thẻ mới

Đúng
Sai Đúng

Ghi thẻ
Cửa đóng Đúng Là thẻ đã lưu Ghi/xóa thẻ = 0

Sai Sai

Đóng cửa Báo thẻ không


đúng

Hình 5.1: Sơ đồ giải thuật đóng mở cửa dùng thẻ RFID

45
5.2.2. Hoạt động theo các kịch bản:

 Kịch bản 1 – Cơ bản:

Bắt đầu

Tắt đèn Đọc cảm biến

Trời tối
Sai
và có người

Đúng

Bật đèn

Hình 5.2: Sơ đồ giải thuật điều khiển đèn phòng vệ sinh

Bắt đầu

Sai
Đọc cảm biến

Rò khí gas

Đúng

Sai
Báo động

Dừng báo động Đúng Reset

Hình 5.3: Sơ đồ giải thuật báo động khí gas

46
Bắt đầu

Đóng cửa sổ Đọc cảm biến

Sai

Có mưa

Đúng Đúng

Cửa sổ mở

Hình 5.4: Sơ đồ giải thuật đóng cửa sổ khi trời mưa

47
 Kịch bản 2 – Tiếp khách:
Bắt đầu

Sai
Đọc cảm biến

Có người
Sai

Đúng

Đúng
Bật đèn Sai Trời sáng

Nhiệt độ lớn hơn


nhiệt độ cài đặt

Đúng

Bật quạt

Có mưa

Sai

Mở cửa sổ

Hình 5.5: Sơ đồ giải thuật điều khiển đèn, quạt ở Kịch bản 2 - Tiếp khách

Các chức năng khác ở kịch bản này giống như kịch bản 1 nên được lập trình
theo giải thuật như trong kịch bản 1 đã nêu ở trên.

48
 Kich bản 3 - Ra khỏi nhà:

Bắt đầu

Tắt tất cả các thiết


bị

Sai
Đọc cảm biến

Có người

Đúng

Sai
Báo động

Dừng báo động Đúng Reset

Hình 5.6: Sơ đồ giải thuật Kịch bản 3 – Ra khỏi nhà

Chức năng báo động rò rỉ gas lập trình như giải thuật ở kịch bản 1.

49
 Kịch bản 4 – Đi ngủ:

Bắt đầu

Tắt quạt Đọc cảm biến

Nhiệt độ lớn hơn


Sai
nhiệt độ cài đặt

Đúng

Bật quạt

Hình 5.7: Sơ đồ giải thuật điều khiển quạt Kịch bản 4 - Đi ngủ

Bắt đầu

Sai
Đọc cảm biến

Có người
phòng khách

Đúng

Sai
Báo động

Dừng báo động Đúng Reset

Hình 5.8: Sơ đồ giải thuật chống trộm Kịch bản 4 - Đi ngủ

50
Bắt đầu

Sai
Đọc thời gian thực

Thời gian thực


= thời gian hẹn

Đúng

Tắt quạt, bật đèn,


mở cửa sổ

Hình 5.9: Sơ đồ giải thuật báo thức Kịch bản 4 - Đi ngủ

Các chức năng báo động rò rỉ khí gas và điều khiển đèn phòng vệ sinh lập
trình giống như trong kịch bản 1, đã trình bày ở trên.

5.3. Lập trình cập nhật thời gian thực từ NTP sever:

Để lấy thời gian từ NTP sever ta cần biến ESP9266 thành 1 NTP client. Để làm
điều đo em sử dụng thư viện “NTPClient”. Một số lệnh cơ bản như sau:

 Khai báo thư viện:


#include <NTPClient.h>
 Khai báo NTP client kết nối với NTP sever:
NTPClient timeClient(ntpUDP, "europe.pool.ntp.org", 7 * 3600, 60000);
 Cập nhật thời gian từ sever:
timeClient.update();
 Gửi thông tin thời gian cho STM32 qua UART:
Serial.println(timeClient.getFormattedTime());

51
5.4. Lập trình điều khiển, giám sát từ xa:

5.4.1. Lập trình cho kit STM32F407 và module ESP 8266 NodeMCU:

CloudMQTT

Wifi Internet
Internet

STM32F407 ESP8266 Ứng dụng trên


UART
Discovery NodeMCU smartphone

Hình 5.10: Sơ đồ khối điều khiển giám sát từ xa qua Internet

ESP8266 NodeMCU và smartphone lúc này đều đóng vai trò là các client
kết nối tới broker MQTT được tạo trên CloudMQTT. ESP8266 sẽ publish trạng
thái các thiết bị lên các topic trạng thái, đồng thời subscribe topic điều khiển để
nhận lệnh điều khiển. Ngược lại, ứng dụng smartphone sẽ publish lệnh điều khiển
lên topic điều khiển đồng thời subscribe các topic trạng thái để cập nhận trạng
thái thiết bị, cảm biến rồi hiển thị trên ứng dụng.

ESP8266 nhận được lệnh điều khiển thì sẽ truyền cho STM32F407 thông
qua chuẩn UART, đồng thời STM32 cũng sẽ liên tục gửi các trạng thái thiết bị,
cảm biến cho ESP8266.

52
Bắt đầu

Truyền dữ liệu cho Sai


ESP8266

Nhận được lệnh


từ ESP8266

Đúng

Thực hiện lệnh

Hình 5.11: Sơ đồ giải thuật lập tình STM32F407 giao tiếp ESP8266

53
Bắt đầu

Kết nối Wifi

Kết nối
CloudMQTT

Giao tiếp với


STM32F4

Publish trạng thái


lên topic trạng thái

Subscribe topic
điều khiển

Hình 5.12: Sơ đồ giải thuật lập trình ESP8266

Để ESP8266 có thể kết nối với CloudMQTT em sử dụng thư viện “PubSubClient”.

Một số lệnh cơ bản trong thư viên:

 Thực hiện kết nối đến MQTT server: client.setServer(mqtt_server, mqtt_port);

 Lệnh subscribe topic: client.subscribe(topic);

 Lệnh publish thông tin lên topic: client.publish(topic, message );

5.4.2. Tạo Broker MQTT trên CloudMQTT:

Để tạo broker MQTT trên CloudMQTT trước hết ta phải tạo 1 tài khoản trên
trang web cloudmqtt.com. Cloud MQTT cung cấp nhiều gói dịch vụ khác nhau
tùy nhu cầu người dùng, từ miễn phí đến tính phí.

54
Trong luận văn em sử dụng gói “Humble Hedgehog” với phí 5$ mỗi tháng
để đảm bảo tốc độ và số lượng topic cần thiết.

Hình 5.13: Gói “Humble Hedgehog” của CloudMQTT

Khi đã có tài khoản CloudMQTT ta tiến hành tạo broker sau đó tạo các topic
của broker theo bản sau:

Topic Tác dụng


control Nhận và truyền lệnh điều khiển
temp Nhận và truyền nhiệt độ
rh Nhận và truyền độ ẩm
fan_lr Nhận và truyền trạng thái quạt phòng khách
lamp_lr Nhận và truyền trạng thái đèn phòng khách
fan_br_1 Nhận và truyền trạng thái quạt phòng ngủ 1
lamp_br_1 Nhận và truyền trạng thái đèn phòng ngủ 1
fan_br_2 Nhận và truyền trạng thái quạt phòng ngủ 2
lamp_br_2 Nhận và truyền trạng thái đèn phòng ngủ 2
lamp_kc Nhận và truyền trạng thái đèn phòng bếp
lamp_tl Nhận và truyền trạng thái đèn phòng vệ sinh
door_1 Nhận và truyền trạng thái cửa chính
door_2 Nhận và truyền trạng thái cửa bếp
window_1 Nhận và truyền trạng thái cửa sổ phòng ngủ
window_2 Nhận và truyền trạng thái cửa sổ phòng khách
script_1 Nhận và truyền trạng thái thực hiện kịch bản 1

55
script_2 Nhận và truyền trạng thái thực hiện kịch bản 2
script_3 Nhận và truyền trạng thái thực hiện kịch bản 3
script_4 Nhận và truyền trạng thái thực hiện kịch bản 4
alarm Nhận và truyền trạng thái báo động
Bảng 5.1: Các topic phải tạo
ESP8266 sẽ subscribe topic “control” để nhận lệnh điều khiển và publish các
topic còn lại để gửi trạng thái các thiết bị lên. Ngược lại smartphone sẽ publish
topic “control” và subscribe các topic còn lại.
Ví dụ: Để điều khiển bật quạt phòng khách, smartphone sẽ publish lên topic
“control” tin nhắn với nội dung “B1”, ESP8266 vì đã subscribe topic “control” nên
nhận được tin nhắn sau đó truyền tin nhắn đến kit STM32 để điều khiển bật đèn,
sau đó STM32 bật quạt rồi truyền cho ESP8266 tin nhắn với nội dung “B1” có
nghĩa là đã bật quạt phòng khách, khi nhận được ESP8266 sẽ publish nội dung
“B1” lên topic “fan_lr” để thông tin cho smartphone.

5.4.3. Thiết lập, tạo giao diện trên ứng dụng IoT OnOff:

Đầu tiên ta cần tải ứng dụng từ Google Play hoặc App Store. Sau đó mở ứng
dụng lên vào phần Settings => Configuration => Broker rồi điền toàn bộ thông
tin của broker đã tạo trên CloudMQTT.

Hình 5.14: Cung cấp thông tin broker cho ứng dụng IoT OnOff

56
Khi cung cấp đúng thông tin thì ứng dụng sẽ tự động kết nối broker.

Hình 5.15: Ứng dụng IoT OnOff kết nối broker

Sau khi đã kết nối ta tiếng hành tạo giao diện bằng cách thêm các widget (nút
nhấn, đèn hiển thị, hay biểu đồ,…). Cuối cùng ta thiết lập các topic subscribe hay
publish cho các widget.

Hình 5.16: Giao diện điều khiển được tạo trên ứng dụng IoT OnOff

57
Chương 6. KẾT QUẢ, HẠN CHẾ VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI

6.1. Kết quả và hạn chế của đề tài:

6.1.1. Kết quả:

Sau 15 tuần thực hiện, luận văn cũng đã cơ bản hoàn thành được những yêu
cầu đặt ra ban đầu:

 Thiết kế và gia công bộ điều khiển ngôi nhà với những tính năng cơ bản sau:
 Có khả năng bật, tắt các thiết bị trong nhà bằng tay hoặc tự động theo
các kịch bản.
 Đọc và xử lý tín hiệu từ các cảm biến.
 Đóng mở cửa bán tự động sử dụng thẻ RFID.
 Báo trộm, rò khí gas.
 Hẹn giờ báo thức.
 Có thể điều khiển, giám sát bằng điện thoại kết nối mạng Internet.
 Xây dựng mô hình ngôi nhà để có thể vận hành thử nghiệm bộ điều khiển trên.

Hình 6.1: Bộ điều khiển và mô hình ngôi nhà sau khi hoàn thành

58
6.1.2. Hạn chế:

Do còn kiến thức còn hạn chế, nên đề tài không tránh khỏi những thiếu sót
và những vấn đề chưa khắc phục được. Có thể nêu ra một số điểm như sau:

 Chưa thể tự lập trình một ứng dụng riêng để điều khiển mà sử dụng ứng
dụng có sẵn.
 Chỉ dừng lại ở việc điều khiển on/off các thiết bị.
 Tính năng còn rất cơ bản, cần bổ sung thêm nhiều tính năng mới để ngôi
nhà được thông minh hơn.
 Bộ điều khiển nhận tín hiệu từ cảm biến bằng dây nên để sử dụng được ngoài
thực tế cần phải tính toán lại điện trở dây và áp dụng các biện pháp chống
nhiễu cho cảm biến.
6.2. Hướng phát triển đề tài:

Mô hình nhà thông minh với những tính năng cơ bản như trên là nền tảng để phát
triển thành mô hình với những yêu cầu và tính năng cao hơn.

Không chỉ dừng lại ở việc điều khiển on/off thiết bị, mô hình có thể phát triển để
điều khiển analog, với sức mạnh của vi điều khiển STM32F407 thì điều này không
quá khó khăn.

Ngoài ra có thể phát triển thêm các tính năng mới như: nhận diện mặt chủ nhà
thông qua camera, điều khiển bằng giọng nói,...

59
TÀI LIỆU THAM KHẢO

[1] “Thị trường công nghệ nhà thông minh tại Việt Nam hiện nay”. Internet:

https://tinhte.vn/threads/thi-truong-cong-nghe-nha-thong-minh-tai-viet-nam-
hien-nay.2676688/

[2] “Discovery kit with STM32F407VG MCU”, [Online]. Available:

http://www.st.com/content/ccc/resource/technical/document/user_manual/70/f
e/4a/3f/e7/e1/4f/7d/DM00039084.pdf/files/DM00039084.pdf/jcr:content/trans
lations/en.DM00039084.pdf

[3] “RM0090 Reference manual”, [Online]. Available:

https://www.st.com/content/ccc/resource/technical/document/reference_manu
al/3d/6d/5a/66/b4/99/40/d4/DM00031020.pdf/files/DM00031020.pdf/jcr:cont
ent/translations/en.DM00031020.pdf

[4] Internet: https://hshop.vn/products/kit-rf-thu-phat-wifi-esp8266-nodemcu

[5] “DHT11 Temperature & Humidity Sensor”, [Online]. Available:

https://www.mouser.com/ds/2/758/DHT11-Technical-Data-Sheet-Translated-
Version-1143054.pdf

[6] “HC-SR501 PIR MOTION DETECTOR”, [Online]. Available:

https://www.mpja.com/download/31227sc.pdf

[7] Internet: https://hshop.vn/products/mach-rfid-rc522-nfc-13-56mhz

[8] “SERVO MOTOR SG90 DATASHEET” ”, [Online]. Available:

http://www.ee.ic.ac.uk/pcheung/teaching/DE1_EE/stores/sg90_datasheet.pdf

60

You might also like