HỆ THỐNG điều KHIỂN mái CHE GIẾNG TRỜI, đo NHIỆT độ độ ẩm và THÔNG báo TRÊN APP SHEET, có CODE

26 75 0
HỆ THỐNG điều KHIỂN mái CHE GIẾNG TRỜI, đo NHIỆT độ độ ẩm và THÔNG báo TRÊN APP SHEET, có CODE

Đ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

1 Trang 27 27 HỆ THỐNG ĐIỀU KHIỂN MÁI CHE GIẾNG TRỜI, ĐO NHIỆT ĐỘ ĐỘ ẨM VÀ THÔNG BÁO TRÊN APP SHEET

HỆ THỐNG ĐIỀU KHIỂN MÁI CHE GIẾNG TRỜI, ĐO NHIỆT ĐỘ ĐỘ ẨM VÀ THÔNG BÁO TRÊN APP SHEET Trang / 27 MỤC LỤC Chương Tổng quan đề tài 1.1 Giới thiệu đề tài 1.2 Mục đích nghiên cứu 1.3 Đối tượng nghiên cứu .5 1.4 Phạm vi nghiên cứu 1.5 Dự kiến kết .5 Chương Sơ đồ khối giải thuật 2.1 Sơ đồ khối .7 2.2 Giới thiệu cảm biến đo nhiệt độ độ ẩm DHT11 2.3 ESP-32 2.3.1 ESP-32 2.3.2 Chức ESP-32 .10 2.4 Phần mềm Node-red 10 2.5 Giới thiệu Adruino IDE .11 2.6 Giới thiệu App Sheet 12 Chương Giải thuật điểu khiển 15 3.1 Nguyên lý làm việc hệ thống 15 3.2 Lưu đồ giải thuật .15 Chương Thực nghiệm 16 4.1 Tiến hành thực nghiệm 16 4.2 Kết thực nghiệm .18 4.3 Hiển thị thông tin App Sheet .18 4.4 Ứng dụng IoT 18 Chương Kết luận 20 5.1 Ưu điểm 20 5.2 Nhược điểm 20 TÀI LIỆU THAM KHẢO: 21 Trang / 27 Chương Tổng quan đề tài 1.1 Giới thiệu đề tài Giới thiệu: Chúng ta sống thời đại mà công nghiệp 4.0 phát triển mạnh mẽ nhất, ứng dụng xuất khắp nơi quanh sống số chúng Internet Vạn Vật hay cịn gọi Internet of things (IoT) Nó đóng vai trị mạng tồn cầu mà vật dụng người đặt theo cách riêng, có khả kết nối, giao tiếp với thông qua mạng Internet mà không cần trực tiếp tương tác với Trong tương lai IoT phát triển rực rỡ nữa, góp phần phát triển nhiều mặt sống ngày Ở đề tài này, tìm hiểu biết cách điều khiển thiết bị nhà, đo nhiệt độ độ ẩm mơi trường thơng qua lập trình node-red, adruino, xử lí giá trị hiển thị App Sheet Chức năng: Áp dụng công nghệ 4.0 vào thực tế, người lúc làm chủ thời gian khơng gian mình, điều khiển thiết bị truyền tải thông tin mà không cần trực tiếp giao tiếp với Từ tự động hóa ngơi nhà thu giá trị nhiệt độ độ ẩm ngồi mơi trường Phán đốn thực đóng che giếng trời có dấu hiệu trời mưa, đồng thời cập nhật liên tục giá trị nhiệt độ độ ẩm ngồi mơi trường lên App Sheet 1.2 Mục đích nghiên cứu Dựa kiến thức học lập trình vi điều khiển , lập trình C Tiến hành nghiên cứu cách sử dụng kết nối ESP-32 với cảm biến nhiệt độ độ ẩm DHT11 Trang / 27 Đồng thời tìm hiểu thêm kiến thức lập trình node-red cách xuất giá trị lên App Sheet Tìm hiểu chức cấu tạo nguyên lý hoạt động cảm biến đo nhiệt độ độ ẩm Nghiêm cứu chức WiFi Bluetooth ESP-32 Nghiên cứu IoT (Internet of Things) Tìm hiểu gia thức truyền liệu MQTT node red Cuối nhận giá trị đo lúc mà khơng cần trực tiếp đó, thuận tiện cho người sử dụng 1.3 Đối tượng nghiên cứu Module ESP-32 Cảm biến đo nhiệt độ độ ẩm DHT11 Lập trình node-red Phần mềm Adruino IDE Tạo sở liệu App Sheet 1.4 Phạm vi nghiên cứu Ở góc độ đồ án hệ thống nhúng, hạn chế mặt thời gian kinh phí thực nên phạm vi nghiên cứu áp dụng thí nghiệm nhà Cảm biến đo nhiệt độ độ ẩm DHT11 với tầm đo độ ẩm (20%-90% RH với sai số 5%RH) nhiệt độ( 0-50°C với sai số 2°C) 1.5 Dự kiến kết Đóng mở che giếng trời Trang / 27 Đo nhiệt độ độ ẩm ngồi mơi trường Điều khiển chế độ tự động thủ công Hiển thị giá trị đo lên hình Xem giá trị thiết bị có kết nối Internet thơng qua App Sheet Trang / 27 Chương Sơ đồ khối giải thuật 2.1 Sơ đồ khối D H T1 E S P -3 N o d e -re d A p p Sh e et 2.2 Giới thiệu cảm biến đo nhiệt độ độ ẩm DHT11 Cảm biến DHT11 bao gồm phần tử cảm biến độ ẩm điện dung điện trở nhiệt để cảm nhận nhiệt độ Tụ điện cảm biến độ ẩm có hai điện cực với chất giữ ẩm làm chất điện môi chúng Thay đổi giá trị điện dung xảy với thay đổi mức độ ẩm IC đo, xử lý giá trị điện trở thay đổi chuyển chúng thành dạng kỹ thuật số Để đo nhiệt độ, cảm biến sử dụng nhiệt điện trở có hệ số nhiệt độ âm, làm giảm giá trị điện trở nhiệt độ tăng Để có giá trị điện trở lớn thay đổi nhỏ nhiệt độ, cảm biến thường làm gốm bán dẫn polymer Cảm biến nhiệt độ độ ẩm DHT11 cảm biến thông dụng chi phí thấp dễ lấy liệu thông qua giao tiếp wire (giao tiếp digital dây truyền liệu Trang / 27 nhất) Bộ tiền xử lý tín hiệu tích hợp cảm biến giúp bạn có liệu xác mà khơng phải qua tính tốn Hình 2.4: Module cảm biến DHT11 Sơ đồ chân DHT11: VCC Data GND Thông số kỹ thuật: Điện áp hoạt động Dòng điện tiêu thụ Phạm vi cảm biến độ ẩm Phạm vi cảm biến nhiệt độ Tần số lấy mẫu tối đa Kích thước Nguồn 3,5V đến 5,5V Đầu nhiệt độ độ ẩm thông qua liệu nối tiếp Nối đất 3V - 5V DC 2.5mA 20% - 90% RH, sai số ±5%RH 0°C ~ 50°C, sai số ±2°C 1Hz (1 giây lần) 23 12 * mm 2.3 ESP-32 Module điều khiển ESP-32 module MCU có khả đa dụng, mạnh mẽ sử dụng rộng rãi thiết kế mạch điện tử úng dụng rộng rãi ứng dụng IoT Phạm vi ứng dụng từ mạng lưới thiết bị tiết kiệm lượng đến ứng dụng có tác vụ phức tạp mã hóa âm thanh, hình ảnh,… Trang / 27 Hình 2.1: Module ESP-32 Devkitc-32d Thơng số kỹ thuật: Chip điều khiển Wifi Bluetooth Điện áp đầu vào Số chân I/O ESP-32 2.4 GHz hỗ trợ chuẩn 802.11 b/g/n/e/i BR/EDR phiên v4.2 BLE 5V (thông qua cổng USB) 11 (tất có Interrupt/PWM/I2C/Onewire, trừ chân D0) Số chân Analog Input (điện áp vào tối đa 3.3V) Bộ nhớ Flash 4MB Hỗ trợ bảo mật WFA, WPA/WPA2 WAPI Tích hợp giao thức TCP/IP Lập trình ngôn ngữ C/C++, Micropython, NodeMCU-Lua Nhiệt độ hoat động ổn định: -40C đến 85 Điện áp hoạt động 2.2-3.6V Chip ESP-32 thiết kế cho khả mở rộng tùy biến cao Có đến lõi CPU độc lập điều khiển, tần số clock CPU ESP32 tích hợp ngoại vi phong phú từ cảm biến điện dung, cảm biến Hall, SD card, Ethernet, SPI tốc độ cao, UART, I2S hay I2C Trang / 27 Hình 2.2: Sơ đồ chân ESP-32 2.4 Giới thiệu Adruino IDE Arduino IDE phần mềm mã nguồn mở chủ yếu sử dụng để viết biên dịch mã vào module Arduino hay module ESP-32 sử dụng Đây phần mềm Arduino thức, giúp cho việc biên dịch mã trở nên dễ dàng mà người bình thường khơng có kiến thức kỹ thuật làm Môi trường IDE chủ yếu chứa hai phần bản: Trình chỉnh sửa Trình biên dịch, phần đầu sử dụng để viết mã yêu cầu phần sau sử dụng để biên dịch tải mã lên module Arduino Môi trường hỗ trợ ngơn ngữ C C ++ Hình 2.5: Shortcut Arduino Trang 10 / 27 Giao diện làm việc Adruino IDE: Hình 2.6: Giao diện làm việc Adruino IDE 2.5 Phần mềm Node-red Node-red công cụ lập trình kéo-thả để kết nối thiết bị phần cứng, API online services với Nó cung cấp trình soạn thảo dựa trình duyệt giúp dễ dàng kết nối luồng với cách sử dụng loạt Node bảng màu (palette) triển khai cú nhấp chuột Trang 12 / 27 Hình 2.7: Shortcut App Sheet Lợi ích dùng App Sheet: + Ứng dụng AppSheet cách No-code giúp IT thúc đẩy đổi nơi làm việc Lọai bỏ gánh nặng cho việc tạo ứng dụng nơi làm việc dựa CNTT mà khơng phải lo lắng tính bảo mật cách quản trị phát triển ứng dụng tảng No-code từ AppSheet + Cho phép nhà phát triển tổ chức bạn tạo giải pháp sáng tạo nơi làm việc mà họ cần để hồn thành cơng việc tốt hơn, nhanh khả hiển thị cao + Bạn tự tạo ứng dụng quản lý doanh nghiệp cho riêng với vài click chuột! + Ứng dụng AppSheet ứng dụng di động máy tính để bàn với tính mạnh mẽ Trang 13 / 27 Hình 2.8: Giới thiệu App Sheet Trang 14 / 27 Chương Giải thuật điểu khiển 3.1 Nguyên lý làm việc hệ thống Cảm biến đo nhiệt độ độ ẩm DHT11 thu thập liệu cung cấp cho ESP-32 ESP-32 xử lí dữ liệu, tính tốn giá trị gửi lên Node-red thông qua giao thức MQTT Node-red nhận thông báo xử lý liệu nhận để xuất lên hình điều khiển, đồng thời gửi giá trị cập nhật liên tục giá trị qua App Sheet 3.2 Lưu đồ giải thuật Tín hiệu nhiệt độ độ ẩm Cảm biến nhiệt độ độ ẩm DHT11 ESP-32 Node-red App Sheet In kết lên hình Trang 15 / 27 Chương Thực nghiệm 4.1 Tiến hành thực nghiệm Bước 1: Đấu nối cảm biến nhiệt độ độ ẩm DHT11 với ESP-32 cấp nguồn cho Data-D13 VCC-3V3 GND-GND Hình 4.1: Sơ đồ đấu nối dây ESP-32 DHT11 Bước 2: Mở phần mềm Adruino, viết nạp chương trình cho ESP-32 Hình 4.2: Chương trình phần mềm Adruino IDE Trang 16 / 27 Bước 3: Mở Node-red bắt đầu khởi chạy Hình 4.3: Tạo khối Node-red Bước 4: Xuất giá trị đo Dashboard App Sheet quan sát ghi lại số liệu Hình 4.4: Giao diện điều khiển kết Dashboard Node-red Trang 17 / 27 Hình 4.5: Kết hiển thị App Sheet 4.2 Kết thực nghiệm Đóng mở cửa theo chế độ tự động ( cửa mở mà có dấu hiệu trời mưa tự động đóng lại) thủ cơng ( đóng mở theo ý người sử dụng) Đo nhiệt độ độ ẩm ngồi mơi trường cập nhật liên tục giúp người dùng dễ dàng biết thông tin thiết bị miễn có kết nối internet Do qui mơ đồ án hệ thống nhúng hệ thống đo phù hợp để đo hệ thống nhỏ 4.3 Hiển thị thơng tin App Sheet Qua App Sheet ta biết tình hình thời tiết quanh nhà nhiệt độ, độ ẩm, trời nắng hay mưa 4.4 Ứng dụng IoT Ứng dụng vào thực tiễn sau hồn thành xem kết thiết bị di động có kết nối internet Trang 18 / 27 Xem giá trị lẫn trạng thái điều khiển dashboard IP Qua lệnh ipconfig Hình 4.6: Kết sau chạy lệnh ipconfig Trang 19 / 27 Chương Kết luận 5.1 Ưu điểm Giá thành rẻ Dễ dàng sử dụng Thuận tiện cho người sử dụng Giúp tối ưu hóa không gian sống 5.2 Nhược điểm Qui mô nhỏ sữ dụng cho mơ hình vừa nhỏ Tùy thuộc vào linh kiện cách lập trình mà cho kết tin cậy Trang 20 / 27 TÀI LIỆU THAM KHẢO: Tiếng Việt: http://arduino.vn/tags/dht11 https://ohstem.vn/cam-bien-nhiet-do-va-do-am-dht11/ https://bloglaptrinh.info/esp8266-esp32-doc-cam-bien-dht11-server-nodejs/ https://devsamurai.vn/vi/blog-vi/xay-dung-ung-dung-khong-ma-nguon-mot-cachnhanh-chong-voi-appsheet/ Cùng với số đường dẫn hình ảnh khác: Tiếng Anh: https://nodered.org/ https://github.com/node-red CODE ADRUINO: #include #include #include #define DHTPIN 13 #define DHTTYPE DHT11 const char* ssid ="Phim My" ; const char* password = "24032000"; const char* mqtt_server = "192.168.1.249"; const uint16_t mqtt_port = 1883; Trang 21 / 27 WiFiClient espClient; PubSubClient client(espClient); DHT dht(DHTPIN, DHTTYPE); void callback(char* topic, byte* message, unsigned int length) { Serial.print("Message arrived on topic: "); Serial.print(topic); Serial.print(" Message: "); String messageTemp; for (int i = 0; i < length; i++) { Serial.print((char)messageTemp[i]); messageTemp += (char)messageTemp[i]; } Serial.println(); } void setup_wifi(){ delay(10); Serial.println(); Serial.print("connecting to "); Serial.print(ssid); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED){ delay(500); Serial.print("."); Trang 22 / 27 } Serial.println(""); Serial.println("WiFi connected"); Serial.println("IP address: "); Serial.println(WiFi.localIP()); } void setup(){ Serial.begin(9600); dht.begin(); setup_wifi(); client.setServer(mqtt_server, mqtt_port); client.setCallback(callback); } void reconect(){ while (!client.connected()){ Serial.print("Attemting MQTT connecting "); if (client.connect("ESP32Client")) { Serial.println("connected"); } else{ Serial.print("fail, rc="); Serial.print(client.state()); Serial.println("try again in seconds"); Trang 23 / 27 delay(5000); } } } void loop(){ if (!client.connected()){ reconect(); } client.loop(); float Humidity = dht.readHumidity(); char charHumidity[50]; float Temp = dht.readTemperature(); char charTemp[50]; dtostrf(Humidity, 1, 2, charHumidity); Serial.print("Humidity: "); Serial.print(charHumidity); Serial.println(" t"); client.publish("Humidity", charHumidity); Serial.print("\n"); dtostrf(Temp, 1, 2, charTemp); Serial.print("Tamp: "); Serial.print(charTemp); Serial.println(" t"); Trang 24 / 27 client.publish("Tamp", charTemp); Serial.print("\n"); } LUỒNG NODE-RED [ { "id": "d79195fad1305c83", "type": "tab", "label": "Flow 2", "disabled": false, "info": "" }, { "id": "a01a6782a24b5c4f", "type": "change", "z": "d79195fad1305c83", "name": "Reset", "rules": [ { "t": "set", "p": "set", "pt": "flow", "to": "0", "tot": "num" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1190, "y": 480, "wires": [ [] ] }, { "id": "7f8252604708da0d", "type": "ui_gauge", "z": "d79195fad1305c83", "name": "", "group": "a97b5507d43daef4", "order": 1, "width": 0, "height": 0, "gtype": "gage", "title": "Nhiệt độ", "label": " ⁰C", "format": "{{value}}", "min": 0, "max": "100", "colors": [ "#00b500", "#e6e600", "#ca3838" ], "seg1": "", "seg2": "", "className": "", "x": 1020, "y": 100, "wires": [] }, { "id": "d815e9b509e5e1cb", "type": "function", "z": "d79195fad1305c83", "name": "", "func": "msg.Humidity = flow.get(\"Humidity\");\nmsg.Tamp = flow.get(\"Tamp\")\n\nmsg.HumiditySetup = flow.get(\"HumiditySetup\");\nmsg.TampSetup = flow.get(\"TampSetup\");\n\nif(msg.Humidity >= msg.HumiditySetup || msg.Tamp

