1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Báo cáo bài tập lớn iot và Ứng dụng Đề tài xây dựng hệ thống bật tắt Đèn, quạt từ xa sử dụng esp8266 và cảm biến nhiệt Độ, Ánh sáng

35 11 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 đề Xây dựng hệ thống bật tắt đèn, quạt từ xa sử dụng ESP8266 và cảm biến nhiệt độ, ánh sáng
Tác giả Nguyễn Văn Quyến, Phạm Đức Thịnh, Trần Thanh Tuấn
Người hướng dẫn Trần Thị Thanh Thủy
Trường học Học viện Công nghệ Bưu chính Viễn thông
Chuyên ngành IOT và Ứng dụng
Thể loại Báo cáo bài tập lớn
Năm xuất bản 2024
Thành phố Hà Nội
Định dạng
Số trang 35
Dung lượng 1,67 MB

Cấu trúc

  • I. Tên đề tài (5)
  • II. Lý do chọn đề tài (5)
  • III. Nội dung nghiên cứu (7)
  • Chương 1: Tổng quan về đề tài (7)
    • 1.1. Tổng quan về IoT (7)
      • 1.1.1. Khái niệm về IoT (7)
      • 1.1.2. Nguồn gốc IoT [1] (7)
      • 1.1.3. Cách thức hoạt động IoT (8)
      • 1.1.4. Ưu - nhược điểm của IoT (9)
      • 1.1.5. Ứng dụng (10)
    • 1.2. Phát triển ứng dụng trên thiết bị di động sử dụng nền tảng Blynk IOT . 10 1.3. Yêu cầu đề tài (11)
  • Chương 2: Thiết kế hệ thống (14)
    • 2.1. Các linh kiện sử dụng (14)
    • 2.2. Chi tiết các linh kiện (14)
      • 2.2.1. Module cảm biến nhiệt độ, độ ẩm DHT22 (14)
      • 2.2.2. Module Cảm Biến Ánh Sáng đầu ra số (DO) [3] (15)
      • 2.2.3. Module wifi ESP8266 NodeMCU Lua CP2102 [4] (17)
      • 2.2.4. Relay 5VDC 2 kênh [5] (20)
    • 2.3. Phân tích thiết kế hệ thống (22)
      • 2.3.1. Thiết kế phần cứng (23)
      • 2.3.2. Thiết kế phần mềm (24)
  • Chương 3: Kết quả thực nghiệm và đánh giá (30)
    • 3.1. Kết quả đạt được (30)
    • 3.2. Đánh giá hệ thống (33)
    • IV. Kết luận và hướng phát triển (34)
      • 5.1. Kết Luận (34)
      • 5.2. Hướng Phát Triển (34)
    • V. Tài liệu tham khảo (35)

Nội dung

Giải pháp công nghệ hiện đại: Đề tài này tận dụng các tiến bộ của công nghệ IoT bằng cách sử dụng ESP8266 - một vi điều khiển nhỏ gọn, mạnh mẽ, có khả năng kết nối Wifi - để quản lý và đ

Tên đề tài

Xây dựng hệ thống bật tắt đèn, quạt từ xa sử dụng ESP8266 và cảm biến nhiệt độ, ánh sáng

Tổng quan về đề tài

Tổng quan về IoT

IoT là viết tắt của cụm từ tiếng Anh Internet of Things, hay Internet vạn vật, dùng để chỉ các thiết bị vật lý được kết nối internet có khả năng thu thập dữ liệu, chia sẻ thông tin với độ bao phủ toàn cầu, nghĩa là bất cứ thiết bị vật lý nào có khả năng kết nối internet, thu thập, lưu giữ và chia sẻ thông tin thì đều là IoT Bạn hoàn toàn có thể tạo ra các thiết bị IoT nhờ có bộ xử lý thông minh bên trong cùng mạng không dây, giống như các thiết bị trên, biến mọi thứ trở nên thông minh và chủ động hơn bao giờ hết

Như vậy có thể thấy xung quanh chúng ta đâu cũng có sự xuất hiện của các thiết bị IoT: máy tính, điện thoại di động cảm biến, ô tô cảm biến nhiệt, các thiết bị gia dụng cảm ứng nhiệt, các hệ thống tự động hóa Sự xuất hiện của các thiết bị IoT giúp bổ sung một mức độ thông minh kỹ thuật số tới các thiết bị thụ động khác, cho phép chúng tự động thu thập, trao đổi thông tin tự động mà không cần sự can thiệp của con người, giúp tối ưu hóa giữa hai thế giới vật lý và kỹ thuật số

