đồ án ứng dụng theo dõi nhiệt độ độ ẩm sử dụng cảm biến dht11

28 0 0
Tài liệu đã được kiểm tra trùng lặp
đồ án ứng dụng theo dõi nhiệt độ độ ẩm sử dụng cảm biến dht11

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

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ỰNGKHOA CÔNG NGHỆ THÔNG TIN

Trang 2

NgàyCông việc đã kiểm traCông việc giao buổi sauGhichú

 Giới thiệu đề tài, hướng dẫn làm báo cáo về

 Đồ án Đồ họa Máy tính

Các nội dung khác như: sản phẩm nếu có: Gửi riêng vào thư mục

 Nộp bản thảo đồ án đểthầy xem hướng dẫn chỉnh sửa

Hoàn thiện đề tài, nộp báo và sản phẩm (nếu có sản phẩm)

11/12/2020

Trang 4

Ảnh 1 Cảm biến nhiệt độ độ ẩm DHT11Ảnh 2 Modern Wifi ESP8266Ảnh 3 Dây data

Ảnh 4 BoardẢnh 5 Dây nốiẢnh 6 Lắp đặt thiết bịẢnh 7 Code ArduinoẢnh 8 Chọn boardẢnh 9 Chọn cổngẢnh 10 Kết nối HiveMQẢnh 11 Tạo testtopicẢnh 12 Upload codeẢnh 13 Serial MonitorẢ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 5

I TỔNG QUAN ĐỀ TÀI1 ĐẶ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ó nguycơ 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 chocơ 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

- Tác nhân: Người sử dụng ứng dụng.- Các chức năng cơ bản:

● 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 10

III CHẠY THIẾT BỊ1 CODE ADUINO

+ Tiến hành mở file main.ino có đường dẫn

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 14

3 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 19

IV GIAO DIỆN ỨNG DỤNG VÀ HƯỚNG DẪN SỬ DỤNG1 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 20

nh 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 21

nh 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 22

nh 19 Giao di n d li u

Trang 23

4 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

V Source code1 Home.page.html

<ion-toolbar text-center> <ion-title>Home</ion-title> </ion-toolbar>

2 Sensor.page.html

<ion-toolbar text-center> <ion-title>Sensor</ion-title> </ion-toolbar>

Trang 25

<divid="blik">

<pstyle="color: rgb(255, 0, 0)"> Nhiệt độ quá nóng!! Cần kiểm tra</p> </div>

</div> </div></ion-content>

<ion-list*ngFor="let date of uids; let i = index"> <ion-item-sliding>

<ion-item[href]="'/data-detail/' + date"routerDirection="forward"> <p>Dữ liệu ngày:&emsp;</p>

<ion-label>

<h3>{{date}}</h3> </ion-label> <br>

<p> <u>See details</u></p> </ion-item>

<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 26

<ion-list*ngFor="let d of dataSnap; let i = index"> <ion-item-sliding>

<ion-label> -

<ion-iconname="md-time"></ion-icon> </ion-label>

<ion-noteslot="end"> <h2>

<ion-iconslot="start"name="ios-water"style="color: aqua;"icon>Humidity: {{d.humidity}}% </h2>

<h2>

<ion-iconslot="start"name="ios-thermometer"style="color: brown;"></ion-icon>Temperature: {{d.temperature}}°C </h2>

</ion-note>

<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 27

5 index.html

<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" /></head>

<app-root></app-root></body>

6 filebase.ts

const config = {

apiKey:"AIzaSyCGS8Nj1R5ggnPwalFj0h3y1wFQcBpC3SI", authDomain:"temperature-be828.firebaseapp.com", databaseURL:"https://temperature-be828.firebaseio.com",

Trang 28

appId: "1:258374555341:web:1ff0dae85c95a7652bbb84", measurementId: "G-FNR0X6PXQN"

VII Tài liệu tham khảo

webapp

Ngày đăng: 20/05/2024, 15:57

Tài liệu cùng người dùng

Tài liệu liên quan