Ngày đăng: 23/04/2022, 23:18

Hình ảnh liên quan

Hình 2.4: Module cảm biến DHT11 - HỆ THỐNG điều KHIỂN mái CHE GIẾNG TRỜI, đo NHIỆT độ độ ẩm và THÔNG báo TRÊN APP SHEET, có CODE

Hình 2.4.

Module cảm biến DHT11 Xem tại trang 7 của tài liệu.
duy nhất). Bộ tiền xử lý tín hiệu tích hợp trong cảm biến giúp bạn có được dữ liệu chính xác mà không phải qua bất kỳ tính toán nào - HỆ THỐNG điều KHIỂN mái CHE GIẾNG TRỜI, đo NHIỆT độ độ ẩm và THÔNG báo TRÊN APP SHEET, có CODE

duy.

nhất). Bộ tiền xử lý tín hiệu tích hợp trong cảm biến giúp bạn có được dữ liệu chính xác mà không phải qua bất kỳ tính toán nào Xem tại trang 7 của tài liệu.
Hình 2.1: Module ESP-32 Devkitc-32d - HỆ THỐNG điều KHIỂN mái CHE GIẾNG TRỜI, đo NHIỆT độ độ ẩm và THÔNG báo TRÊN APP SHEET, có CODE

Hình 2.1.