Trước đây các thiết bị IoT đều phải kết nối dây để có thể kết nối mạng internet, tuy nhiên nhờ sự xuất hiện và thay thế của chip thẻ RFID - chip năng lượng thấp kết nối internet không dây đã giải quyết được vấn đề chi phí đắt đỏ và sự hạn chế phổ biến của mạng có dây Cùng với đó việc áp dụng IPv6 – cung cấp địa chỉ IP vào các thiết bị càng giúp cho độ phổ biến của IoT lan rộng ra

Ban đầu ứng dụng đầu tiên của IoT đó là gắn thẻ RFID vào các thiết bị khác có chi phí khá đắt đỏ để theo dõi vị trí của chúng Tuy nhiên theo thời gian 16 cùng với

7 sự phổ biến của IoT, các chi phí để thêm cảm biến vào các thiết bị có kết nối internet đang ngày càng giảm, giúp kết nối mọi thứ với internet một cách nhanh chóng Về sau IoT lan rộng ra lĩnh vực kinh doanh - sản xuất, sau đó là ứng dụng vào nhà cửa, văn phòng một cách thông minh, khiến chúng càng trở nên gần gũi với con người

Vậy là khái niệm Internet of Things - IoT được ra đời bởi Kevin Ashton - nhà khoa học sáng lập Trung tâm Auto-ID tại đại học MIT vào năm 1999

1.1.3.Cách thức hoạt động IoT

Các thiết bị IoT hoạt động dựa trên sự cảm biến bên trong thiết bị Chúng được dùng để kết nối các thiết bị riêng với nhau thông qua các chip cảm biến nhằm phát hiện và chuyển đổi các thông tin dữ liệu mình nhận được thành "hành động" tương ứng tiếp theo thông qua điều hướng mạng Internet

Ví dụ như hệ thống tưới cây của trang trại bạn quản lý, hệ thống tưới nước tự động đó có gắn một bộ cảm biến để tự động thu thập, đánh giá các yếu tố như lượng nước, nhiệt độ, thời gian của cây cối và không gian, từ đó chuyển thành dữ liệu và những dữ liệu này sẽ được thiết lập thành các chế độ chăm sóc riêng tùy theo mục đích sử dụng của cây cối, sau đó thông qua internet chúng gửi thông báo tới con người qua thiết bị cũng được kết nối internet

Chẳng hạn như khi chúng thu thập được thông tin nhiệt độ đang bị giảm hơn so với mức bình thường, chúng sẽ cập nhật thay đổi đó và điều chỉnh nhiệt độ đúng với những gì con người đã thiết lập trước đó thông qua cảm biến

Hình 1: Ứng dụng chăm sóc trang trại bằng IoT

1.1.4 Ưu - nhược điểm của IoT a, Ưu điểm:

• Giúp cho việc truy cập thông tin mọi lúc, mọi nơi trên mọi thiết bị

• Giao tiếp giữa các thiết bị được cải thiện đáng kể

• Dữ liệu được chuyển qua mạng internet giúp tiết kiệm thời gian và tiền bạc

• Các nhiệm vụ được tự động hóa giúp cải thiện chất lượng dịch vụ của doanh nghiệp b, Nhược điểm:

• Thông tin dễ bị lấy cắp khi nhiều thiết bị được kết nối và các thông tin được chia sẻ với giữa các thiết bị

• Nếu trong hệ thống có lỗi thì mọi thiết bị được kết nối cũng sẽ bị hỏng, vì không có tiêu chuẩn quốc tế về khả năng tương thích cho IoT, rất khó để các thiết bị từ các nhà sản xuất khác nhau giao tiếp với nhau

• Các doanh nghiệp có thể phải đối phó với số lượng lớn thiết bị IoT và việc thu thập và quản lý dữ liệu từ các thiết bị đó sẽ là một thách thức

Hình 2: Tầm quan trọng của IoT trong đời sống con người

Ngày nay IoT đã trở thành một phần không thể thiếu đối với con người chúng ta, khi mà hầu như tất cả các thiết bị, các lĩnh vực đều cầu IoT Trong đó phải nói đến một số lĩnh vực sau:

