HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG
KHOA KỸ THUẬT ĐIỆN TỬ 1
BÁO CÁO BÀI TẬP LỚN
MÔN HỌC: MẠNG CẢM BIẾN
Đề tài: Xây dựng giao diện Website hiển thị dữ liệu
từ một cảm biến nhiệt độ và độ ẩm.
Giảng viên hướng dẫn
Nhóm lớp học
Nhóm bài tập lớn
Thành viên trong nhóm
: Trần Thị Thanh Thủy
: 01
: 06
: Nguyễn Quang Hưng - B20DCDT098
: Trần Quang Hữu - B20DCDT100
: Đặng Ngọc Khánh - B20DCDT108
: Nguyễn Đăng Khoa - B20DCDT110
: Đỗ Trung Kiển - B20DCDT105
Hà Nội - 2023
HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA KỸ THUẬT ĐIỆN TỬ 1
BÁO CÁO BÀI TẬP LỚN
MÔN HỌC: MẠNG CẢM BIẾN
Đề tài: Xây dựng giao diện Website hiển thị dữ liệu
từ một cảm biến nhiệt độ và độ ẩm.
Giảng viên hướng dẫn
Nhóm lớp học
Nhóm bài tập lớn
Thành viên trong nhóm
: Trần Thị Thanh Thủy
: 01
: 06
: Nguyễn Quang Hưng - B20DCDT098
: Trần Quang Hữu - B20DCDT100
: Đặng Ngọc Khánh - B20DCDT108
: Nguyễn Đăng Khoa - B20DCDT110
: Đỗ Trung Kiển - B20DCDT105
Hà Nội - 2023
BẢNG PHÂN CÔNG CÔNG VIỆC
Họ và tên
Nhiệm vụ
Đánh giá
Nguyễn Quang Hưng
(Nhóm trưởng)
Trần Quang Hữu
Đặng Ngọc Khánh
Nguyễn Đăng Khoa
Đỗ Trung Kiển
- Tìm hiểu Front-end.
- Tìm hiểu Back-end.
- Xây dựng Web Dashboard.
- Xây dựng Web Server.
- Tìm hiểu giao thức MQTT.
- Xây dựng MQTT Broker.
- Tìm hiểu Front-end.
- Xây dựng Web Dashboard.
- Tìm hiểu MySQL.
- Xây dựng Database.
- Tìm hiểu vi điều khiển ESP32.
- Tìm hiểu cảm biến DHT11.
- Xây dựng phần cứng.
Hồn thành cơng việc.
Hồn thành cơng việc.
Hồn thành cơng việc.
Hồn thành cơng việc.
Hồn thành cơng việc.
NHẬN XÉT CỦA GIẢNG VIÊN
MỤC LỤC
BẢNG PHÂN CÔNG CÔNG VIỆC.............................................................................1
NHẬN XÉT CỦA GIẢNG VIÊN.................................................................................2
MỤC LỤC.....................................................................................................................3
DANH MỤC HÌNH ẢNH.............................................................................................6
LỜI MỞ ĐẦU...............................................................................................................8
CHƯƠNG 1: TỔNG QUAN VỀ IOT, WEBSITE VÀ..................................................9
GIAO DIỆN IOT...........................................................................................................9
1.1: Khái niệm IoT.....................................................................................................9
1.1.1: Định nghĩa...................................................................................................9
1.1.2: IoT trong kỹ thuật......................................................................................10
1.1.3: Đặc tính của hệ thống IoT..........................................................................10
1.1.4: u cầu của hệ thống IoT..........................................................................11
1.1.5: Mơ hình của hệ thống IoT..........................................................................12
1.2: Khái niệm Website............................................................................................13
1.2.1: Định nghĩa.................................................................................................13
1.2.2: Phân loại....................................................................................................14
1.3: Khái niệm giao diện IoT...................................................................................16
CHƯƠNG 2: KIẾN TRÚC WEBSITE VÀ.................................................................17
CÔNG NGHỆ SỬ DỤNG...........................................................................................17
2.1: Thiết kế kiến trúc Website................................................................................17
2.2: Giao thức MQTT..............................................................................................17
2.2.1: Khái niệm...................................................................................................17
2.2.2: Mục đích....................................................................................................18
2.2.3: MQTT Broker và MQTT Client................................................................18
2.2.4: Cách thức hoạt động của giao thức MQTT................................................20
2.2.5: Nguyên tắc hoạt động của MQTT..............................................................21
2.2.6: Tầm quan trọng của giao thức MQTT........................................................21
2.2.7: Một số ứng dụng MQTT đã được triển khai..............................................22
2.3: Ngôn ngữ JavaScript và Node.js.......................................................................22
2.3.1: Ngôn ngữ JavaScript..................................................................................22
2.3.2: Node.js.......................................................................................................24
2.4: Hệ quản trị cơ sở dữ liệu MySQL.....................................................................27
2.4.1: Khái niệm...................................................................................................27
2.4.2: Thuật ngữ thường gặp của MySQL............................................................28
2.4.3: Ưu, nhược điểm của MySQL.....................................................................28
2.4.4: Phương thức hoạt động của MySQL..........................................................29
2.4.5: Quy trình thiết kế cơ sở dữ liệu..................................................................30
CHƯƠNG 3: XÂY DỰNG HỆ THỐNG PHẦN CỨNG,............................................31
MQTT BROKER, CƠ SỞ DỮ LIỆU VÀ GIAO DIỆN...............................................31
WEB DASHBOARD...................................................................................................31
3.1: Xây dựng hệ thống phần cứng..........................................................................31
3.1.1: Vi điều khiển ESP32..................................................................................31
3.1.2: Cảm biến nhiệt độ, độ ẩm DHT11.............................................................33
3.1.3: Chương trình thu thập và gửi dữ liệu cảm biến..........................................35
3.2: Xây dựng MQTT Broker..................................................................................36
3.2.1: HiveMQ MQTT Broker.............................................................................36
3.2.2: Tạo MQTT Broker.....................................................................................37
3.3: Xây dựng cơ sở dữ liệu.....................................................................................37
3.3.1: Phần mềm XAMPP....................................................................................37
3.3.2: Tạo cơ sở dữ liệu........................................................................................38
3.4: Xây dựng giao diện Web Dashboard................................................................39
3.4.1: Xây dựng giao diện Website hiển thị giá trị cảm biến................................39
3.4.2: Xây dựng giao diện Website hiển thị dữ liệu thu thập...............................41
CHƯƠNG 4: SẢN PHẨM THỰC TẾ, KIỂM THỬ VÀ.............................................42
KẾT LUẬN.................................................................................................................42
4.1: Sản phẩm thực tế...............................................................................................42
4.1.1: Phần cứng..................................................................................................42
4.1.2: Giao diện Web Dashboard.........................................................................42
4.2: Kiểm thử...........................................................................................................43
4.2.1: Kiểm thử phần cứng...................................................................................43
4.2.2: Kiểm thử giao diện Web Dashboard..........................................................44
4.3: Kết luận............................................................................................................44
4.3.1: Kết quả đạt được........................................................................................44
4.3.2: Những hạn chế còn tồn tại.........................................................................44
4.3.3: Phương hướng phát triển............................................................................45
TÀI LIỆU THAM KHẢO...........................................................................................46
DANH MỤC HÌNH ẢNH
Số
Tên hình ảnh
Trang
1
Hình 1: Kết nối vạn vật.
9
2
Hình 2: Giao tiếp trong một hệ
thống IoT.
10
3
Hình 3: Mơ hình của hệ thống IoT.
13
4
Hình 4: Mơ hình Website cơ bản.
13
5
Hình 5: Mơ hình trang web cơ bản.
14
6
Hình 6: Mơ hình Website tĩnh.
15
7
Hình 7: Mơ hình Website động.
15
8
Hình 8: Một số IoT Dashboard.
16
9
Hình 9: Kiến trúc Website.
17
10
Hình 10: Giao thức MQTT.
18
11
Hình 11: MQTT Broker.
18
12
13
Hình 12: Mơ hình giao thức MQTT
cơ bản.
Hình 13: Mã JavaScript dùng để
hiển thị danh sách các ngày trong
tuần.
20
23
14
Hình 14: Node.js.
25
15
Hình 15: MySQL.
27
16
Hình 16: Kiến trúc của MySQL.
29
17
Hình 17: KIT NodeMCU-ESP32.
31
18
Hình 18: Sơ đồ chân KIT ESP32.
33
19
Hình 19: Cảm biến DHT11.
33
20
Hình 20: Điện trở nhiệt NTC.
34
21
Hình 21: Cảm biến độ ẩm.
34
22
23
Hình 22: Sơ đồ chân cảm biến
DHT11.
Hình 23: Chương trình thu thập và
gửi dữ liệu cảm biến.
35
35
24
Hình 24: HiveMQ MQTT Broker.
36
25
Hình 25: Giao diện HiveMQ
Cloud.
37
26
Hình 26: Phần mềm XAMPP.
38
27
Hình 27: Cơ sở dữ liệu.
38
28
Hình 28: Front-end của Website.
39
29
Hình 29: Các module Node.js được
sử dụng.
40
30
Hình 30: Kỹ thuật AJAX.
41
31
Hình 31: Sản phẩm phần cứng.
42
32
33
34
Hình 32: Giao diện Website hiển
thị giá trị cảm biến.
Hình 33: Giao diện Website hiển
thị dữ liệu thu thập.
Hình 34: Cơ sở dữ liệu lưu trữ giá
trị cảm biến thu thập.
42
43
43
LỜI MỞ ĐẦU
Trong lịch sử phát triển của loài người, nhân loại đã đạt được những thành tựu
khoa học và công nghệ đáng kinh ngạc. Từ việc tạo ra những công cụ bằng đá để săn
bắt, hái lượm, cho đến việc nghiên cứu, chế tạo được những vi mạch tích hợp với kích
thước siêu nhỏ, nhưng chứa bên trong hàng tỉ bóng bán dẫn, con người đang là minh
chứng cho sức mạnh của tri thức, của sự sáng tạo. Hiện nay, chúng ta đang được
chứng kiến sự phát triển nhanh hơn bao giờ hết của khoa học và công nghệ, đặc biệt
trong lĩnh vực trí tuệ nhân tạo, thực tế ảo, điện tốn đám mây, Internet of Things,...
cũng như việc áp dụng những thành tựu khoa học mới trong mọi lĩnh vực, đời sống đã
và đang làm thay đổi hoàn toàn cách loài người sinh sống, làm việc và tương tác với
nhau.
Trong số những lĩnh vực tiêu biểu đó, chúng ta khơng thể khơng nhắc đến sự
phát triển, cũng như tầm quan trọng của Internet of Things, hay Internet vạn vật - một
lĩnh vực tạo ra hệ thống các thiết bị thông minh được kết nối với nhau và với Internet,
có khả năng thu thập, chia sẻ và xử lý dữ liệu một cách tự động, nhanh chóng và chính
xác. Nhờ có các hệ thống IoT, chúng ta có thể thu thập dữ liệu về môi trường thông
qua các cảm biến để điều khiển, giám sát, cũng như vận hành các thiết bị thơng minh
trong sinh hoạt và trong q trình sản xuất nơng nghiệp và cơng nghiệp. Chúng ta có
thể ứng dụng IoT vào hệ thống nhà thông minh, điều khiển các thiết bị thông qua ứng
dụng được cài đặt trên điện thoại di động hoặc qua các thông số được thiết lập, các mơ
hình trí tuệ nhân tạo, giúp nâng cao chất lượng cuộc sống của con người. IoT khi được
ứng dụng vào nơng nghiệp và cơng nghiệp cịn giúp gia tăng sản lượng, chất lượng sản
phẩm, tối ưu hoá được kinh phí sản xuất cũng như trong q trình vận chuyển,
Logistics.
Các mơ hình IoT đa phần sử dụng rất nhiều loại cảm biến khác nhau, với số
lượng có thể rất lớn. Mỗi cảm biến lại liên tục đo và trả về các giá trị theo thời gian
thực. Điều đó đặt ra bài toán cho các doanh nghiệp và hộ gia đình phải có giải pháp
thu thập, theo dõi và quản lý dữ liệu một cách hiệu quả. Nhờ sự ra đời của các giao
diện IoT (Web Dashboard), người dùng có thể dễ dàng trực quan hố dữ liệu thu thập
được từ các cảm biến theo thời gian thực. Để thuận tiện nhất cho người sử dụng khi
truy cập bằng các thiết bị khác nhau, cũng như phù hợp với năng lực của nhóm, chúng
em chọn đề tài “Xây dựng giao diện Website hiển thị dữ liệu từ một cảm biến nhiệt độ
và độ ẩm.”
CHƯƠNG 1: TỔNG QUAN VỀ IOT, WEBSITE VÀ
GIAO DIỆN IOT.
1.1: Khái niệm IoT.
1.1.1: Định nghĩa.
Công nghệ IoT, hay Internet Of Things là một hệ thống các thiết bị được trang
bị một hoặc nhiều loại cảm biến, có khả năng thu thập, xử lý và trao đổi dữ liệu thông
tin với các thiết bị và hệ thống khác thông qua mạng Internet hoặc các mạng truyền
thông. Bằng cách kết nối các “Things” trong khái niệm vật lý lẫn mạng liên kết, công
nghệ IoT được xây dựng dựa trên việc truyền tải thông tin và khả năng tương tác lẫn
nhau của các thơng tin đó.
Cơng nghệ IoT có thể được coi là cơ sở hạ tầng quan trọng trong cuộc cách
mạng công nghệ thông tin, tạo điều kiện cho các dịch vụ tân tiến thông qua sự liên kết
các “Things” trong mạng. Một hệ thống thơng tin trước đây gồm có 2 chiều “Any
Time” và “Any Place”, bằng công nghệ IoT, chúng ta đã có thể tạo thêm một chiều
mới là “Any Thing” - kết nối vạn vật.
Hình 1: Kết nối vạn vật.
Trong hệ thống IoT, “Things” là một thiết bị có thể nhận diện các thơng tin từ
mơi trường và tích hợp vào mạng thơng tin. Thiết bị đó có thể thu thập thông tin, cung
cấp thông tin, lưu trữ và xử lý thông tin.
1.1.2: IoT trong kỹ thuật.
Một thiết bị IoT là một phần của hệ thống IoT. Thiết bị phải có khả năng giao
tiếp với mạng IoT thơng qua việc thu thập, lưu trữ và xử lý thông tin. Các thiết bị thu
thập các loại thông tin khác nhau và cung cấp các thơng tin đó cho các thiết bị khác
trong mạng. Một số thiết bị cũng thực hiện các hoạt động chấp hành dựa trên thông tin
nhận được từ mạng thiết bị.
Hình 2: Giao tiếp trong một hệ thống IoT.
Các thiết bị trong một hệ thống IoT có thể giao tiếp với nhau thông qua một
mạng lưới thông tin liên lạc gọi là gateway, hoặc giao tiếp thông qua một mạng lưới
thơng tin liên lạc khơng có gateway, hoặc giao tiếp trực tiếp với nhau thơng qua mạng
nội bộ.
1.1.3: Đặc tính của hệ thống IoT.
Đặc tính cơ bản của IoT bao gồm: Tính kết nối liên thơng (interconnectivity)
trong IoT cho phép bất cứ điều gì cũng có thể kết nối với nhau thông qua mạng lưới
thông tin và cơ sở hạ tầng liên lạc tổng thể. Hệ thống IoT cũng có khả năng cung cấp
các dịch vụ liên quan đến “Things”, như bảo vệ sự riêng tư và đảm bảo tính nhất quán
giữa Physical Thing và Virtual Thing. Để cung cấp được dịch vụ này, cả công nghệ
phần cứng và công nghệ phần mềm sẽ phải thay đổi.
Thêm vào đó, tính không đồng nhất của các thiết bị trong IoT xuất phát từ việc
chúng có phần cứng và mạng khác nhau. Tuy nhiên, các thiết bị này có khả năng
tương tác với nhau thông qua sự liên kết của các mạng và phần mềm.
Tính thay đổi linh hoạt xuất phát từ việc trạng thái của các thiết bị có khả năng
tự động thay đổi, ví dụ như chuyển giữa trạng thái ngủ và hoạt động, kết nối hoặc mất
kết nối, thay đổi vị trí và tốc độ. Hơn nữa, số lượng thiết bị trong mạng IoT có thể thay
đổi theo thời gian.
Cuối cùng, quy mô lớn của IoT đề cập đến việc quản lý và giao tiếp giữa một số
lượng rất lớn các thiết bị trong hệ thống IoT. Số lượng này thường lớn hơn nhiều so
với số lượng máy tính kết nối Internet hiện tại và dẫn đến việc truyền đạt một lượng
lớn thông tin từ các thiết bị, vượt xa sự truyền đạt thông tin của con người.
1.1.4: Yêu cầu của hệ thống IoT.
Một hệ thống IoT phải thoả mãn các yêu cầu sau:
Kết nối dựa trên sự nhận diện: Nghĩa là các “Things” phải có ID riêng biệt. Hệ
thống IoT cần hỗ trợ các kết nối giữa các “Things”, và kết nối được thiết lập dựa trên
định danh (ID) của Things.
Khả năng cộng tác: hệ thống IoT khả năng tương tác qua lại giữa các mạng và
“Things”.
Khả năng tự quản lý của mạng: Bao gồm tự quản lý, tự cấu hình, tự phục hồi, tự
tối ưu hóa và tự có cơ chế bảo vệ. Điều này cần thiết để mạng có thể thích ứng với các
lĩnh vực ứng dụng khác nhau, môi trường truyền thông khác nhau, và nhiều loại thiết
bị khác nhau.
Dịch vụ thoả thuận: dịch vụ này để có thể được cung cấp bằng cách thu thập,
giao tiếp và xử lý tự động các dữ liệu giữa các “Things” dựa trên các quy tắc được
thiết lập bởi người vận hành hoặc tùy chỉnh bởi các người dùng.
Các khả năng dựa vào vị trí: Hệ thống IoT có thể biết và theo dõi vị trí một cách
tự động. Các dịch vụ dựa trên vị trí có thể bị hạn chế bởi luật pháp hay quy định, và
phải tuân thủ các yêu cầu an ninh.
Bảo mật: Trong IoT, nhiều “Things” được kết nối với nhau. Chình điều này làm
tăng mối nguy trong bảo mật, chẳng hạn như bí mật thơng tin bị tiết lộ, xác thực sai,
hay dữ liệu bị thay đổi hay làm giả.
Bảo vệ tính riêng tư: tất cả các “Things” đều có chủ sở hữu và người sử dụng
của nó. Dữ liệu thu thập được từ các “Things” có thể chứa thông tin cá nhân liên quan
tới chủ sở hữu hoặc người sử dụng. Các hệ thống IoT cần phải bảo vệ được thơng tin
trong q trình truyền, tập hợp, lưu trữ, khai thác và xử lý dữ liệu.
Khả năng PnP: các “Things” phải được tự động nhận diện và cấu hình khi
chúng được kết nối vào hệ thống. Khi một thiết bị hỗ trợ Plug and Play được kết nối,
hệ thống sẽ tự động nhận ra thiết bị đó và thực hiện các bước cấu hình cần thiết mà
khơng u cầu sự can thiệp thủ công từ người dùng.
Khả năng quản lý: hệ thống IoT cần phải hỗ trợ tính năng quản lý các “Things”
để đảm bảo mạng hoạt động bình thường. Ứng dụng IoT thường làm việc tự động mà
khơng cần sự tham gia của con người, nhưng tồn bộ quá trình hoạt động của họ nên
được quản lý bởi các bên liên quan.
1.1.5: Mơ hình của hệ thống IoT.
Bất kỳ một hệ thống IOT nào cũng được xây dựng lên từ sự kết hợp của 4 lớp:
Lớp ứng dụng (Application Layer).
Lớp Hỗ trợ dịch vụ và hỗ trợ ứng dụng (Service support and application support
layer).
Lớp mạng (Network Layer).
Lớp thiết bị (Device Layer).
Hình 3: Mơ hình của hệ thống IoT.
1.2: Khái niệm Website.
1.2.1: Định nghĩa.
Một Website là một tập hợp các trang web và nội dung liên quan được xác định
bởi một tên miền chung và được xuất bản trên ít nhất một máy chủ web. Các trang web
thường được dành cho một chủ đề hoặc mục đích cụ thể, chẳng hạn như tin tức, giáo
dục, thương mại, giải trí hoặc mạng xã hội. Liên kết siêu văn bản giữa các trang web
hướng dẫn việc điều hướng trang web, thường bắt đầu từ trang chủ. Tính đến tháng 5
năm 2023, 5 trang web được truy cập nhiều nhất là Google Search, YouTube,
Facebook, Twitter và Instagram.
Hình 4: Mơ hình Website cơ bản.
Một trang web là một tài liệu có cấu trúc. Thành phần cốt lõi của một trang web
là một tệp văn bản được viết bằng HTML (HyperText Markup Language). Ngôn ngữ
này xác định nội dung của trang web. Nội dung đa phương tiện trên web, chẳng hạn
như hình ảnh, video và các trang web khác có thể được nhúng trực tiếp vào trang web.
Hình 5: Mơ hình trang web cơ bản.
Trang web có thể bao gồm các tệp CSS (Cascading Style Sheets), các tệp này
xác định cách trình bày nội dung trên trang web. Về nguyên tắc, đây là một giải pháp
thay thế cho việc đưa thơng tin đó trực tiếp vào mã HTML.
Trang web cũng có thể bao gồm các chương trình JavaScript hoặc
WebAssembly, được trình duyệt web thực thi để thêm hành vi động cho trang web.
Các trang web có hành vi động có thể hoạt động như phần mềm ứng dụng, được gọi là
ứng dụng web.
1.2.2: Phân loại.
Website được chia làm 2 loại: Website tĩnh và Website động.
Một Website tĩnh là Website có các trang web được lưu trữ trên máy chủ ở định
dạng được gửi đến trình duyệt web của khách hàng. Nó được mã hóa chủ yếu bằng
HTML. CSS được sử dụng để kiểm soát giao diện HTML cơ bản. Hình ảnh thường
được sử dụng để tạo giao diện mong muốn và là một phần của nội dung chính. Âm
thanh hoặc video cũng có thể được coi là nội dung "tĩnh" nếu nó phát tự động hoặc
khơng có sự tương tác.
Hình 6: Mơ hình Website tĩnh.
Các trang web tĩnh vẫn có thể sử dụng các thành phần phía máy chủ (SSI) như
một tiện ích chỉnh sửa, chẳng hạn như chia sẻ thanh menu chung trên nhiều trang. Vì
hành vi của trang web đối với người đọc vẫn tĩnh, nên đây không được coi là một
trang web động.
Một Website động là Website được thay đổi hoặc tùy chỉnh thường xuyên và tự
động. Có nhiều hệ thống phần mềm khác nhau, chẳng hạn như CGI, Java Servlets và
Java Server Pages (JSP), Active Server Pages và ColdFusion (CFML) có sẵn để tạo
các hệ thống Website động và các trang web động. Nhiều khung ứng dụng Web và hệ
thống mẫu Web có sẵn cho các ngơn ngữ lập trình sử dụng chung như Perl, PHP,
Python và Ruby để giúp việc tạo các trang web động phức tạp trở nên nhanh chóng và
dễ dàng hơn.
Hình 7: Mơ hình Website động.
Các trang web động có thể tương tác bằng cách sử dụng biểu mẫu HTML, lưu
trữ và đọc lại cookie của trình duyệt hoặc bằng cách tạo ra một loạt các trang phản ánh
lịch sử nhấp chuột trước đó. HTML động sử dụng mã JavaScript để hướng dẫn trình
duyệt Web cách sửa đổi nội dung trang tương tác.
1.3: Khái niệm giao diện IoT.
Giao diện IoT, hay giao diện Web Dashboard được ứng dụng trong nền tảng
IoT cho phép người dùng theo dõi và tương tác với các thiết bị được kết nối thông qua
đồ thị, biểu đồ và các công cụ và yếu tố giao diện khác.
Hình 8: Một số IoT Dashboard.
Web Dashboard được ứng dụng trong nền tảng IoT với mục đích hiển thị dữ
liệu đã thu thập từ các cảm biến cả theo lịch sử và theo thời gian thực một cách trực
quan. Ngoài ra, để tận dụng tối đa dữ liệu đã thu thập, người sử dụng có thể kết hợp
các tập dữ liệu để tìm mối tương quan và lập trình các hành động dựa trên quy tắc.
Khả năng giám sát thiết bị IoT thời gian thực giúp người sử dụng biết được
thiết bị IoT của mình ở đâu và đang thu thập dữ liệu gì. Thông qua bảng điều khiển
thiết bị IoT, người sử dụng khơng chỉ có thể xem dữ liệu thu thập được mà còn điều
khiển được thiết bị từ xa, cũng như chia sẻ dữ liệu đó với khách hàng.
CHƯƠNG 2: KIẾN TRÚC WEBSITE VÀ
CÔNG NGHỆ SỬ DỤNG.
2.1: Thiết kế kiến trúc Website.
Trước khi đi vào xây dựng Website, chúng ta phải xây dựng được kiến trúc của
Website. Trong đề tài này, nhóm em xây dựng kiến trúc Website như sau:
Hình 9: Kiến trúc Website.
Trong đó, dữ liệu được thu thập thông qua cảm biến DHT11 từ nút cảm biến sử
dụng vi điều khiển ESP32 sẽ gửi về server MQTT Broker thơng qua giao thức MQTT,
sau đó sẽ được MQTT Broker gửi về máy chủ Web (Web Server). Web Server sau khi
nhận được dữ liệu từ MQTT Broker sẽ lưu dữ liệu nhận được vào cơ sở dữ liệu
MySQL, đồng thời thông qua giao thức WebSocket, dữ liệu sẽ được hiển thị lên Web
Dashboard. Khi có yêu cầu của người dùng từ Web Dashboard về Web Server nhằm
lấy dữ liệu từ cơ sở dữ liệu, Web Server sẽ sử dụng kỹ thuật AJAX (Asynchronous
JavaScript and XML) nhằm truy vấn dữ liệu được lưu trữ trong cơ sở dữ liệu và trả về
Web Dashboard.
2.2: Giao thức MQTT.
2.2.1: Khái niệm.
MQTT (Message Queuing Telemetry Transport) là một giao thức nhắn tin gọn
nhẹ được thiết kế để liên lạc nhẹ giữa các thiết bị và hệ thống máy tính. MQTT được
thiết kế ban đầu cho các mạng SCADA, các kịch bản sản xuất và băng thông thấp,
MQTT đã trở nên phổ biến gần đây do sự phát triển của Internet-of-Things (IoT).
Hình 10: Giao thức MQTT.
2.2.2: Mục đích.
MQTT được phát triển với mục tiêu cung cấp một giao thức truyền thông nhẹ
và đơn giản, dành riêng cho các ứng dụng IoT (Internet of Things). Giao thức này tập
trung vào việc truyền thơng tin nhanh chóng và hiệu quả giữa các thiết bị trong một
mạng IoT, với ưu điểm tối ưu hóa sử dụng băng thông và tiết kiệm năng lượng.
2.2.3: MQTT Broker và MQTT Client.
MQTT gồm 2 phần chính là Broker và Client:
2.2.3.1: MQTT Broker:
Định nghĩa: MQTT Broker là một máy chủ (server) hoặc dịch vụ trung gian
(intermediary service) mà các thiết bị MQTT kết nối tới để gửi và nhận các tin nhắn.
Nhiệm vụ chính của broker là đảm bảo rằng thơng điệp được định tuyến đúng đắn tới
đích.
Hình 11: MQTT Broker.