HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA BẢN I
BỘ MÔN IOT ỨNG DỤNG
Báo cáo bài tập lớn
Giảng viên hướng dẫn : Nguyễn Quốc Uy
Họ tên sinh viên : Nguyễn Khắc
Hưng
sinh viên : B21DCAT099
Nhóm : 06
Nội 2024
1
I. thuyết
1. Đặt vấn đề
Một hệ thống thời gian thực cho phép truyền dữ liệu từ cảm
biến để hiển thị cho người dùng. Người dùng thể tương tác
ngược lại cho thiết bị. Một hệ thống IoT đơn giản.
2. Mục tiêu
Hệ thống sử dụng hai cảm biến để thông báo nhiệt độ độ ẩm,
ánh sáng cho người dùng thông qua trang web thể truy cập
với mạng LAN. Trang web sẽ cung cấp nhiệt độ độ ẩm, ánh
sáng với dashboard hiển thị dễ nhìn, cho phép người dùng
thể xem thông tin nhiệt độ độ ẩm trực tiếp thời gian thực
thể điều khiển led.
3. Các thiết bị được sử dụng
3.1 ESP32 CH340
ESP32 CH340 một phiên bản của dòng ESP32 được trang bị
chip nạp (USB-to-Serial) . Phiên bản này giá thành hợp lý,CH340
dễ dàng kết nối với máy tính qua cổng USB, được sử dụng phổ
biến trong các dự án IoT tự động hóa. Dưới đây một số thông tin
chi tiết về ESP32 CH340.
ESP32 một vi điều khiển mạnh mẽ do Espressif Systems
phát triển, tích hợp cả Wi-Fi Bluetooth, giúp bạn dễ dàng
xây dựng các dự án IoT với khả năng kết nối không dây.
CH340 chip chuyển đổi USB-to-Serial phổ biến, giúp dễ
dàng kết nối ESP32 với máy tính nạp code từ các IDE như
Arduino IDE hoặc PlatformIO.
Với chip , bạn cần cài đặt tương ứng cho máyCH340 driver
tính để thể nhận dạng thiết bị. Driver này thể tải về từ
trang web của nhà sản xuất.
Thông số kỹ thuật :
Cổng nạp: Type C || Micro (tùy chọn trong phần phân
loại)
hình: ESP32 30 chân
Điện áp nguồn (USB): 5V DC
2
Đầu vào/Đầu ra điện áp: 3.3V DC
Công suất tiêu thụ: 5μA trong hệ thống treo chế độ
Hiệu suất: Lên đến 600 DMIPS
Tần số: lên đến 240MHz
Bộ nhớ: 448 Kbyte ROM, 520 Kbyte SRAM, 6 Kbyte
SRAM trên RTC QSPI Hỗ trợ đèn flash / SRAM chip
Chip USB-Serial: CP2102 hoặc CH340 (tùy chọn
trong phânloại).
Ăng ten: PCB
Bảo mật: IEEE 802.11, bao gồm cả WFA,
WPA/WPA2 WAPI
Phần cứng tăng tốc mật học: AES, SHA-2, RSA,
hình elip mật Đường Cong (ECC), số ngẫu nhiên Máy
phát điện (RNG)
3.2. DHT11
Cảm biến một loại cảm biến được sử dụng phổ biếnDHT11
trong các dự án IoT, nhà thông minh, hệ thống tự động hóa. Đây
một cảm biến tích hợp dùng để đo với thiết kế nhỏnhiệt độ độ ẩm
gọn, giá thành hợp dễ dàng sử dụng.
Thông số kỹ thuật :
Điện áp hoạt động: 5VDC.
Chuẩn giao tiếp: TTL, 1 wire.
Khoảng đo độ ẩm: 20%-80%RH sai số ± 5%RH.
Khoảng đo nhiệt độ: 0-50°C sai số ± 2°C.
Tần số lấy mẫu tối đa 1Hz (1 giây / lần).
Kích thước: 28mm x 12mm x10m.
DHT11 4 chân: VCC, DATA, NC, GND
Module DHT11 đã được gắn sẵn điện trở led báo
nguồn, nên 3 chân.
VCC: Nguồn 3.3 - 5.5VDC
DATA: Chân dữ liệu
GND: Nối đất, cực âm
3.3 Cảm biến ánh sáng
3
Cảm biến ánh sáng quang trở CDS tích hợp sẵn Op-amp
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, Cảm biến ánh sáng này thường dùng để nhận biết, 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.
4 chân: VCC, GND, Analog, Digital
Kích thước nhỏ gọn: 36x16mm
Xuất tín hiệu Digital rất dễ sử dụng
3.4 LED đỏ
THÔNG TIN SẢN PHẨM:
Góc sáng : 120°
Đường kính led : 5mm.
Màu led : đỏ
` Màu phát ra: Đỏ (620-625nm)
Cường độ sáng: 1000-2000 mcd
Điện áp / Dòng điện : 2V-2.2V | 20mA
4. Công nghệ sử dụng
4.1 NodeJS
Node.js một nền tảng nguồn mở, đa nền tảng, cho phép thực thi
JavaScript trên phía máy chủ (server-side). Được phát triển bởi Ryan Dahl
vào năm 2009, Node.js đã nhanh chóng trở thành một trong những công
nghệ phổ biến nhất trong lĩnh vực phát triển web nhờ vào khả năng xử
không đồng bộ (asynchronous) hiệu năng cao.
Node.js được xây dựng dựa trên của Google JavaScript Engine V8
Chrome, cho phép thực thi JavaScript với tốc độ cực nhanh. Điều này
đã giúp Node.js trở thành lựa chọn hàng đầu cho các ứng dụng web thời
gian thực (real-time), hệ thống máy chủ lưu lượng truy cập lớn, các
ứng dụng cần hiệu năng cao.
Đặc điểm nổi bật của Node.js
Không đồng bộ hướng sự kiện (Asynchronous & Event-driven):
4
- Node.js sử dụng hình non-blocking I/O, giúp tối ưu hóa hiệu
suất khi xử nhiều yêu cầu cùng lúc không làm chậm hệ
thống.
- Thích hợp cho các ứng dụng cần khả năng phản hồi nhanh như
chat, truyền phát video trực tiếp, hoặc các hệ thống thông tin
liên lạc.
Hiệu năng cao:
- Được xây dựng trên nền tảng V8 Engine của Google, Node.js
khả năng biên dịch thực thi JavaScript rất nhanh.
- Node.js sử dụng single-threaded event loop, cho phép xử
đồng thời hàng nghìn kết nối không cần sử dụng nhiều luồng
xử lý.
Khả năng mở rộng (Scalability):
- Hỗ trợ kiến trúc Microservices API-first, giúp dễ dàng mở
rộng bảo trì hệ thống.
- Node.js khả năng mở rộng cả theo chiều dọc
(vertical scaling) theo chiều ngang (horizontal
scaling).
Cộng đồng hệ sinh thái phong phú:
- NPM (Node Package Manager), kho thư viện nguồn mở lớn
nhất thế giới, cung cấp hàng triệu gói thư viện (packages) giúp
các nhà phát triển tiết kiệm thời gian công sức.
- Cộng đồng Node.js lớn mạnh với nhiều tài liệu hỗ trợ từ các
nhà phát triển trên toàn cầu.
Ứng dụng của Node.js
-Ứng dụng web thời gian thực: Chat trực tuyến, truyền phát
video, hệ thống thông báo tức thời.
-API server: Xây dựng các dịch vụ web dựa trên API RESTful
GraphQL.
4.2 MQTT
MQTT (Message Queuing Telemetry Transport) một giao thức truyền
thông nhẹ được thiết kế để truyền tải dữ liệu giữa các thiết bị kết nối mạng
với hiệu quả cao, độ tin cậy mức tiêu thụ băng thông thấp. MQTT được phát
triển bởi Andy Stanford-Clark (IBM) Arlen Nipper (Eurotech) vào năm 1999,
với mục đích ban đầu tối ưu hóa việc truyền dữ liệu từ các thiết bị từ xa qua
mạng không ổn định hoặc băng thông hạn chế.
5
Đặc điểm của giao thức MQTT
Nhẹ hiệu quả:
- MQTT sử dụng rất ít tài nguyên băng thông, thích hợp cho
các thiết bị phần cứng hạn chế như cảm biến, thiết bị IoT,
hệ thống nhúng.
- Kích thước gói tin nhỏ giúp giảm thiểu độ trễ khi truyền tải dữ
liệu.
Kiến trúc hướng chủ đề (Topic-based):
- MQTT sử dụng hình publish/subscribe (xuất bản/đăng ký)
thay hình truyền thống client-server.
- Dữ liệu được gửi đến các topic (chủ đề) các thiết bị thể
subscribe (đăng ký) các topic để nhận dữ liệu liên quan.
Tính linh hoạt khả năng mở rộng cao:
- MQTT phù hợp cho các hệ thống phân tán với số lượng lớn thiết
bị kết nối, dụ như nhà thông minh, hệ thống giám sát từ xa,
hoặc các ứng dụng IoT quy lớn.
- Hỗ trợ các cấu hình bảo mật như SSL/TLS, giúp đảm bảo an
toàn cho dữ liệu truyền tải.
Ứng dụng của MQTT
Internet of Things (IoT): MQTT lựa chọn phổ biến trong các ứng dụng
IoT, như:
- Nhà thông minh: Điều khiển đèn, quạt, máy điều hòa, hoặc các
cảm biến đo nhiệt độ độ ẩm.
- Giám sát từ xa: Thu thập dữ liệu từ các cảm biến, như cảm biến
môi trường, hệ thống cảnh báo cháy nổ.
- Theo dõi tài sản: Dùng cho các ứng dụng theo dõi xe cộ, vận
chuyển hàng hóa.
Dịch vụ thời gian thực:
- Hệ thống cảnh báo, ứng dụng chat, các dịch vụ yêu cầu cập
nhật nhanh chóng.
- Truyền phát dữ liệu từ các thiết bị IoT với độ trễ thấp.
II. Thực hành
1. Thiết kế mạch cách hoạt động
6
Hình 1: Mạch đẵ được thiết kế
Mạch bao gồm:
+4 LED trong đó 3 LED dùng điều khiển 1 LED cảnh báo:
- LED1 : DPIN 18
- LED2 : DPIN19
- LED3 : DPIN21
- LED4 : DPIN22
+ 2 cảm biến DHT11 cảm biến ánh sáng CDS
- DHT11 : DPIN4
- Cảm biến ánh sáng CDS
Cách thức hoạt động của hình :
7
Hình 2: Biểu đồ hoạt động của web
2. DATAbase :
+Bao gồm 4 bảng :
Hình 3: Bảng Database
- Bảng Bai_5 : Lưu lại giá trị của bài thực hành 5
- Bảng Devices : Lưu lại các thiết bị
- Bảng esp32_data : Lưu lại giá trị cảm biến
- Bảng switch_states: Lưu lại khi bật tắt thiết bị
3. Giao diện web :
DashBoard: Bao gồm 3 tag để hiển thị các thông tin , bảng điều khiển
thiết bị, biểu đồ:
8
Hình 4: Giao diện Dashboard
Device History : Bao gồm bảng hiển thị bật tắt thiết bị , tìm kiếm
theo ngày tháng
Hình 5: Giao diện Device History
Data Sensor :Bao gồm bảng hiển thị thông tin từ các cảm biến ,
thể tìm kiếm theo các giá trị được lựa chọn như nhiệt độ , độ ẩm , ánh sáng
, ngày tháng
9
Hình 6: Giao diện DataSensor
User Profile: Bao gồm các thông tin nhân của sinh viên:
Hình 7: Giao diện User Profile
Bài 5 : Bao gồm các tag để hiển thị tốc độ gió , biểu đồ tốc dộ ’’
gió cảnh báo nếu tốc độ gió vượt quá 60m/s
10
Hình 8: Giao diện bài báo cáo
4. Code BE
4.1 file back_end.js
- Bao gồm các kết nối liên quan đến phần gửi data về database lấy trạng
thái bật tắt thiết bị bật tắt.
Hình 9: file back_end.js
11
Hình 10: file back_end.js
4.2 file server.js
- Bao gồm các API giúp lấy data từ database gửi thông tin bật tắt từ FE về
esp32 để thực hiện bật bắt thiết bị.
Hình 11: Hàm giúp gửi yêu cầu về esp32 thông qua topic esp32/devices_control
4.2 file Server.js
- import các thư viện kết nối với sở dữ liệu mysql
12
Hình 12: Khởi tạo các thư viện kết nối với mysql
- Hàm kết nối với mqtt qua cổng mặc định
13
Hình 13: khởi tạo kết nối với mqtt hàm gửi yêu cầu lên esp32/devices_control
14
- Api giúp tìm kiếm data lấy data từ sở dữ liệu
Hình 13: Api search sensor data
15
Hình 13: Api search sensor data
- Api giúp tìm kiếm thông tin liên quan đến bật tắt thiết bị
16
Hình 14: Api search switch state
17
18
19
20

Preview text:

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG KHOA CƠ BẢN I
BỘ MÔN IOT VÀ ỨNG DỤNG
Báo cáo bài tập lớn
Giảng viên hướng dẫn : Nguyễn Quốc Uy
Họ và tên sinh viên : Nguyễn Khắc Hưng Mã sinh viên : B21DCAT099 Lớp : IOT và ứng dụng Nhóm : 06
Hà Nội – 2024 1 I. Lý thuyết 1. Đặt vấn đề
Một hệ thống thời gian thực cho phép truyền dữ liệu từ cảm
biến để hiển thị cho người dùng. Người dùng có thể tương tác
ngược lại cho thiết bị. Một hệ thống IoT đơn giản. 2. Mục tiêu
Hệ thống sử dụng hai cảm biến để thông báo nhiệt độ và độ ẩm,
ánh sáng cho người dùng thông qua trang web có thể truy cập
với mạng LAN. Trang web sẽ cung cấp nhiệt độ và độ ẩm, ánh
sáng với dashboard hiển thị dễ nhìn, cho phép người dùng có
thể xem thông tin nhiệt độ và độ ẩm trực tiếp ở thời gian thực
và có thể điều khiển led.
3. Các thiết bị được sử dụng 3.1 ESP32 CH340
ESP32 CH340 là một phiên bản của dòng ESP32 được trang bị chip nạp (USB-to-Serial) .
CH340 Phiên bản này có giá thành hợp lý,
dễ dàng kết nối với máy tính qua cổng USB, và được sử dụng phổ
biến trong các dự án IoT và tự động hóa. Dưới đây là một số thông tin chi tiết về ESP32 CH340.
ESP32 là một vi điều khiển mạnh mẽ do Espressif Systems
phát triển, tích hợp cả Wi-Fi và Bluetooth, giúp bạn dễ dàng
xây dựng các dự án IoT với khả năng kết nối không dây.
CH340 là chip chuyển đổi USB-to-Serial phổ biến, giúp dễ
dàng kết nối ESP32 với máy tính và nạp code từ các IDE như Arduino IDE hoặc PlatformIO. ● Với chip ,
CH340 bạn cần cài đặt driver tương ứng cho máy
tính để có thể nhận dạng thiết bị. Driver này có thể tải về từ
trang web của nhà sản xuất.
● Thông số kỹ thuật :
Cổng nạp: Type C || Micro (tùy chọn trong phần phân loại) Mô hình: ESP32 30 chân
Điện áp nguồn (USB): 5V DC 2
Đầu vào/Đầu ra điện áp: 3.3V DC
Công suất tiêu thụ: 5μA trong hệ thống treo chế độ
Hiệu suất: Lên đến 600 DMIPS Tần số: lên đến 240MHz
Bộ nhớ: 448 Kbyte ROM, 520 Kbyte SRAM, 6 Kbyte
SRAM trên RTC và QSPI Hỗ trợ đèn flash / SRAM chip
Chip USB-Serial: CP2102 hoặc CH340 (tùy chọn trong phânloại). Ăng ten: PCB
Bảo mật: IEEE 802.11, bao gồm cả WFA, WPA/WPA2 và WAPI
Phần cứng tăng tốc mật mã học: AES, SHA-2, RSA,
hình elip mật mã Đường Cong (ECC), số ngẫu nhiên Máy phát điện (RNG) 3.2. DHT11 Cảm biến DHT11
một loại cảm biến được sử dụng phổ biến
trong các dự án IoT, nhà thông minh, và hệ thống tự động hóa. Đây là
một cảm biến tích hợp dùng để đo nhiệt độ độ ẩm với thiết kế nhỏ
gọn, giá thành hợp lý và dễ dàng sử dụng. Thông số kỹ thuật :
Điện áp hoạt động: 5VDC.
Chuẩn giao tiếp: TTL, 1 wire.
Khoảng đo độ ẩm: 20%-80%RH sai số ± 5%RH.
Khoảng đo nhiệt độ: 0-50°C sai số ± 2°C.
Tần số lấy mẫu tối đa 1Hz (1 giây / lần).
Kích thước: 28mm x 12mm x10m.
DHT11 có 4 chân: VCC, DATA, NC, GND
Module DHT11 đã được gắn sẵn điện trở và led báo nguồn, nên có 3 chân. VCC: Nguồn 3.3 - 5.5VDC DATA: Chân dữ liệu GND: Nối đất, cực âm 3.3 Cảm biến ánh sáng 3
Cảm biến ánh sáng quang trở CDS có tích hợp sẵn Op-amp 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, Cảm biến ánh sáng này thường dùng để nhận biết, 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.
4 chân: VCC, GND, Analog, Digital
Kích thước nhỏ gọn: 36x16mm
Xuất tín hiệu Digital rất dễ sử dụng 3.4 LED đỏ THÔNG TIN SẢN PHẨM: Góc sáng : 120° Đường kính led : 5mm. Màu led : đỏ `
Màu phát ra: Đỏ (620-625nm)
Cường độ sáng: 1000-2000 mcd
Điện áp / Dòng điện : 2V-2.2V | 20mA
4. Công nghệ sử dụng 4.1 NodeJS
Node.js là một nền tảng mã nguồn mở, đa nền tảng, cho phép thực thi
JavaScript trên phía máy chủ (server-side). Được phát triển bởi Ryan Dahl
vào năm 2009, Node.js đã nhanh chóng trở thành một trong những công
nghệ phổ biến nhất trong lĩnh vực phát triển web nhờ vào khả năng xử lý
không đồng bộ (asynchronous) và hiệu năng cao.
Node.js được xây dựng dựa trên JavaScript Engine V8 của Google
Chrome, cho phép thực thi mã JavaScript với tốc độ cực nhanh. Điều này
đã giúp Node.js trở thành lựa chọn hàng đầu cho các ứng dụng web thời
gian thực (real-time), hệ thống máy chủ có lưu lượng truy cập lớn, và các
ứng dụng cần hiệu năng cao.
Đặc điểm nổi bật của Node.js
Không đồng bộ và hướng sự kiện (Asynchronous & Event-driven): 4
- Node.js sử dụng mô hình non-blocking I/O, giúp tối ưu hóa hiệu
suất khi xử lý nhiều yêu cầu cùng lúc mà không làm chậm hệ thống.
- Thích hợp cho các ứng dụng cần khả năng phản hồi nhanh như
chat, truyền phát video trực tiếp, hoặc các hệ thống thông tin liên lạc. Hiệu năng cao:
- Được xây dựng trên nền tảng V8 Engine của Google, Node.js có
khả năng biên dịch và thực thi JavaScript rất nhanh.
- Node.js sử dụng single-threaded event loop, cho phép xử lý
đồng thời hàng nghìn kết nối mà không cần sử dụng nhiều luồng xử lý.
Khả năng mở rộng (Scalability):
- Hỗ trợ kiến trúc Microservices và API-first, giúp dễ dàng mở
rộng và bảo trì hệ thống.
- Node.js có khả năng mở rộng cả theo chiều dọc
(vertical scaling) và theo chiều ngang (horizontal scaling).
Cộng đồng và hệ sinh thái phong phú:
- NPM (Node Package Manager), kho thư viện mã nguồn mở lớn
nhất thế giới, cung cấp hàng triệu gói thư viện (packages) giúp
các nhà phát triển tiết kiệm thời gian và công sức.
- Cộng đồng Node.js lớn mạnh với nhiều tài liệu và hỗ trợ từ các
nhà phát triển trên toàn cầu. Ứng dụng của Node.js
-Ứng dụng web thời gian thực: Chat trực tuyến, truyền phát
video, và hệ thống thông báo tức thời.
-API server: Xây dựng các dịch vụ web dựa trên API RESTful và GraphQL. 4.2 MQTT
MQTT (Message Queuing Telemetry Transport) là một giao thức truyền
thông nhẹ được thiết kế để truyền tải dữ liệu giữa các thiết bị có kết nối mạng
với hiệu quả cao, độ tin cậy và mức tiêu thụ băng thông thấp. MQTT được phát
triển bởi Andy Stanford-Clark (IBM) và Arlen Nipper (Eurotech) vào năm 1999,
với mục đích ban đầu là tối ưu hóa việc truyền dữ liệu từ các thiết bị từ xa qua
mạng không ổn định hoặc có băng thông hạn chế. 5
Đặc điểm của giao thức MQTT Nhẹ và hiệu quả:
- MQTT sử dụng rất ít tài nguyên và băng thông, thích hợp cho
các thiết bị có phần cứng hạn chế như cảm biến, thiết bị IoT, và hệ thống nhúng.
- Kích thước gói tin nhỏ giúp giảm thiểu độ trễ khi truyền tải dữ liệu.
Kiến trúc hướng chủ đề (Topic-based):
- MQTT sử dụng mô hình publish/subscribe (xuất bản/đăng ký)
thay vì mô hình truyền thống client-server.
- Dữ liệu được gửi đến các topic (chủ đề) và các thiết bị có thể
subscribe (đăng ký) các topic để nhận dữ liệu liên quan.
Tính linh hoạt và khả năng mở rộng cao:
- MQTT phù hợp cho các hệ thống phân tán với số lượng lớn thiết
bị kết nối, ví dụ như nhà thông minh, hệ thống giám sát từ xa,
hoặc các ứng dụng IoT quy mô lớn.
- Hỗ trợ các cấu hình bảo mật như SSL/TLS, giúp đảm bảo an
toàn cho dữ liệu truyền tải. Ứng dụng của MQTT
Internet of Things (IoT): MQTT là lựa chọn phổ biến trong các ứng dụng IoT, như:
- Nhà thông minh: Điều khiển đèn, quạt, máy điều hòa, hoặc các
cảm biến đo nhiệt độ và độ ẩm.
- Giám sát từ xa: Thu thập dữ liệu từ các cảm biến, như cảm biến
môi trường, hệ thống cảnh báo cháy nổ.
- Theo dõi tài sản: Dùng cho các ứng dụng theo dõi xe cộ, vận chuyển hàng hóa.
Dịch vụ thời gian thực:
- Hệ thống cảnh báo, ứng dụng chat, và các dịch vụ yêu cầu cập nhật nhanh chóng.
- Truyền phát dữ liệu từ các thiết bị IoT với độ trễ thấp. II. Thực hành
1. Thiết kế mạch và cách hoạt động 6
Hình 1: Mạch đẵ được thiết kế Mạch bao gồm:
+4 LED trong đó có 3 LED dùng điều khiển và 1 LED cảnh báo: - LED1 : DPIN 18 - LED2 : DPIN19 - LED3 : DPIN21 - LED4 : DPIN22
+ 2 cảm biến DHT11 và cảm biến ánh sáng CDS - DHT11 : DPIN4 - Cảm biến ánh sáng CDS
Cách thức hoạt động của mô hình : 7
Hình 2: Biểu đồ hoạt động của web 2. DATAbase : +Bao gồm có 4 bảng : Hình 3: Bảng Database
- Bảng Bai_5 : Lưu lại giá trị của bài thực hành 5
- Bảng Devices : Lưu lại các thiết bị
- Bảng esp32_data : Lưu lại giá trị cảm biến
- Bảng switch_states: Lưu lại khi bật tắt thiết bị 3. Giao diện web :
DashBoard: Bao gồm 3 tag để hiển thị các thông tin , bảng điều khiển thiết bị, biểu đồ: 8 Hình 4: Giao diện Dashboard
Device History : Bao gồm bảng hiển thị bật tắt thiết bị , tìm kiếm theo ngày tháng
Hình 5: Giao diện Device History
Data Sensor :Bao gồm bảng hiển thị thông tin từ các cảm biến , có
thể tìm kiếm theo các giá trị được lựa chọn như nhiệt độ , độ ẩm , ánh sáng , ngày tháng 9
Hình 6: Giao diện DataSensor
User Profile: Bao gồm các thông tin cá nhân của sinh viên:
Hình 7: Giao diện User Profile
Bài 5 : Bao gồm các tag để hiển thị tốc độ gió , biểu đồ tốc dộ ’’
gió và cảnh báo nếu tốc độ gió vượt quá 60m/s 10
Hình 8: Giao diện bài báo cáo 4. Code BE 4.1 file back_end.js -
Bao gồm các kết nối liên quan đến phần gửi data về database và lấy trạng
thái bật tắt thiết bị bật tắt. Hình 9: file back_end.js 11 Hình 10: file back_end.js 4.2 file server.js
- Bao gồm các API giúp lấy data từ database và gửi thông tin bật tắt từ FE về
esp32 để thực hiện bật bắt thiết bị.
Hình 11: Hàm giúp gửi yêu cầu về esp32 thông qua topic esp32/devices_control 4.2 file Server.js
- import các thư viện và kết nối với cơ sở dữ liệu mysql 12
Hình 12: Khởi tạo các thư viện và kết nối với mysql
- Hàm kết nối với mqtt qua cổng mặc định 13
Hình 13: khởi tạo kết nối với mqtt cà hàm gửi yêu cầu lên esp32/devices_control 14
- Api giúp tìm kiếm data và lấy data từ cơ sở dữ liệu
Hình 13: Api search sensor data 15
Hình 13: Api search sensor data
- Api giúp tìm kiếm thông tin liên quan đến bật tắt thiết bị 16
Hình 14: Api search switch state 17 18 19 20