Với doanh nghiệp: Việc vận hành và tối ưu doanh nghiệp một cách hiệu quả, nhanh chóng luôn là một điều vô cùng quan trọng đối với các chủ doanh nghiệp, việc ứng dụng IoT vào quá trình sản xuất, dây chuyền, kết nối và trao đổi thông tin dữ liệu trong mọi hoạt động của doanh nghiệp đã đẩy nhanh hơn tốc độ sản xuất của doanh nghiệp, đồng thời giúp các doanh nghiệp nhanh chóng tìm ra được những lỗi trong dây truyền và kịp thời khắc phục chúng Ngoài ra cũng nhờ có IoT, việc thực hiện cung ứng và hoàn thiện sản phẩm cũng trở nên hoàn hảo hơn

Với người tiêu dùng: Có thể thấy rõ nhất sự xuất hiện của IoT trong cuộc sống con người đó là kiểm soát hoạt động thông qua các thiết bị kết nối internet như camera, cảm ứng ngoài sân, cảm ứng âm thanh Giúp con người kiểm soát tốt cuộc sống và nhanh chóng có được các các giải quyết vấn đề chỉ với điện thoại di động

Ngành marketing toàn cầu: Ngành marketing khi ứng dụng IoT vào lĩnh vực sẽ nhanh chóng giúp các marketer thu thập được thông tin của người dùng, tiếp cận được nhiều thông tin để từ đó có dữ liệu phân tích, tối ưu hơn hoạt động của mình cũng như đáp ứng được các nhu cầu, sở thích khác nhau của khách hàng.

Phát triển ứng dụng trên thiết bị di động sử dụng nền tảng Blynk IOT 10 1.3 Yêu cầu đề tài

Blynk IoT là một nền tảng phần mềm mã nguồn mở hỗ trợ việc phát triển các ứng dụng Internet of Things (IoT) một cách nhanh chóng và dễ dàng Với Blynk, bạn có thể tạo ra các giao diện điều khiển trực quan và tương tác với các thiết bị IoT của mình từ xa thông qua ứng dụng di động hoặc trình duyệt web

Các tính năng chính của Blynk IoT:

● Giao diện kéo thả trực quan: Blynk cung cấp một giao diện kéo thả đơn giản, cho phép bạn dễ dàng thiết kế giao diện điều khiển cho ứng dụng IoT của mình mà không cần viết nhiều code

● Hỗ trợ đa dạng phần cứng: Blynk tương thích với nhiều loại bo mạch và module phần cứng phổ biến như Arduino, ESP8266, ESP32, Raspberry Pi, và nhiều loại khác

● Kết nối đám mây: Blynk sử dụng kết nối đám mây để giúp bạn dễ dàng quản lý và điều khiển các thiết bị IoT của mình từ bất kỳ đâu trên thế giới

● Cộng đồng lớn mạnh: Blynk có một cộng đồng người dùng và nhà phát triển lớn mạnh, sẵn sàng hỗ trợ và chia sẻ kiến thức với bạn

● Ứng dụng đa dạng: Blynk có thể được sử dụng để xây dựng nhiều loại ứng dụng IoT khác nhau, từ các dự án đơn giản như điều khiển đèn LED từ xa đến các hệ thống phức tạp hơn như hệ thống giám sát và điều khiển nhà thông minh

Blynk có hai phiên bản:

● Blynk Legacy: Phiên bản cũ hơn, tập trung vào việc cung cấp một giao diện kéo thả đơn giản và dễ sử dụng

● Blynk IoT: Phiên bản mới hơn, được thiết kế lại hoàn toàn với nhiều tính năng và cải tiến mới, bao gồm hỗ trợ tốt hơn cho các dự án lớn và phức tạp

Cách sử dụng Blynk IoT:

● Tạo tài khoản Blynk: Truy cập trang web Blynk và tạo một tài khoản miễn phí

● Cài đặt thư viện Blynk: Tải xuống và cài đặt thư viện Blynk cho bo mạch hoặc module phần cứng của bạn

● Tạo dự án mới: Trong ứng dụng Blynk, tạo một dự án mới và chọn loại phần cứng bạn đang sử dụng

● Thiết kế giao diện: Sử dụng giao diện kéo thả để thiết kế giao diện điều khiển cho ứng dụng của bạn

● Viết code: Viết code để kết nối phần cứng của bạn với Blynk và thực hiện các chức năng điều khiển

● Chạy ứng dụng: Tải code lên phần cứng của bạn và chạy ứng dụng Blynk để điều khiển thiết bị của bạn từ xa

