LỜI CẢM ƠN Đề hoàn thành được báo cáo thực bài tập lớn môn học IOT va ung dung nhóm lớp 05 thì em xin cảm ơn tới thầy Nguyễn Quốc Uy đã luôn nhiệt tình chỉ dẫn, giảng dạy cho em những ki
Trang 1
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA CÔNG NGHỆ THÔNG TIN
Trang 2
LỜI CẢM ƠN
Đề hoàn thành được báo cáo thực bài tập lớn môn học IOT va ung dung nhóm lớp 05 thì em xin cảm ơn tới thầy Nguyễn Quốc Uy đã luôn nhiệt tình chỉ dẫn, giảng dạy cho em những kiến thức về môn học để em có thê hoàn thiện tốt nhất
Em xin chân thành cảm ơn!
Hà Nội, ngày 23 tháng 10 năm 2024
Trang 34.5.3 : Api lay lich str hoat déng ctia Device
4.6: Frontend (Himl,Css, JavaScript):
4.6.1 Feich dữ liệu từ Server
CHUONG 5: KET QUA
Trang 4CHƯƠNG 1: GIỚI THIỆU BÀI TOÁN
Trang 5CHƯƠNG 2 : CÁC CHỨC NĂNG
2.1: Các chức năng cơ bản
- _ Xem các thông tin nhiệt độ, độ âm , ánh sáng realtime qua cảm biến
- _ Điều khiên bật tắt 3 thiết bị socket và giao thức matt: Đèn, Quạt, Điều hòa
độ âm, ánh sáng, thời gian
- _ Xem lịch sử bật tắt thiết bị: Tìm kiếm theo thời gian, loại thiết bị, hành
động Sắp xếp theo thời gian
2.2: Các thiết bị sử dụng
- Cam bién do nhiét d6 , d6 4m DHT11
Trang 6CHƯƠNG 3 : GIAO DIỆN
Hình 1 : Dashboard
3.2 Data Sensor:
Trang 7- Hiển thị bảng dữ liệu của Data Sensor gồm 5 cột ID, Nhiệt Độ, Độ Âm, Ánh Sang, Thoi Gian
pe re e
6
ID Nhiệt Độ Độ Ấm FT) ps1] Thời Gian
7 302 48 1768 2024-10-16 11:43:22
8 302 48 1767 2024-10-16 11:43:25
9 20> 42 T7&% 2024-10-16 1-4%$28
Hình 2 : Data Sensor
Trang 8- Thanh tìm kiếm cho phép người dùng tìm kiếm theo ngày Bộ lọc gồm sort, sort type
Trang 93.3 Device Activity
Hiển thị danh sách lịch sử hoạt động của các thiết bị
Thanh tìm kiếm cho phép người dùng tìm kiếm dữ liệu theo thời gian Bộ lọc
gồm thiết bị, hành động Sắp xếp theo thời gian
' ROU re (Ss
ô
GUD CUP CITED 2
ID Thiết Bị Hành Động Thời Gian
2 Điều hòa OFF 2024-10-04 16:44:35
Trang 10Zz Điều hòa OFF 2024-10-04 16:44:35
6 Điều hòa OFF 2024-10-09 10:59:51
12 Điều hòa OFF 2024-10-09 11:46:08
18 Điều hòa OFF 2024-10-09 11:49:13
24 Điều hòa OFF 2024-10-09 11:52:21
| a Điều hòa OFF 2024-10-09 12:59:14
35 Điều hòa OFF 2024-10-09 13:05:08
39 Điều hòa OFF 2024-10-09 13:06:06
wn Diz AS nec ^^2⁄ 1a na 132-5a.6©.
Trang 113.4 Profile:
Giao diện hiển thị thông tin cá nhân và đường dẫn đến báo cáo.pdf, git project
va api docs cua dv an
8
My Profile 1OT CONTROL
Họ và Tên: Đào Tùng Lâm DASHBOARD Mã Sinh Viên: B2IDCCN475
1OT CLASS: 05 Quê quán: Hải Dương
Da tart Github Link: https://github.com/fixsnakes
PDF LINK Api Docs: Postman Document
10
Trang 12CHUONG 4 : THIET KE HE THONG
11
Trang 14Dây nói
Trang 15Hinh 11: 7hiét ké mach
4.3.3: Lap trinh cho mach diéu khién ESP32
Su dung IDE Arduino Voi Cac Thu Vién PubSub, Wifi Voi ESP32
Các thành phân của mã nguồn:
- _ Ineulde các thư viện, setup mdft username,password Define pin cho các chân
9
Trang 16void setup _wifi() {
Trang 17// Hàm callback khi nhận được tin nhẳn từ MQTT
void callback(char* topic, byte* payload, unsigned int length) { String message;
for (int i = @; i < length; i++) {
Trang 18Serial.println( "Ðiều hòa bật”);
client.pub1lish( ”esp32/dieuhoaStatus”, ”ON”) ;
} else if (message == "OFF") {
Serial.println( "Điều hòa tắt");
} else if (message == "OFF") {
Trang 19} else if (message == "OFF") {
Trang 20Chương trình từ ESP32 được cài đặt để pub/sub tới Mosquitto Broker Điều này giúp
giao tiếp giữa Backend Server và ESP32 thông qua giao thức mdft (một giao thức phù hợp cho các thiết bị IoT)
4.4 Backend
4.4.1: Thiết kế cơ sở dữ liệu
Cơ sở dữ liệu gồm 2 bảng
19
Trang 21Hình 12: Thiér kế cơ sở đữ liệu
Cac bang trong database:
20
Trang 22- _ devicehistory: chứa lịch sử bật tắt các Led
- data sensor: lich sử dữ liệu từ 3 độ đo cảm biến
humidity FLOAT độ âm
21
Trang 23
Hinh 17: API Docs PostMan
4.5.1: Api lẫy 4 dữ liệu gần nhất của DataSensor cho biếu đồ:
22
Trang 254.5.2: Api lấy lịch sử dữ liệu của Data Sensor
Trang 264.5.3: : Api lay lịch sử hoạt động của Device:
Trang 284.6.1 Lấy dữ liệu từ Server
Đề tương tác với Backend Server tương tác thông qua 2 hình thức tương ứng với mục đích riêng:
+ Với đữ liệu realtime (độ đo từ các cảm biến):
Sử dụng thông qua socket.io, mở công kết nỗi và lắng nghe các topic từ phía Server
+ Với vấn đề tương tác qua api:
Sử dụng fetch request qua các http request va nhận về các response từ server
27
Trang 29const express = require
const http = require
const socketio = require
const server = http.createServer (app) listen
const io = socketio(server
Trang 30document
= document
D291 oa rtType,valu
h
29
Trang 31console log(message toString());
io.emit('statusAir’, message toString());
UpdateDataDevice(”Điều hòa” ;message.toString() ;formatdate()