1. Trang chủ
  2. » Luận Văn - Báo Cáo

Hệ thống theo dõi thông số trong nhà nhiệt Độ, Độ ẩm, ánh sáng

25 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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ông tin cơ bản

Tiêu đề Hệ thống theo dõi thông số trong nhà: nhiệt độ, độ ẩm, ánh sáng
Tác giả Vũ Hữu Đức
Người hướng dẫn Nguyễn Quốc Uy
Trường học Học Viện Công Nghệ Bưu Chính Viễn Thông
Chuyên ngành Công Nghệ Thông Tin
Thể loại Đề Tài
Năm xuất bản 2024
Thành phố Hà Nội
Định dạng
Số trang 25
Dung lượng 4,28 MB

Nội dung

Hệ thống cho phép người dùng bật tắt các thiết bị điều khiển như đèn, quạt, máy lạnh, máy lọc không khí… và sẽ gửi dữ liệu nhiệt độ, độ ẩm, áng sáng từ môi trường về cho người dùng trong

Trang 1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

KHOA CÔNG NGHỆ THÔNG TIN 1

Trang 2

I Giới thiệu hệ thống 3

1 Đặt vấn đề 3

2 Mục tiêu 3

3 Các thiết bị được sử dụng 3

3.1, KIT WIFI NODEMCU ESP8266 CH340 3

3.2 Cảm biến nhiệt độ độ ẩm DHT11 5

3.3 Cảm biến ánh sáng quang trở 6

3.4 Led 6

4.1 Reactjs(front-end) 7

4.2 Nestjs(back-end) 8

4.3 Websocket 8

4.4 MQTT 9

II Các sơ đồ thiết kế 10

1 Sơ đồ mạch 10

2 Sơ đồ luồng dữ liệu 10

3 Sơ đồ tuần tự 12

4 Đặc tả cấp độ IOT 13

III Giao diện hệ thống 23

Trang 3

I Giới thiệu hệ thống

1 Đặt vấn đề

Hiện nay với sự phát triển mạnh mẽ của công nghệ giúp cho các thiết bị điều khiển ngày càng phổ biến hơn Hệ thống cho phép người dùng bật tắt các thiết bị điều khiển như đèn, quạt, máy lạnh, máy lọc không khí…

và sẽ gửi dữ liệu nhiệt độ, độ ẩm, áng sáng từ môi trường về cho người dùng trong thời gian thực

3.1, KIT WIFI NODEMCU ESP8266 CH340

a, Mô tả KIT WIFI NODEMCU ESP8266 CH340

- KIT WIFI NODEMCU ESP8266 CH340 là một bảng mạch phát triển dựa trên

vi điều khiển ESP8266, được thiết kế để dễ dàng kết nối và giao tiếp qua mạng WiFi

Trang 4

- Vi điều khiển ESP8266: Đây là vi điều khiển tích hợp module WiFi, cho phép

kết nối Internet hoặc mạng nội bộ qua WiFi Nó cung cấp khả năng xử lý và kếtnối mạng mạnh mẽ cho các ứng dụng IoT (Internet of Things)

- Chip CH340: Đây là chip chuyển đổi USB sang UART (serial), cho phép kết

nối ESP8266 với máy tính qua cổng USB CH340 giúp giao tiếp dữ liệu giữa viđiều khiển và máy tính khi lập trình hoặc truyền dữ liệu

- Cổng USB: Bảng mạch được trang bị cổng USB để kết nối với máy tính Bạn

có thể sử dụng cổng này để cấp nguồn cho mạch và lập trình vi điều khiển

- Chân GPIO: KIT này có nhiều chân GPIO (General Purpose Input/Output)

cho phép kết nối với các thiết bị ngoại vi như cảm biến, relay, và các module khác Các chân này có thể được lập trình để thực hiện các chức năng đầu vào hoặc đầu ra

- Kết nối WiFi: ESP8266 hỗ trợ kết nối WiFi, cho phép KIT giao tiếp với các

dịch vụ trực tuyến, gửi và nhận dữ liệu qua mạng không dây

- Đèn LED: Thường có một đèn LED tích hợp để hiển thị trạng thái hoạt động

của mạch, chẳng hạn như khi có kết nối WiFi hoặc đo cảm biến

Trang 5

Cảm biến DHT11 sử dụng giao thức 1-wire đơn giản để giao tiếp với vi điều khiển Nó truyền dữ liệu nhiệt độ và độ ẩm dưới dạng tín hiệu kỹ thuật số qua chân Data.

Cảm biến DHT11 thường được sử dụng trong các ứng dụng như đo nhiệt