1.3 Yêu cầu đề tài Đề tài "Thiết kế hệ thống bật tắt đèn, quạt từ xa sử dụng ESP8266 và cảm biến nhiệt độ, ánh sáng " là một ứng dụng thuộc lĩnh vực IoT (Internet of Things), hướng tới việc xây dựng một hệ thống thông minh nhằm giám sát và điều khiển các thông số môi trường trong nhà Hệ thống này phải đáp ứng yêu cầu thu thập và giám sát các chỉ số về nhiệt độ, độ ẩm và cường độ ánh sáng Từ đó, hệ thống cho phép người dùng điều khiển quạt và đèn từ xa thông qua ứng dụng di động Blynk Mục tiêu chính của đề tài là tối ưu hóa việc quản lý và điều khiển thiết bị điện trong nhà, tăng cường sự tiện lợi và hiệu quả trong việc sử dụng năng lượng

Các yêu cầu cụ thể của đề tài bao gồm:

• Thu thập dữ liệu môi trường: Hệ thống cần liên tục thu thập và giám sát các thông số như nhiệt độ, độ ẩm và cường độ ánh sáng từ các cảm biến được lắp đặt trong nhà.

• Điều khiển từ xa: Người dùng cần có khả năng bật/tắt các thiết bị điện (như quạt và đèn) từ xa thông qua ứng dụng di động Điều này giúp nâng cao sự tiện lợi và quản lý việc sử dụng điện năng hiệu quả hơn

• Giao tiếp không dây: Hệ thống phải có khả năng kết nối với internet thông qua module Wi-Fi ESP8266, cho phép dữ liệu được truyền đi và lệnh điều khiển được thực hiện từ bất kỳ đâu, miễn là có kết nối internet

• Ứng dụng thân thiện với người dùng: Giao diện ứng dụng cần trực quan, dễ sử dụng để người dùng có thể theo dõi và điều khiển các thông số môi trường và trạng thái của các thiết bị một cách nhanh chóng và thuận tiện

Thiết kế hệ thống

Các linh kiện sử dụng

• Module cảm biến nhiệt độ, độ ẩm DHT22

• Module Cảm Biến Ánh Sáng đầu ra số (DO)

• Module wifi ESP8266 NodeMCU Lua CP2102

Chi tiết các linh kiện

2.2.1 Module cảm biến nhiệt độ, độ ẩm DHT22

Cảm biến độ ẩm nhiệt độ DHT22 là cảm biến thông dụng tích hợp vừa đo được nhiệt độ và độ ẩm, độ chính xác khá cao Giao tiếp với vi điều khiển qua chuẩn giao tiếp 1 dây So với DHT11 thì DHT22 có độ chính xác cao và khoảng đo hoạt động rộng hơn Module truyền dữ liệu thông qua giao tiếp 1 dây nên dễ dàng kết nối và lấy dữ liệu [2]

● Dòng sử dụng: 2.5mA max (khi truyền dữ liệu)

● Đo tốt ở độ ẩm 0100%RH với sai số 2 - 5%

● Đo tốt ở nhiệt độ -40 đến 80°C sai số ±0.5°C

● Tần số lấy mẫu tối đa 0.5Hz (2 giây 1 lần)

