Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 43 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
43
Dung lượng
2,22 MB
Nội dung
ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP ĐỒ ÁN NHÚNG ĐỀ TÀI:HỆ THỐNG ĐO NHIỆT ĐỘ VÀ TẠO ĐỘ ẨM VỚI SMARTHOME GVHD: Đỗ Duy Cốp Lớp: K53.KMT01 Sinh viên : Nguyễn Văn Khánh MSSV: K175520214007 Sinh viên: Nguyễn Thị Diễm My MSSV: K175520214011 Thái Nguyên 2021 LỜI NÓI ĐẦU Như biết, nhiệt độ độ ẩm thành phần vật lý quang trọng sống người Việc thay đổi nhiệt độ, độ ẩm ảnh hưởng nhiều nhiều đến sinh trưởng phát triển động vật, thực vật, tính chất vật lý vật chất Sống thời kỳ cơng nghiệp hóa đại hóa ngày nay, thiết bị điện tử, tự động hóa đóng vai trị quan trọng, đặc biệt trình sản xuất phân xưởng, nhà máy đời sống gia đình Áp dụng kiến thức đạt trình học mơn Hệ thống nhúng, chúng em định chọn đề tài: “ HỆ THỐNG ĐO NHIỆT ĐỘ VÀ ĐỘ ẨM VỚI SMARTHOME” Sau thời gian thực đồ án chuyên ngành nhóm sinh viên hiểu thêm số ứng dụng thực tế nhiều thiết bị, linh kiện thực tiễn làm cho kiến thức nhóm sinh viên ngày nâng cao Trong trình làm đồ án, chúng em xin trân thành cảm ơn thầy Đỗ Duy Cốp hướng dẫn giúp đỡ chúng em hồn thành đồ án Do cịn thiếu kiến thức phần cứng nên có sai sót mong thầy góp ý để chúng em cải tiến hoàn thành đề tài Chúng em xin chân thành cảm ơn! Thái Nguyên, Ngày tháng …năm 2021 Sinh viên thực Nguyễn Văn Khánh_Nguyễn Thị Diễm My MỤC LỤC LỜI NÓI ĐẦU MỤC LỤC DANH SÁCH HÌNH ẢNH CHƯƠNG I TỔNG QUAN VỀ ĐỀ TÀI NGHIÊN CỨU 1.1 ĐẶT VẤN ĐỀ. - 1.2 MỤC TIÊU CỦA ĐỀ TÀI. - 1.3 NỘI DUNG ĐỀ TÀI. - 1.4 GIỚI HẠN. 1.5 PHẠM VI ỨNG DỤNG. - CHƯƠNG II CƠ SỞ LÝ THUYẾT 2.1 TỔNG QUAN VỀ INTERNET OF THINGS. 2.1.1 Giới thiệu Internet of Things (IoT). -8 2.1.2 Lịch sử hình thành. - 2.1.3 Ứng dụng IoT. 2.1.4 Các thành phần hệ thống IoT. -12 2.2 CÔNG NGHỆ WIFI. - 12 2.2.1 Giới thiệu. - 12 2.2.2 Công nghệ truyền nhận liệu. 13 2.3 GIỚI THIỆU VỀ ESP8266. 16 2.3.1 Module ESP8266. - 16 2.3.2 Cấu tạo NODEMCU ESP8266. 17 2.3.3 Tính NODEMCU ESP8266. 17 2.3.4 Quản lý lượng NODE MCU ESP8266. 18 2.4 MODULE DHT-11. - 19 2.4.1 Module DHT-11. - 19 2.4.2 Thông số kỹ thuật. 20 2.4.3 Nguyên lý hoạt động. - 20 2.5 HOME ASSISTANT. - 22 2.5.1 Giới thiệu Home Assistant. -23 2.5.2 Tính Home Assistant. -24 CHƯƠNG III MÔ PHỎNG VÀ XÂY DỰNG HỆ THỐNG THỰC NGHIỆM 26 3.1 BÀI TOÁN ĐẶT RA. - 26 3.2 SƠ ĐỒ HỆ THỐNG. -26 3.3 THIẾT KẾ MẠCH. - 27 CHƯƠNG IV LẬP TRÌNH VÀ KIỂM THỬ 29 4.1 LẬP TRÌNH. 29 4.1.1 Giới thiệu ngôn ngữ C. -29 4.1.2 Giới thiệu ESPHome. 30 4.2 CODE CHƯƠNG TRÌNH. -31 4.2.1 Code chương trình sử dụng ngơn ngữ C. 31 4.2.2 Code chương trình cấu hình ESPHome. 35 4.2.3 Kiểm thử. 36 KẾT LUẬN - 40 TÀI LIỆU THAM KHẢO - 41 DANH SÁCH HÌNH ẢNH Hình 2.1 Internet of Things Hình 2.2 Ứng dụng Internet of Things Hình 2.3 Ứng dụng nhà thơng minh với Internet of Things Hình 2.4 Ứng dụng chăm sóc sức khoẻ với Internet of Things Hình 2.5 Thành phố thơng minh với Internet of Things Hình 2.6 Wifi Hình 2.7 Hình ảnh thực tế Chip NODEMCU ESP8266 Hình 2.8 Hình ảnh sơ đồ chân kết nối ESP8266 Hình 2.9 Hình ảnh thực tế sensor DHT – 11 Hình 2.10 Xung bắt đầu DHT-11 Hình 2.11 Gửi xung phản hồi DHT-11 Hình 2.12 Gửi liệu chứa bit 0, bit Hình 2.13 Kết thúc đọc giá trị DHT-11 Hình 2.14 Home Assistant Hình 2.15 Tính Home Assistant Hình 3.1 Sơ đồ khối của mạch thiết bị Hình 3.2 Mạch đo nhiệt độ, độ ẩm mơ Proteus Hình 3.3 Mạch đo nhiệt độ, độ ẩm thực tế Hình 4.1 ESPHome Hình 4.2.Trang chủ Home Assistant Hình 4.3 Add-on ESPHome với thiết bị hoạt động Hình 4.4 Giao diện dịng lệnh ESPHome Hình 4.5 Code giao diện hiển thị cho nhiệt độ độ ẩm Hình 4.6 Code giao diện hiển thị nhiệt độ độ ẩm dạng History-graph Hình 4.7 Store Add-on Home Assistant CHƯƠNG I TỔNG QUAN VỀ ĐỀ TÀI NGHIÊN CỨU 1.1 ĐẶT VẤN ĐỀ Ngày nay, công nghệ kết nối cần nhắc đến hiển nhiên Wifi – công nghệ kết nối không dây phổ biến Cũng tính phổ biến dạng kết nối mà tên Wifi thường bị lạm dụng để kết nối khơng dây nói chung Lí mà kết nối wifi ưa chuộng đơn giản khả hoạt động hiệu phạm vi vài chục đến vài trăm mét mạng WLAN Và thời đại cơng nghiệp hóa đại hóa nay, việc phát minh chế tạo thiết bị thơng minh có khả điều khiển từ xa quan tâm hữu ích cho sống hàng ngày Vì mục tiêu cơng nghệ đại hóa ngày phát triển, chúng em định thực đồ án “Giám sát nhiệt độ độ ẩm điều khiển thiết bị điện qua Home Assistant” Đề tài chúng em ngồi việc điều khiển thiết bị độc lập cịn giám sát nhiệt độ ngơi nhà Khi dự án hồn thành điều khiển thiết bị điện nhà… cách tương tác qua nút nhấn để hiển thị trạng thái hoạt động điện thoại máy tính Như vậy, dù nơi có internet giám sát điều khiển thiết bị kết nối với module điều khiển Khi dự án thành cơng áp dụng rộng rãi tiện lợi cho sống thường ngày, giúp cho đất nước ngày phát triển 1.2 MỤC TIÊU CỦA ĐỀ TÀI - Tiếp nhận tín hiệu từ cảm biến điều khiển thiết bị - Có chức giám sát điều khiển từ xa thông qua internet, sử dụng điện thoại máy tính - Có thể thi công đồ án nhà thực tế mơ hình 1.3 NỘI DUNG ĐỀ TÀI Việc thực thiết kế mạch ‘‘Giám sát nhiệt độ độ ẩm điều khiển thiết bị điện qua internet dùng ESP8266’’ cần phải thực nội dung sau: Nội dung 1: Nghiên cứu tài liệu KIT NodeMCU ESP8266, sensor DHT-11, Home Assistant giao tiếp không dây mạng Internet Nội dung 2: Nghiên cứu mơ hình điều khiển Nội dung 3: Thiết kế tính tốn thiết kế mạch phần cứng cho thiết bị Nội dung 4: Thi công phần cứng, thử nghiệm hiệu chỉnh phần cứng Nội dung 5: Thử nghiệm điều chỉnh hệ thống chương trình để hệ thống tối ưu Đánh giá thơng số mơ hình so với thực tế Nội dung 6: Viết báo cáo thực 1.4 GIỚI HẠN Kích thước mơ hình Sử dụng KIT NodeMCU ESP8266 Tập trung vào thiết bị điều khiển trung tâm Sử dụng tảng có sẵn thư viện mở để phát triển sản phẩm 1.5 PHẠM VI ỨNG DỤNG Đề tài mơ hình thu nhỏ, nhiên ứng dụng rộng rãi môi trường khác nhà ở, nhà xưởng, nhà kính….Trong sản xuất sinh hoạt. CHƯƠNG II CƠ SỞ LÝ THUYẾT 2.1 TỔNG QUAN VỀ INTERNET OF THINGS 2.1.1 Giới thiệu Internet of Things (IoT) Hình 2.1 Internet of Things Ngày nay, nhu cầu phát triển ứng dụng liên quan đến Internet ngày cao Và IoT (Internet of things) công nghệ quan trọng tạo nhiều ứng dụng đa dạng phục vụ đa số lĩnh vực đời sống từ Về bản, IoT hệ thống mạng lưới mà tất thiết bị, đối tượng kết nối Internet thông qua thiết bị mạng (network devices) định tuyến (routers) IoT cho phép đối tượng điều khiển từ xa dựa hệ thống mạng Công nghệ tiên tiến giúp giảm công sức vận hành người cách tự động hóa việc điều khiển thiết bị 2.1.2 Lịch sử hình thành Khái niệm mạng lưới thiết bị kết nối với thảo luận vào đầu năm 1982, với máy bán hàng tự động Coke thực Đại học Carnegie Mellon trở thành thiết bị kết nối Internet giới Thuật ngữ “Internet of things” sử dụng lần Kevin Ashton vào năm 1999 Sau IoT trải qua nhiều giai đoạn có bước phát triển nhảy vọt ngày 2.1.3 Ứng dụng IoT Hình 2.2 Ứng dụng Internet of Things Nhà thông minh (Smart Home) Đây ứng dụng quan tâm nhiều năm gần Một nhà thơng minh hồn tồn giám sát điều khiển tự động Bạn bật tắt đèn ứng dụng điện thoại, lỡ quên tắt tivi khỏi nhà bạn hoàn toàn tắt nơi có kết nối Internet, điều hòa tự động điều chỉnh tăng hay giảm nhiệt độ bên 10 CHƯƠNG III MÔ PHỎNG VÀ XÂY DỰNG HỆ THỐNG THỰC NGHIỆM 3.1 BÀI TỐN ĐẶT RA Trong q trình đại hóa , cơng nghiệp hóa ngày : Người tiêu dùng ưa thích tiện lợi , phát triển đất nước ta người dân có xu hướng xây dựng nhà thông minh hướng tới 10-15 năm sau không lỗi thời áp dụng kĩ thuật điều khiển từ xa tự động Vì vậy, nhóm chúng em xin tìm hiểu chủ đề : giám sát nhiệt độ điều khiển thiết bị từ xa Yêu cầu mô là: - Phải giám sát nhiệt độ , độ ẩm phòng - Điều khiển thiết bị thông qua mạng internet 3.2 SƠ ĐỒ HỆ THỐNG 29 Hình 3.1 Sơ đồ khối của mạch thiết bị Khối vi điều khiển có chức điều khiển hoạt động mạch Đọc nhiệt độ, độ ẩm từ cảm biến gửi module wifi để truyền lên server Ngoài khối vi điều khiển cịn có nhiệm vụ đọc giải mã lệnh nhận từ giao diện, người dùng để đưa lệnh điều khiển tương ứng để điều chỉnh nhiệt độ Kit wifi vai trò giao tiếp mạch internet, vận chuyển liệu hai module Nodemcu Home Assistant Khối cảm biến nhiệt độ sử dụng cảm biến DHT11 có khả đo thông số nhiệt độ độ ẩm 30 Đối tượng điều khiển : Điều khiển kiểm sốt thơng tin thông qua Home assistant Khối nguồn: Sử dụng nguồn 5VDC cấp qua cổng Usb chân Vin 3.3 THIẾT KẾ MẠCH Hình 3.2 Mạch đo nhiệt độ, độ ẩm mơ Proteus 31 Hình 3.3 Mạch đo nhiệt độ, độ ẩm thực tế 32 CHƯƠNG IV LẬP TRÌNH VÀ KIỂM THỬ 4.1 LẬP TRÌNH Trong đồ án chúng em sử dụng ngôn ngữ C ESPHome để lập trình cho kit wifi ESP8266 qua q trình khảo sát em thấy ngơn ngữ C ESPHome ngôn ngữ thông dụng, dễ dàng tương thích với nhiêu thiết bị khác 4.1.1 Giới thiệu ngơn ngữ C Ngơn ngữ lập trình C ngôn ngữ mệnh lệnh phát triển từ đầu thập niên 1970 Dennis Ritchie để dùng hệ điều hành UNIX Từ đó, ngơn ngữ lan rộng nhiều hệ điều hành khác trở thành ngôn ngữ phổ dụng C ngôn ngữ có hiệu ưa chuộng để viết phần mềm hệ thống, dùng cho việc viết ứng dụng C ngơn ngữ lập trình tương đối nhỏ gọn vận hành gần với phần cứng giống với ngôn ngữ Assembler hầu hết ngôn ngữ bậc cao Hơn thế, C đánh "có khả di động", cho thấy khác quan trọng với ngơn ngữ bậc thấp Assembler, việc mã C dịch thi hành hầu hết máy tính, hẳn ngơn ngữ Assembler chạy số máy tính đặc biệt Vì lý C xem ngôn ngữ bậc trung C tạo với mục tiêu làm cho thuận tiện để viết chương trình lớn với số lỗi mẫu hình lập trình thủ tục mà lại không đặt gánh nặng lên vai người viết trình dịch C, người bề bộn với đặc tả phức tạp ngôn ngữ Cuối C có thêm chức sau: 33 - Một ngơn ngữ cốt lõi đơn giản, với chức quan trọng chẳng hạn hàm hay việc xử lý tập tin cung cấp thư viện thủ tục - Tập trung mẫu hình lập trình thủ tục, với phương tiện lập trình theo kiểu cấu trúc - Một hệ thống kiểu đơn giản nhằm loại bỏ nhiều phép tốn khơng có ý nghĩa thực dụng - Dùng ngôn ngữ tiền xử lý, tức câu lệnh tiền xử lý C, cho nhiệm vụ định nghĩa macro hàm chứa nhiều tập tin mã nguồn (bằng cách dùng câu lệnh tiền xử lý dạng #include chẳng hạn) - Mức thấp ngôn ngữ cho phép dùng tới nhớ máy tính qua việc sử dụng kiểu liệu pointer 4.1.2 Giới thiệu ESPHome Hình 4.1 ESPHome ESPHome cơng cụ đọc file cấu hình tạo tệp nhị phân firmware tùy chỉnh Cũng giống Home Assistant, cấu hình viết YAML ESPHome hỗ trợ danh sách dài cảm biến, cấu hình với vài dịng YAML Bên cạnh đó, ESPHome điều khiển đèn, hình nhiều thứ khác Trong ESPHome, tất thiết bị gọi nút 34 ESPHome (trước gọi esphomelib thuộc sở hữu NabuCasa) cơng cụ mà bạn tạo firmware tùy chỉnh cho bo mạch dựa ESP8266 ESP32 Firmware tùy chỉnh nghe phức tạp ESPHome làm cho trở nên dễ dàng Bạn khơng cần kỹ lập trình để bắt đầu với ESPHome bạn có khả định cấu hình Home Assistant YAML, bạn cảm thấy thứ đơn giản ESPHome người bạn đồng hành hồn hảo với Home Assistant Có tích hợp thức tích hợp sẵn cho Home Assistant thiết bị ESPHome (hoặc nút) mạng bạn phát tự động ESPHome cơng cụ đọc file cấu hình tạo tệp nhị phân firmware tùy chỉnh Cũng giống Home Assistant, cấu hình viết YAML ESPHome hỗ trợ danh sách dài cảm biến, cấu hình với vài dịng YAML Bên cạnh đó, ESPHome điều khiển đèn, hình nhiều thứ khác Trong ESPHome, tất thiết bị gọi nút ESPHome cài đặt tiện ích bổ sung Home Assistant Cũng giống Home Assistant, ESPHome xây dựng ngơn ngữ lập trình Python cài đặt nguyên 4.2 CODE CHƯƠNG TRÌNH 4.2.1 Code chương trình sử dụng ngơn ngữ C #include #include #include "DHT.h" #define DHTTYPE DHT11 // DHT 11 // Cập nhật thông tin // Thông tin về wifi #define ssid "Wifi-Free" #define password "66668888" // Thông tin về MQTT Broker #define mqtt_server "hassio.local" #define mqtt_topic_pub "test" 35 #define mqtt_topic_sub "test" #define mqtt_user "lophocvui" #define mqtt_pwd "123456" const uint16_t mqtt_port = 1883; //Port của MQTT WiFiClient espClient; PubSubClient client(espClient); const int DHTPin = D4; //Đọc dữ liệu từ DHT11 ở chân D4 trên mạch esp826 long lastMsg = 0; char msg[50]; int value = 0; // Timers auxiliar variables long now = millis(); long lastMeasure = 0; // Thiet Lap cam bien DHT DHT dht(DHTPin, DHTTYPE); void setup() { Serial.begin(115200); setup_wifi(); client.setServer(mqtt_server, mqtt_port); dht.begin(); } // Hàm kết nối wifi void setup_wifi() { delay(10); Serial.println(); Serial.print("Connecting to "); Serial.println(ssid); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi connected"); Serial.println("IP address: "); Serial.println(WiFi.localIP()); } 36 // Hàm reconnect thực hiện kết nối lại khi mất kết nối với MQTT Broker void reconnect() { // Chờ tới khi kết nối while (!client.connected()) { Serial.print("Attempting MQTT connection "); // Thực hiện kết nối với mqtt user và pass if (client.connect("ESP8266Client",mqtt_user, mqtt_pwd)) { Serial.println("connected"); // Khi kết nối sẽ publish thông báo client.publish(mqtt_topic_pub, "ESP_reconnected"); // và nhận lại thông tin này client.subscribe(mqtt_topic_sub); } else { Serial.print("failed, rc="); Serial.print(client.state()); Serial.println(" try again in 5 seconds"); // Đợi 5s delay(5000); } } } void loop() { if (!client.connected()) { reconnect(); } if(!client.loop()) client.connect("ESP8266Client"); now = millis(); // Publishes new temperature and humidity every 30 seconds if (now - lastMeasure > 1000) { lastMeasure = now; float h = dht.readHumidity(); float t = dht.readTemperature(); // Check if any reads failed and exit early (to try again) if (isnan(h) || isnan(t) /*|| isnan(l)*/) { Serial.println("Failed to read from DHT sensor!"); return; } static char temperatureTemp[7]; dtostrf(t, 6, 2, temperatureTemp); static char humidityTemp[7]; 37 dtostrf(h, 6, 2, humidityTemp); // Publishes Temperature and Humidity values client.publish("sensor/temperature", temperatureTemp); client.publish("sensor/humidity", humidityTemp); Serial.print("Humidity: "); Serial.print(h); Serial.print(" %\t Temperature: "); Serial.print(t); Serial.print(" *C "); Serial.print("\n "); } } 4.2.2 Code chương trình cấu hình ESPHome esphome: name: living_room_nodemcu platform: ESP8266 board: nodemcuv2 wifi: ssid: "TP-LINK_8E0C" password: "97099475" # Enable fallback hotspot (captive portal) in case wifi connection fails ap: ssid: "Living Room Nodemcu" password: "YHJT3OyhCmM7" captive_portal: # Enable logging logger: # Enable Home Assistant API api: ota: sensor: - platform: dht pin: D2 temperature: name: "Living Room Temparature" 38 humidity: name: "Living Room Humidity" update_interval: 5s model: DHT11 4.2.3 Kiểm thử Hình 4.2.Trang chủ Home Assistant Hình 4.3 Add-on ESPHome với thiết bị hoạt động 39 Hình 4.4 Giao diện dịng lệnh ESPHome Hình 4.5.Code giao diện hiển thị cho nhiệt độ độ ẩm 40 Hình 4.6 Code giao diện hiển thị nhiệt độ độ ẩm dạng History-graph Hình 4.7 Store Add-on Home Assistant 41 KẾT LUẬN Việc thiết kế hệ thống điều khiển thiết bị giám sát nhiệt độ, độ ẩm từ xa qua internet có ý nghĩa to lớn, ứng dụng nhiều lĩnh vực đời sống xã hội cơng nghiệp Ngồi ra, module wifi kết hợp với Home Assistant mở nhiều hướng ứng dụng khác, phục vụ tốt cho việc học tập nghiên cứu sinh viên Việc xây dựng hệ thống giám sát nhiệt độ, độ ẩm từ xa qua internet liên quan đến nhiều tảng kiến thức từ kiến thức lý thuyết kiến thức thực tiễn Hướng phát triển đề tài: Trong thời gian tới, em tiếp tục nghiên cứu phát triển đề tài theo hướng sau đây: - Tăng tính xác ổn định hệ thống - Phát triển thêm nhiều chức cho hệ thống - Tích hợp nhiều module phù hợp với nhiều đối tượng người dùng - để phục vụ cho sống phục vụ công nghiệp 42 TÀI LIỆU THAM KHẢO https://www.home-assistant.io/docs/configuration/ https://filegi.com/tech-term/binary-file-165/ https://esphome.io/devices/esp8266.html https://theorangeone.net/posts/esphome-dht-sensor/ https://www.hackster.io/colinodell/mqtt-temperature-and-humidity-monitor-forhome-assistant-27b8d1 43 ... dụng kiến thức đạt trình học môn Hệ thống nhúng, chúng em định chọn đề tài: “ HỆ THỐNG ĐO NHIỆT ĐỘ VÀ ĐỘ ẨM VỚI SMARTHOME? ?? Sau thời gian thực đồ án chuyên ngành nhóm sinh viên hiểu thêm số ứng dụng... Tính Home Assistant Hình 3.1 Sơ đồ khối của mạch thiết bị Hình 3.2 Mạch đo nhiệt độ, độ ẩm mơ Proteus Hình 3.3 Mạch đo nhiệt độ, độ ẩm thực tế Hình 4.1 ESPHome Hình 4.2.Trang chủ Home Assistant... dụng nguồn 5VDC cấp qua cổng Usb chân Vin 3.3 THIẾT KẾ MẠCH Hình 3.2 Mạch đo nhiệt độ, độ ẩm mô Proteus 31 Hình 3.3 Mạch đo nhiệt độ, độ ẩm thực tế 32 CHƯƠNG IV LẬP TRÌNH VÀ KIỂM THỬ 4.1 LẬP TRÌNH