độ và độ ẩm trong phòng, điều khiển tự động, hệ thống quản lý môi trường và các dự án IoT Để sử dụng cảm biến, bạn cần cài đặt thư viện DHT11 cho vi điều khiển hoặc vi xử lý mà bạn đang sử dụng và thực hiện các lệnh đọc dữ liệu

từ cảm biến thông qua chân Data

b, DHT11 có một thiết kế đơn giản với ba chân cắm

- VCC: Chân nguồn dương, được kết nối với nguồn cung cấp 3.3V - 5V

- Data: Chân dữ liệu, được sử dụng để giao tiếp với vi điều khiển hoặc vi

xử lý để truyền dữ liệu nhiệt độ và độ ẩm

- GND: Chân nguồn âm, được kết nối với chân GND của nguồn cung cấp

và vi điều khiển

Trang 6

c, Đặc điểm kỹ thuật chính của cảm biến nhiệt độ và độ ẩm DHT11 bao gồm:

- Phạm vi đo nhiệt độ: 0°C đến 50°C với độ chính xác ±2°C

- Phạm vi đo độ ẩm: 20% đến 90% RH với độ chính xác ±5% RH

- Điện áp hoạt động: 3.3V - 5V

- Điện áp logic: 3.3V - 5V (hỗ trợ giao tiếp với các vi điều khiển 3.3V và 5V)

- Tốc độ truyền dữ liệu: Tối đa 1Hz (1 lần đo dữ liệu mỗi giây)

- Kích thước: Thường có kích thước nhỏ gọn và hình dạng hình hộp chữ nhật

3.3 Cảm biến ánh sáng quang trở

Cảm biến ánh sáng quang trở CDS (Cadmium Sulfide) là một loại cảm biến ánh sáng đơn giản và phổ biến Nó hoạt động dựa trên sự thay đổi điện trở của vật liệubán dẫn khi ánh sáng chiếu vào Khi có ánh sáng, điện trở của cảm biến giảm, và khi ánh sáng yếu hoặc không có ánh sáng, điện trở tăng lên

Đặc điểm của cảm biến ánh sáng quang trở CDS:

- Phạm vi nhạy sáng: Cảm biến nhạy cảm với ánh sáng nhìn thấy, phù hợp cho

các ứng dụng đo cường độ ánh sáng xung quanh

- Hoạt động đơn giản: Chỉ cần đo sự thay đổi điện trở, nên thường được sử

dụng trong các mạch đơn giản

- Ứng dụng: Được dùng trong đèn tự động, thiết bị đo ánh sáng, điều khiển thiết

bị theo cường độ ánh sáng (ví dụ như bật/tắt đèn khi trời tối)

Trang 7

âm (-) của nguồn điện.

Nguyên lý hoạt động:

- Khi có dòng điện đi từ Anode sang Cathode (theo chiều thuận của diode),các electron sẽ chuyển động và tái hợp với các lỗ trống trong cấu trúc vật liệu bán dẫn của LED Quá trình này giải phóng năng lượng dưới dạng ánh sáng

- LED là một diode nên chỉ phát sáng khi dòng điện đi theo một hướngnhất định (từ chân dương sang chân âm) Nếu kết nối ngược chiều, LED

sẽ không sáng

Đặc điểm:

- Tiêu thụ năng lượng thấp: LED sử dụng ít năng lượng hơn so với các loại đèn khác

- Tuổi thọ cao: LED có tuổi thọ dài, có thể hoạt động hàng nghìn giờ

- Kích thước nhỏ gọn: Thường rất nhỏ và dễ dàng tích hợp vào các mạch điện tử

- Ánh sáng đa dạng: LED có thể phát ra nhiều màu sắc khác nhau (đỏ, xanh lá, xanh dương, trắng, vàng, v.v.) tùy thuộc vào loại vật liệu bán dẫn được sử dụng

4 Công ghệ sử dụng

4.1 Reactjs(front-end)

ReactJS là thư viện JavaScript phát triển bởi Facebook, dùng để xây dựng giaodiện người dùng (UI), đặc biệt là các ứng dụng một trang (SPA) React cho phép tạo các thành phần (components) có thể tái sử dụng, giúp dễ quản lý và phát triển.Các tính năng chính:

- Component-based: Xây dựng UI bằng các thành phần có thể tái sử dụng

- Virtual DOM: Cải thiện hiệu suất bằng cách cập nhật DOM hiệu quả

- One-Way Data Binding: Dữ liệu được truyền theo một chiều, giúp dễ kiểm soát

Trang 8

- Hỗ trợ TypeScript: Viết mã dễ đọc, an toàn và có tính module hóa cao.

- Modularity: Cho phép chia nhỏ ứng dụng thành các module riêng lẻ

- Routing: Định nghĩa các routes để điều hướng yêu cầu từ client đến cáccontrollers