● Kích thước 27mm x 59mm x 13.5mm (1.05" x 2.32" x 0.53")

Hình 4: Cảm biến nhiệt độ độ ẩm DHT22

2 Data Đầu ra cả nhiệt độ và độ ẩm thông qua dữ liệu nối tiếp

3 NC Không có kết nối do đó không sử dụng

Bảng 1: Chức năng chân module cảm biến nhiệt độ DHT22

2.2.2 Module Cảm Biến Ánh Sáng đầu ra số (DO) [3]

Cảm biến cường độ ánh sáng rất nhạy cảm với cường độ ánh sáng môi trường thường được sử dụng để phát hiện độ sáng môi trường xung quanh và cường độ ánh sáng Khi cường độ ánh sáng môi trường xung quanh bên ngoài vượt quá một ngưỡng quy định, Đầu ra DO là mức logic thấp

• Đầu ra kỹ thuật số DO có 2 mức logic là 0 và 1

• IC so sánh sử dụng LM339

Hình 5: Module Cảm biến ánh sáng

2 DO Tín hiệu ra digital

Bảng 2: Chức năng chân module cảm biến ánh sáng

2.2.3 Module wifi ESP8266 NodeMCU Lua CP2102 [4]

Module Wifi ESP8266 NodeMCU Lua là kit phát triển dựa trên nền chip Wifi SoC ESP8266 với thiết kế dễ sử dụng và đặc biệt là có thể sử dụng trực tiếp trình biên dịch của Arduino để lập trình và nạp code, điều này khiến việc sử dụng và lập trình các ứng dụng trên ESP8266 trở nên rất đơn giản Module được dùng cho các ứng dụng cần kết nối, thu thập dữ liệu và điều khiển qua sóng Wifi, đặc biệt là các ứng dụng liên quan đến IoT

Kit RF thu phát Wifi ESP8266 NodeMCU Lua sử dụng chip nạp và giao tiếp UART mới và ổn định nhất là CP2102 có khả năng tự nhận Driver trên tất cả các hệ điều hành Window và Linux, đây là phiên bản nâng cấp từ các phiên bản sử dụng IC nạp giá rẻ CH340

● Điện áp hoạt động: 3.0 - 3.6 VDC, tích hợp sẵn IC ổn áp 3.3V trên mạch

● Kit sử dụng module WIFI ESP8266 12-E, phiên bản module

● Tương thích các chuẩn wifi : 802.11 b/g/n

● Hỗ trợ: Wi-Fi Direct (P2P), soft-AP

● Tích hợp TCP/IP protocol stack

● Tích hợp vi điều khiển 32-bit của series Tensilica L106 Diamond, on-chip SRAM

● Nạp code qua UART, OTA, hoặc web-host

● IC chuyển đổi USB-TTL: CP2102

Hình 6: Module wifi ESP8266 NodeMCU Lua CP2102

Hình 7: Sơ đồ chân Module thu phát Wifi ESP8266 NodeMCU Lua CP2102

Micro-USB: NodeMCU có thể được cấp nguồn qua cổng USB

3.3V: Cung cấp 3.3V đã được điều chỉnh để cấp nguồn cho bo mạch

GND: Chân nối đất Vin: Nguồn cung cấp điện bên ngoài

EN, RST Chân và nút này dùng để reset vi điều khiển

A0 Dùng để đo điện áp analog trong khoảng từ 0-

NodeMCU có 16 chân GPIO cho mục đích đầu vào/đầu ra tổng quát trên bo mạch

NodeMCU có bốn chân cho giao tiếp SPI

NodeMCU có hai giao diện UART, UART0 (RXD0 & TXD0) và UART1 (RXD1 & TXD1) UART1 được sử dụng để tải firmware/chương trình

Chân I2C NodeMCU hỗ trợ chức năng I2C, nhưng do chức năng nội bộ của các chân này, người dùng cần xác định chân nào là I2C

Bảng 3: Chức năng chân module ESP8266 NodeMCU

Relay là một thiết bị điện tử dùng để kiểm soát mạch điện bằng cách bật hoặc tắt các thiết bị điện thông qua một tín hiệu điều khiển từ xa Relay hoạt động như một công tắc điều khiển từ xa và có thể chịu được dòng điện và điện áp cao hơn nhiều so với các mạch điều khiển tín hiệu nhỏ

● Sử dụng điện áp nuôi 5VDC

● 2 Relay đóng ngắt ở điện thế kích bằng 0V nên có thể sử dụng cho cả tín hiệu 5V hay 3.3V (cần cấp nguồn ngoài), mỗi Relay tiêu thụ dòng khoảng 80mA

● Điện thế đóng ngắt tối đa: AC250V – 10A hoặc DC30V – 10A

● Có đèn báo đóng ngắt trên mỗi Relay

2 DC- Kết nối với đất (GND)

3 IN1, IN2 Chân điều khiển cho 2 kênh (tín hiệu điều khiển)

4 COM1, COM2 Chân "Common" (chân chung kết nối với NO hoặc NC)

5 NO1, NO2 Chân "Normally Open" Khi relay được kích hoạt, NO sẽ kết nối với COM

6 NC1, NC2 Chân "Normally Closed" Khi relay được kích hoạt, kết nối với NC sẽ bị ngắt

Bảng 4: Chức năng chân Relay 2 kênh 5VDC

Phân tích thiết kế hệ thống

Hình 9: Sơ đồ khối hệ thống

Khối nguồn: Cung cấp nguồn điện cho toàn mạch hệ thống

Khối điều khiển: Vi xử lý ESP8266 NodeMCU Lua CP2102 nhận dữ liệu từ khối cảm biến, xử lý và xuất ra tín hiệu điều khiển đưa ra khối chấp hành

Khối cảm biến: Module cảm biến nhiệt độ DHT22, cảm biến ánh sáng gửi dữ liệu cho vi xử lý

Khối cơ cấu chấp hành: Các cảm biển nhận tín hiệu từ khối điều khiển và thực hiện điều khiển quạt và đèn led

Hình 10: Hệ thống mô phỏng

Tên linh kiện Chân linh kiện Chân ESP8266 Chân Relay

Bảng 5: Sơ đồ kết nối chân linh kiện trong hệ thống

2.3.2 Thiết kế phần mềm a, Lưu đồ thuật toán

Khởi tạo vào/ra Khởi tạo các biến Khởi tạo cảm biển ánh sáng và cảm biến nhiệt độ

Kết nối ESP8266 với wifi và blynk Đọc nhiệt độ từ cảm biến DHT22 và hiển thị trên app Blynk

Nút bật tắt quạt BẬT

25 Đọc cường độ ánh sáng từ cảm biến ánh sáng rồi hiển thị trên app Blynk

Nút bật tắt đèn BẬT

Cường độ ánh sáng lớn hơn 50%

Tắt đèn Điều kiện kết thúc

Lập trình ESP8266 bằng Arduino IDE

• Truy cập vào Arduino IDE để tiến hành lập trình

• Vào File → Preferences, vào textbox Additional Board Manager URLs thêm đường link sau vào: https://arduino.esp8266.com/stable/package_esp8266com_index.json Click OK để chấp nhận

• Vào Tool → Board → Boards Manager để tải Board cho ESP8266: tìm

ESP8266 by ESP8266 Community sau đó click vào Install

• Chọn Board để lập trình cho ESP8266: Kết nối module USB-to-UART vào máy tính Vào Tool → Board → esp8266 → NodeMCU 1.0 (ESP-12E Module), chọn cổng COM tương ứng với module USB-to-UART

• Nếu không hiện cổng COM hãy truy cập vào link sau để tải CP2102 driver: https://www.silabs.com/developers/usb-to-uart-bridge-vcp- drivers?tab=downloads

Phát triển code cho hệ thống bật tắt đèn, quạt từ xa sử dụng ESP8266:

#define BLYNK_TEMPLATE_ID "TMPL6M_6h3QU3"

#define BLYNK_TEMPLATE_NAME "BTL IoT"

#define BLYNK_AUTH_TOKEN "mw7eo88ufLsebsBbymctLhWMMW2lvkKS"

#define DHTPIN D4 // Chân dữ liệu DHT22 kết nối với D4

#define DHTTYPE DHT22 // Loại cảm biến DHT22

#define RELAY_PIN D5 // Chân điều khiển relay cho đèn LED

#define FAN_PIN D6 // Chân điều khiển relay cho quạt

#define LIGHT_SENSOR_PIN A0 // Chân analog cho cảm biến ánh sáng

DHT dht(DHTPIN, DHTTYPE); bool autoModeLED = true; bool autoModeFan = true;

27 int fanButtonState; int ledButtonState; int tempThreshold = 30; int lightThreshold = 50;

// Thông tin xác thực Blynk char auth[] = BLYNK_AUTH_TOKEN; char ssid[] = "wifi"; char pass[] = "quyen12003"; void setup() {

Blynk.begin(auth, ssid, pass); dht.begin(); pinMode(RELAY_PIN, OUTPUT); pinMode(FAN_PIN, OUTPUT); pinMode(LIGHT_SENSOR_PIN, INPUT);

// Khởi tạo trạng thái tắt ban đầu cho các thiết bị digitalWrite(RELAY_PIN, HIGH); digitalWrite(FAN_PIN, HIGH);

// Điều khiển quạt từ Blynk

BLYNK_WRITE(V3) { fanButtonState = param.asInt(); if (fanButtonState == 1) { digitalWrite(FAN_PIN, LOW); autoModeFan = false;

} else { digitalWrite(FAN_PIN, HIGH); autoModeFan = false;

// Điều khiển đèn LED từ Blynk

BLYNK_WRITE(V4) { ledButtonState = param.asInt(); if (ledButtonState == 1) { digitalWrite(RELAY_PIN, LOW); autoModeLED = false;

} else { digitalWrite(RELAY_PIN, HIGH); autoModeLED = false;

// Điều khiển chế độ tự động cho cả LED và quạt từ Blynk BLYNK_WRITE(V5) { int autoMode = param.asInt(); autoModeLED = autoMode; autoModeFan = autoMode; if (!autoMode) {

// Khi tắt chế độ tự động, tắt tất cả thiết bị digitalWrite(RELAY_PIN, HIGH); digitalWrite(FAN_PIN, HIGH);

// Đọc nhiệt độ và độ ẩm từ DHT22 float h = dht.readHumidity(); float t = dht.readTemperature(); int light = analogRead(LIGHT_SENSOR_PIN);

// Chuyển đổi giá trị ánh sáng int l = map(light, 0, 1023, 100, 0);

// Kiểm tra xem việc đọc cảm biến có hợp lệ không if (isnan(h) || isnan(t)) {

Serial.println("Không thể đọc từ cảm biến DHT22!"); return;

// In dữ liệu cảm biến ra màn hình Serial

// Gửi dữ liệu tới Blynk

// Điều khiển tự động cho LED dựa trên cảm biến ánh sáng if (autoModeLED) { if (l < lightThreshold) { digitalWrite(RELAY_PIN, LOW);

} else { digitalWrite(RELAY_PIN, HIGH);

// Điều khiển tự động cho quạt dựa trên nhiệt độ if (autoModeFan) { if (t >= tempThreshold) { digitalWrite(FAN_PIN, LOW);

} else { digitalWrite(FAN_PIN, HIGH);

Kết quả thực nghiệm và đánh giá

Kết quả đạt được

• Xây dựng một hệ thống phần cứng hoàn chỉnh, bao gồm ESP8266, cảm biến DHT22 (hoặc cảm biến nhiệt độ/độ ẩm khác), cảm biến ánh sáng, và các thiết bị điều khiển như đèn và quạt thông qua relay

• Thành công đưa dữ liệu về nhiệt độ và cường độ ánh sáng hiển thị lên giao diện app Blynk

• Chức năng bật/tắt: Hệ thống cần cho phép người dùng bật hoặc tắt đèn và quạt từ xa thông qua ứng dụng Blynk trên di động, đồng thời tự động hóa các chức năng dựa trên dữ liệu từ cảm biến

Hình 11: Mô hình phần cứng thực tế

Nguyên lý hoạt động của hệ:

1 Cảm biến thu thập dữ liệu:

• Cảm biến nhiệt độ (DHT22): Cảm biến này đo nhiệt độ và độ ẩm trong môi trường Dữ liệu này sẽ được sử dụng để quyết định việc bật hoặc tắt quạt

• Cảm biến ánh sáng (BH1750): Cảm biến này đo cường độ ánh sáng trong không gian Dữ liệu này sẽ được sử dụng để quyết định việc bật hoặc tắt đèn

2 ESP8266 làm trung tâm điều khiển:

• Kết nối Wi-Fi: ESP8266 kết nối với mạng Wi-Fi để truyền dữ liệu lên Blynk và nhận lệnh từ ứng dụng Blynk trên điện thoại

• Xử lý dữ liệu: ESP8266 thu thập dữ liệu từ các cảm biến và quyết định hành động nào cần thực hiện dựa trên các thông số đã được xác định (ví dụ: nếu nhiệt độ cao hơn một ngưỡng nhất định, quạt sẽ được bật)

3 Gửi dữ liệu lên Blynk:

• Truyền dữ liệu: Dữ liệu từ cảm biến được gửi lên ứng dụng Blynk thông qua internet Việc này cho phép người dùng theo dõi thông tin về nhiệt độ, độ ẩm, và mức độ ánh sáng từ xa

• Giao diện người dùng: Trên ứng dụng Blynk, người dùng có thể xem các thông số và có thể điều khiển các thiết bị như đèn và quạt một cách trực quan

4 Điều khiển thiết bị từ xa

• Gửi lệnh từ Blynk: Người dùng có thể sử dụng ứng dụng Blynk để gửi lệnh bật hoặc tắt đèn và quạt

• Nhận lệnh và thực hiện: ESP8266 nhận các lệnh từ ứng dụng Blynk và thực hiện hành động tương ứng (bật hoặc tắt thiết bị)

5 Tự động hóa dựa trên dữ liệu cảm biến

• Quyết định tự động: Hệ thống có thể được lập trình để tự động điều chỉnh đèn và quạt dựa trên dữ liệu từ cảm biến: o Nếu ánh sáng tự nhiên đủ, đèn sẽ tự động tắt o Nếu nhiệt độ vượt quá một ngưỡng nhất định, quạt sẽ tự động bật lên để làm mát

Hình 12: Giao diện hiển thị trên app Blynk

Đánh giá hệ thống

• Hệ thống hoạt động ổn định

• Đồng bộ trạng thái điều khiển từ mô hình hệ thống, giao diện Blynk trên di động và máy tính

• Giám sát được các chỉ số từ các cảm biến và độ sai số trong mức cho phép

• Giao diện điều khiển trực quan, thân thiện với người sử dụng b, Nhược điểm:

• Hệ thống hoạt động đôi khi còn khá chậm

• Các tính năng còn khá đơn giản.

Kết luận và hướng phát triển

• Tiện lợi và linh hoạt: Hệ thống cho phép người dùng điều khiển đèn và quạt từ xa thông qua ứng dụng Blynk trên điện thoại thông minh, mang lại sự tiện lợi và linh hoạt trong việc quản lý thiết bị

• Tối ưu hóa năng lượng: Việc sử dụng cảm biến nhiệt độ và ánh sáng giúp hệ thống tự động điều chỉnh hoạt động của đèn và quạt, từ đó tiết kiệm năng lượng và giảm thiểu lãng phí điện

• Cải thiện chất lượng cuộc sống: Hệ thống không chỉ cung cấp khả năng điều khiển từ xa mà còn giúp người dùng duy trì môi trường sống thoải mái, với nhiệt độ và ánh sáng được quản lý hiệu quả

• Khả năng mở rộng: Kiến trúc của hệ thống cho phép mở rộng dễ dàng, người dùng có thể thêm nhiều cảm biến hoặc thiết bị khác để nâng cao khả năng hoạt động của hệ thống

• Ứng dụng công nghệ IoT: Đề tài đã ứng dụng công nghệ IoT vào trong đời sống hàng ngày, thể hiện sự kết nối và tích hợp giữa các thiết bị điện tử, cảm biến và nền tảng đám mây

• Mở rộng mô hình để có thể áp dụng vào hệ thống nhà thông minh trong thực tế

• Cải thiện tốc độ hoạt động của hệ thống

• Kết hợp với các mô hình AI để tích hợp thêm các tính năng nâng cao hơn

Ngày đăng: 04/11/2024, 15:45

HÌNH ẢNH LIÊN QUAN

Bảng 1: Chức năng chân module cảm biến nhiệt độ DHT22 - Báo cáo bài tập lớn iot và Ứng dụng Đề tài xây dựng hệ thống bật tắt Đèn, quạt từ xa sử dụng esp8266 và cảm biến nhiệt Độ, Ánh sáng
Bảng 1 Chức năng chân module cảm biến nhiệt độ DHT22 (Trang 15)
Bảng 2: Chức năng chân module cảm biến ánh sáng - Báo cáo bài tập lớn iot và Ứng dụng Đề tài xây dựng hệ thống bật tắt Đèn, quạt từ xa sử dụng esp8266 và cảm biến nhiệt Độ, Ánh sáng
Bảng 2 Chức năng chân module cảm biến ánh sáng (Trang 16)
Hình 7: Sơ đồ chân Module thu phát Wifi ESP8266 NodeMCU Lua CP2102 - Báo cáo bài tập lớn iot và Ứng dụng Đề tài xây dựng hệ thống bật tắt Đèn, quạt từ xa sử dụng esp8266 và cảm biến nhiệt Độ, Ánh sáng
i ̀nh 7: Sơ đồ chân Module thu phát Wifi ESP8266 NodeMCU Lua CP2102 (Trang 18)
Bảng 3: Chức năng chân module ESP8266 NodeMCU - Báo cáo bài tập lớn iot và Ứng dụng Đề tài xây dựng hệ thống bật tắt Đèn, quạt từ xa sử dụng esp8266 và cảm biến nhiệt Độ, Ánh sáng
Bảng 3 Chức năng chân module ESP8266 NodeMCU (Trang 19)
Bảng 4: Chức năng chân Relay 2 kênh 5VDC - Báo cáo bài tập lớn iot và Ứng dụng Đề tài xây dựng hệ thống bật tắt Đèn, quạt từ xa sử dụng esp8266 và cảm biến nhiệt Độ, Ánh sáng
Bảng 4 Chức năng chân Relay 2 kênh 5VDC (Trang 21)
Hình 9: Sơ đồ khối hệ thống - Báo cáo bài tập lớn iot và Ứng dụng Đề tài xây dựng hệ thống bật tắt Đèn, quạt từ xa sử dụng esp8266 và cảm biến nhiệt Độ, Ánh sáng
i ̀nh 9: Sơ đồ khối hệ thống (Trang 22)
Bảng 5: Sơ đồ kết nối chân linh kiện trong hệ thống - Báo cáo bài tập lớn iot và Ứng dụng Đề tài xây dựng hệ thống bật tắt Đèn, quạt từ xa sử dụng esp8266 và cảm biến nhiệt Độ, Ánh sáng
Bảng 5 Sơ đồ kết nối chân linh kiện trong hệ thống (Trang 24)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w