Module ESP-32 Devkitc-32d Xem tại trang 8 của tài liệu.
Hình 2.1: Module ESP-32 Devkitc-32d - HỆ THỐNG điều KHIỂN mái CHE GIẾNG TRỜI, đo NHIỆT độ độ ẩm và THÔNG báo TRÊN APP SHEET, có CODE

Hình 2.1.

Module ESP-32 Devkitc-32d Xem tại trang 8 của tài liệu.
Hình 2.2: Sơ đồ chân ESP-32 - HỆ THỐNG điều KHIỂN mái CHE GIẾNG TRỜI, đo NHIỆT độ độ ẩm và THÔNG báo TRÊN APP SHEET, có CODE

Hình 2.2.

Sơ đồ chân ESP-32 Xem tại trang 9 của tài liệu.
Hình 2.5: Shortcut của Arduino - HỆ THỐNG điều KHIỂN mái CHE GIẾNG TRỜI, đo NHIỆT độ độ ẩm và THÔNG báo TRÊN APP SHEET, có CODE

Hình 2.5.

Shortcut của Arduino Xem tại trang 9 của tài liệu.
Hình 2.6: Giao diện làm việc của Adruino IDE - HỆ THỐNG điều KHIỂN mái CHE GIẾNG TRỜI, đo NHIỆT độ độ ẩm và THÔNG báo TRÊN APP SHEET, có CODE

Hình 2.6.

Giao diện làm việc của Adruino IDE Xem tại trang 10 của tài liệu.
Hình 2.3: Giao diện node-red - HỆ THỐNG điều KHIỂN mái CHE GIẾNG TRỜI, đo NHIỆT độ độ ẩm và THÔNG báo TRÊN APP SHEET, có CODE

Hình 2.3.

Giao diện node-red Xem tại trang 11 của tài liệu.
Hình 2.7: Shortcut của AppSheet - HỆ THỐNG điều KHIỂN mái CHE GIẾNG TRỜI, đo NHIỆT độ độ ẩm và THÔNG báo TRÊN APP SHEET, có CODE

Hình 2.7.

Shortcut của AppSheet Xem tại trang 12 của tài liệu.
Hình 2.8: Giới thiệu AppSheet - HỆ THỐNG điều KHIỂN mái CHE GIẾNG TRỜI, đo NHIỆT độ độ ẩm và THÔNG báo TRÊN APP SHEET, có CODE

Hình 2.8.

Giới thiệu AppSheet Xem tại trang 13 của tài liệu.
Hình 4.1: Sơ đồ đấu nối dây ESP-32 và DHT11 - HỆ THỐNG điều KHIỂN mái CHE GIẾNG TRỜI, đo NHIỆT độ độ ẩm và THÔNG báo TRÊN APP SHEET, có CODE

Hình 4.1.

Sơ đồ đấu nối dây ESP-32 và DHT11 Xem tại trang 15 của tài liệu.
Hình 4.2: Chương trình trong phần mềm Adruino IDE - HỆ THỐNG điều KHIỂN mái CHE GIẾNG TRỜI, đo NHIỆT độ độ ẩm và THÔNG báo TRÊN APP SHEET, có CODE

Hình 4.2.

Chương trình trong phần mềm Adruino IDE Xem tại trang 15 của tài liệu.
Hình 4.3: Tạo khối trên Node-red - HỆ THỐNG điều KHIỂN mái CHE GIẾNG TRỜI, đo NHIỆT độ độ ẩm và THÔNG báo TRÊN APP SHEET, có CODE

Hình 4.3.

Tạo khối trên Node-red Xem tại trang 16 của tài liệu.
Hình 4.4: Giao diện điều khiển và kết quả trên Dashboard Node-red - HỆ THỐNG điều KHIỂN mái CHE GIẾNG TRỜI, đo NHIỆT độ độ ẩm và THÔNG báo TRÊN APP SHEET, có CODE

Hình 4.4.

Giao diện điều khiển và kết quả trên Dashboard Node-red Xem tại trang 16 của tài liệu.
Hình 4.5: Kết quả hiển thị ở AppSheet - HỆ THỐNG điều KHIỂN mái CHE GIẾNG TRỜI, đo NHIỆT độ độ ẩm và THÔNG báo TRÊN APP SHEET, có CODE

Hình 4.5.

Kết quả hiển thị ở AppSheet Xem tại trang 17 của tài liệu.
Hình 4.6: Kết quả sau khi chạy lệnh ipconfig - HỆ THỐNG điều KHIỂN mái CHE GIẾNG TRỜI, đo NHIỆT độ độ ẩm và THÔNG báo TRÊN APP SHEET, có CODE

Hình 4.6.

Kết quả sau khi chạy lệnh ipconfig Xem tại trang 18 của tài liệu.

Từ khóa liên quan

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

Tài liệu liên quan