Thứ hai: Với sự thay đổi thất thường của khí hậu hiện nay, việc nắm được chính xácnhiệt độ và độ ẩm của môi trường sống giúp chúng ta chủ động được cách thức sinh hoạtphù hợp để dáp ứng
Trang 1ĐẠI HỌC XÂY DỰNG KHOA CÔNG NGHỆ THÔNG TIN
Trang 2Ngày Công việc đã kiểm tra Công việc giao buổi sau Ghi chú
Nộp bản Sáu 10/12
Các nội dung khác như: sản phẩm nếu có: Gửi riêng vào thư mục
Trang 4Ảnh 14 Dữ liệu đẩy lên testtopic
Ảnh 15 Dữ liệu trên firebase
Ảnh 16 Chi tiết dữ liệu trên firebase
Ảnh 17 Giao diện khởi động
Ảnh 18 Giao diện xem nhiệt độ, độ ẩm
Ảnh 19 Giao diện dữ liệu
Ảnh 20 Giao diện chi tiết dữ liệu
Trang 5I TỔNG QUAN ĐỀ TÀI
1 ĐẶT VẤN ĐỀ
Thứ nhất: Hiện nay hiện tượng cháy nổ diễn ra rất thường xuyên, phức tạp và gây hậuquả rất nghiêm trọng Hiện tượng này gây ra thiệt hại nghiêm trọng về người, tài sản kéotheo nhiều hệ lụy cho môi trường và xã hội gây hoang mang trong dư luận Đặc biệt việccháy nổ hình thành do những nguyên nhân có thể rất nhỏ, tuy nhiên do không được pháthiện kịp thời dẫn đến bùng phát gây hậu quả nghiêm trọng Điều này đặt ra nhu cầu vềmột công cụ có thể cảnh báo trước những nguy cơ cháy nổ, để có phương án kịp thờiphòng tránh Và một ứng dụng theo dõi nhiệt độ từ xa có thể đáp ứng nhu cầu này Nógiúp chúng ta cập nhật liên tục nhiệt độ tại bất kì đâu chúng ta muốn theo dõi, đặc biệt lànhững nơi có nguy cơ cháy nổ cao Nếu có sự tăng bất thường của nhiệt độ tức là có nguy
cơ xảy ra cháy nổ Khi nắm được thông tin cập nhật, chúng ta sẽ kịp thời đưa ra được giảipháp để khắc phục
Thứ hai: Với sự thay đổi thất thường của khí hậu hiện nay, việc nắm được chính xácnhiệt độ và độ ẩm của môi trường sống giúp chúng ta chủ động được cách thức sinh hoạtphù hợp để dáp ứng nhu cầu của cơ thể trong các điều kiện môi trường khác nhau Ví dụnhư vào một ngày khô hanh chúng ta có thể nắm được và chủ động cung cấp đủ nước cho
cơ thể Điều này thực sự quan trọng khi bạn cần để chăm sóc trẻ em hoặc người già Như vậy, với ứng dụng theo dõi nhiệt độ chúng ta đã giải quyết được cả hai vấn đề nêutrên Nó thực sự là một ứng dụng cần thiết cho bất kì người dùng nào bỏi tính thực tế vàhiệu quả nó mang lại
2 ĐỊNH HƯỚNG THIẾT KẾ
Quá trình xây dựng ứng dụng sẽ không đi sâu về lắp đặt thiết bị phần cứng và bộ vi điều khiển mà chỉ quan tâm đến việc xây dựng ứng dụng giao tiếp với người dùng và các thiết bị cảm biến nhiệt ( Đặc biệt là phần giao diện đồ họa của ứng dụng )
Ứng dụng có thể sử dụng trên các thiết bị Android có kết nối mạng
- Công nghệ sử dụng
Trang 6- Mục tiêu đề tài:
● Xây dựng ứng dụng giám sát nhiệt độ, độ ẩm Cập nhật thông tin chỉ số nhiệt độ
độ ẩm liên tục theo thời gian
● Lưu trữ, cung cấp dữ liệu nhiệt độ, độ ẩm đo được theo thời gian một cách dầy đủ nhất cho người dùng
● Các thao tác với giao diện đơn giản, thuận tiện và dễ dàng sử dụng Thông tin được trình bày rõ ràng, dễ dàng nắm bắt
● Cảnh báo cho người dùng khi giá trị đo được có dấu hiệu bất thường để kịp thời
● Xem nhiệt độ và độ ẩm hiện tại
● Cảnh báo sự bất thường của dữ liệu đo được
● Xem dữ liệu đã được đo và thống kê theo thời gian
- Mô tả chức năng:
● Xem nhiệt độ, độ ẩm: Người dùng lựa chọn chức năng xem nhiệt độ, đồ ẩm Lúc này giao diện xem nhiệt độ độ ẩm sẽ được bật và dữ liệu đo được tại thời điểm hiện tại được tải lên trên giao diện
● Cảnh báo: Kho nhiệt độ tăng quá mức giới hạn, ứng dụng sẽ gửi một cảnh báo chongười dùng ngay trên giao diện xem nhiệt độ độ ẩm
● Thống kê dữ liệu: Toàn bộ giá trị nhiệt độ độ ẩm đã đo sẽ được lưu lại và thống kê theo thời gian Khi người dùng chọn chức năng xem sẽ chuyển đến giao diện lưu trữ Tại đây người dùng có thể xem dữ liệu được lưu bằng cách lựa chọn ngày cần xem.Khi người dùng lựa chọn ngày bất kì, toàn bộ dữ liệu nhiệt độ, độ ẩm được đongày hôm đó sẽ được mở ra
Trang 8- Dây Data
nh 3 Dây data Ả
- Board
nh 4 Board Ả
Trang 9- Dây nối
nh 5 Dây nốếi Ả
Trang 10III CHẠY THIẾT BỊ
1 CODE ADUINO
+ Tiến hành mở file main.ino có đường dẫn
“DA_DHMT_Nhom_Hiep_Cuong\Code_arduino\ionic\main\main.ino”
nh 7 Code Arduino Ả
Tại đây chúng ta thay đổi tên và mật khẩu wifi theo wifi chúng ta sử dụng:
char ssid[] = "matkhauwifi"; // Tên wifi
char pass[] = "12345679"; // Mật khẩu
Trang 11+ Chọn Tools Board NodeMCU 1.0(ESP Module)� �
nh 8 Ch n board
Trang 12+ Chọn Tools Port COM5 //� � Việc chọn cổng phụ thuộc vào cổng bạn đang sử dụng
nh 9 Ch n c ng
Trang 132 KẾT NỐI HIVEMQ
+ Chúng ta truy cập địa chỉ: http://www.hivemq.com/demos/websocket-client/
nh 10 Kếết nốếi HiveMQ Ả
+ Chọn Connect Add New Topic Subscription�
Nhập testtopic/1 rồi chọn Subscribe
nh 11 T o testtopic
Trang 143 UPLOAD CODE
Chọn để upload code lên thiết bị đã được kết nối
nh 12 Upload code Ả
Trang 15+ Chờ cho quá trình upload code hoàn tất
Chúng ta có thể mở Serial Monitor để xem kết quả chạy code
nh 13 Serial Monitor Ả
Trang 16+ Lúc này dữ liệu nhiệt độ, độ ẩm đo được sẽ được đẩy lên testtopic chúng ta đã tạo ở bước trước
nh 14 D li u đ y lến testtopic
Trang 17+ Đồng thời dữ liệu được đẩy lên Firebase
Đường dẫn Firebase lưu dữ liệu nhiệt độ, độ ẩm phục vụ ứng dụng này
https://console.firebase.google.com/project/temperature-be828/database/temperature-be828/data // Tài kho n và c s d li u đ ả ơ ở ữ ệ ượ ạ c t o b i hai thành viến Lế Vắn Th c và Phan Quốếc Nh t ở ụ ậ+ Dữ liệu trên Firebase được lưu trữ như sau
nh 15 D li u trến firebase
Trang 18+ Chi tiết dữ liệu trên Firebase
nh 16 Chi tiếết d li u trến firebase
Trang 19IV GIAO DIỆN ỨNG DỤNG VÀ HƯỚNG DẪN SỬ DỤNG
1 GIAO DIỆN KHỞI ĐỘNG
- Tại giao diện khởi động, người dùng có 2 lựa chọn:
● Chuyển tới giao diện xem nhiệt độ, độ ẩm Người dùng có hai cách thực hiện điều này Người dùng click vào “ Sensor ”hoặc chọn censor để thực hiện chức năng này
● Chuyển tới giao diện xem dữ liệu nhiệt độ độ ẩm đã được lưu lại theo thời gian cụ thể Người dùng click vào “Data” hoặc chọn data để thực hiện chức năng này
Trang 20nh 17 Giao di n kh i đ ng
2 GIAO DIỆN XEM NHIỆT ĐỘ ĐỘ ẨM
- Tại giao diện này, người dùng được cung cấp giá trị nhiệt độ độ ẩm được đo tại thời điểm này Nếu dữ liệu đo được vượt qua mức giới hạn, người dùng sẽ nhận được cảnh báo ngay trên giao diện này để nắm bắt được vấn đề cần giải quyết
Trang 21nh 18 Giao di n xem nhi t đ , đ m
3 GIAO DIỆN DỮ LIỆU
- Tại giao diện này hiển thị danh sách các ngày liên tục từ lúc người dùng sử dụng ứng dụng Đây chính là danh sách để người dùng có thể xem lại dữ liệu đo được từ các ngày
Trang 22nh 19 Giao di n d li u
Trang 234 GIAO DIỆN DỮ LIỆU NHIỆT ĐỘ, ĐỘ ẨM THEO NGÀY
- Tại đây cung cấp đầy đủ từng mốc thời gian và dữ liệu nhiệt độ, độ ẩm đo được trong ngày được chọn
nh 20 Giao di n chi tiếết d li u
Trang 24<a class="checkTemperature"[routerLink]="[ '/tabs/sensor' ]">Sensor</a>
<a class="checkTemperature"[routerLink]="[ '/tabs/data' ]">Data</a>
<ion-contentclass="main">
<divclass="details">
<h2><strong>Thời điểm</strong></h2>
<p>{{date | date: 'dd/MM/yyyy'}}</p>
Trang 25<ion-item[href]="'/data-detail/' + date"routerDirection="forward">
<p>Dữ liệu ngày: </p>
<ion-item-optionsside="end">
<ion-item-option color="danger"(click)="delete(date, i)">
<ion-iconslot="icon-only"name="trash"style="color: beige;"></ion-icon> </ion-item-option>
</ion-item-options>
</ion-item-sliding>
</ion-list>
</ion-content>
Trang 264 Data-detail.page.html
<ion-header>
<ion-toolbar translucent text-center>
<ion-buttonsslot="start">
<ion-back-buttondefaultHref="/tabs/data"></ion-back-button>
<ion-item-optionsside="end">
<ion-item-option color="danger"(click)="delete(d.timeKey, i)">
<ion-iconslot="icon-only"name="trash"style="color: beige;"></ion-icon> </ion-item-option>
</ion-item-options>
</ion-item-sliding>
</ion-list>
</ion-content>
Trang 275 index.html
<!DOCTYPEhtml>
<htmllang="en">
<head>
<meta charset="utf-8" />
<title>Nhat&Thuc</title>
<basehref="/" />
<meta name="viewport"content="viewport-fit=cover, width=device-width, scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name="format-detection"content="telephone=no"/>
<meta name="msapplication-tap-highlight"content="no" />
<linkrel="icon"type="image/png"href="assets/icon/favicon.png" />
<! add to homescreen for ios >
<meta name="apple-mobile-web-app-capable"content="yes" />
<meta name="apple-mobile-web-app-status-bar-style"content="black" />
Trang 28VII Tài liệu tham khảo
Website:
https://ionicframework.com/docs/
https://firebase.google.com/docs
webapp