-Middleware và Guards: Hỗ trợ các lớp middleware và guard để quản lý luồng

Đặc điểm chính của WebSocket:

- Kết nối hai chiều: Sau khi kết nối được mở, cả client và server đều có thể gửi

dữ liệu cho nhau bất cứ lúc nào mà không cần yêu cầu từ phía client

- Giảm độ trễ: Vì không cần thực hiện các yêu cầu HTTP liên tục, WebSocket giảm thiểu việc phải tạo lại kết nối cho mỗi lần trao đổi dữ liệu

Trang 9

- Giao tiếp thời gian thực: WebSocket thích hợp cho các ứng dụng cần trao đổi

dữ liệu liên tục và thời gian thực như chat, theo dõi dữ liệu thời gian thực, chơi game trực tuyến, hoặc các ứng dụng IoT

- Sử dụng ít băng thông hơn: So với HTTP, WebSocket tiêu tốn ít băng thông hơn vì giảm overhead do không phải gửi liên tục các header HTTP

4.4 MQTT

MQTT (Message Queuing Telemetry Transport) là một giao thức truyền thông nhẹ được thiết kế cho các ứng dụng yêu cầu truyền dữ liệu trong môi trường có băng thông hạn chế, độ tin cậy thấp, hoặc thiết bị có tài nguyên giới hạn MQTT chủ yếu được sử dụng trong các hệ thống IoT (Internet of Things) để kết nối các thiết bị như cảm biến, bộ điều khiển, và các hệ thống giám sát từ xa

Đặc điểm chính của MQTT:

1 Nhẹ và hiệu quả: Giao thức MQTT được tối ưu hóa để sử dụng ít băng thông, với kích thước gói dữ liệu nhỏ và overhead thấp Điều này giúp tiết kiệm tài nguyên, rất phù hợp với các thiết bị IoT có dung lượng bộ nhớ và khả năng xử

lý hạn chế

2 Mô hình Publish/Subscribe (Xuất bản/Đăng ký):

- Publisher (Người xuất bản): Các thiết bị hoặc ứng dụng xuất bản thông tin lên một chủ đề (topic) cụ thể

- Subscriber (Người đăng ký): Các thiết bị hoặc ứng dụng đăng ký theo dõi một chủ đề để nhận thông báo khi có thông điệp mới

- Broker: Trung gian giữa publisher và subscriber, chịu trách nhiệm tiếp nhận và chuyển tiếp các thông điệp giữa các client MQTT broker giúp quản lý việc truyền thông tin một cách hiệu quả và đáng tin cậy

3 Topic (Chủ đề):

- Chủ đề là kênh mà các thông điệp được truyền qua Mỗi thông điệp được gửi tới một chủ đề và tất cả các client đăng ký với chủ đề đó sẽ nhận được thông báo

4 Quality of Service (QoS): MQTT hỗ trợ ba mức độ chất lượng dịch vụ (QoS)

để đảm bảo mức độ đáng tin cậy của việc gửi thông điệp:

Trang 10

- QoS 0: Gửi một lần, không có xác nhận Thông điệp có thể bị mất.

- QoS 1: Gửi ít nhất một lần Broker sẽ đảm bảo thông điệp được nhận ít nhất một lần

- QoS 2: Gửi chính xác một lần Đảm bảo không có sự trùng lặp và thông điệp được nhận đúng một lần

5 Giữ kết nối và phiên làm việc:

- MQTT hỗ trợ keep-alive để duy trì kết nối giữa client và broker Nếu kếtnối bị gián đoạn, broker có thể lưu trữ các thông điệp quan trọng cho đến khi client kết nối lại (hỗ trợ tính năng "session persistence")

II Các sơ đồ thiết kế

1 Sơ đồ mạch

2 Sơ đồ luồng dữ liệu

Trang 12

3 Sơ đồ tuần tự

Trang 13

4 Đặc tả cấp độ IOT

5 Database

- Led table: dùng để lưu trạng hiện tại của led

- LedLog table: dùng để lưu lịch sử bật tắt của led

Trang 14

- Sensor table: dùng để lưu dữ liệu của cảm biến theo thời gian

6 Code

- Mqtt setup và Mqtt service

+ setup

Trang 15

+ service:

Trang 16

- Websocket:

Trang 17

+ Định nghĩa gateway để gửi/nhận dữ liệu:

- Sensor:

+ entity:

Trang 18

+ service:

- Led:+ entity:

Trang 19

+ service:

Trang 22

- LedLog+ enity:

+ service:

Trang 23

III Giao diện hệ thống

- Giao diện hiển thị thông tin

Trang 24

- Giao diện cài đặt đặt LED

- Giao diện dữ liệu thu được từ cảm biến

Ngày đăng: 15/02/2025, 22:04

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN