Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 161 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
161
Dung lượng
12,66 MB
Nội dung
TRƯỜNG ĐH SPKT TP HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM ĐỘC LẬP – TỰ DO – HẠNH PHÚC BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH o0o -Tp HCM, ngày tháng năm 2020 NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Đặng Cao Thức MSSV: 16141300 Nguyễn Đình Trung MSSV: 16141316 Chuyên ngành: Điện tử cơng nghiệp Mã ngành: Hệ đào tạo: Đại học quy Mã hệ: Khóa: 2016 Lớp: 41 16141DT2 I TÊN ĐỀ TÀI: THIẾT KẾ VÀ THI CÔNG HỆ THỐNG ĐIỀU KHIỂN THIẾT BỊ TRONG NHÀ II NHIỆM VỤ Các số liệu ban đầu: - Tìm hiểu kiến thức điều khiển thiết bị thông qua mạng internet - Tìm hiểu vi điều khiển phù hợp với đề tài phương pháp lập trình - Tìm hiểu cảm biến đo thơng số mơi trường như: cảm biến nhiệt độ, cảm biến độ ẩm, cảm biến khí gas, cảm biến phát lửa, cảm biến chuyển động, cảm biến cường độ ánh sáng,… - Tìm hiểu thiết bị điện nhà, hệ thống điều khiển nhà thơng minh - Tìm hiểu kiến thức lập trình website, lập trình app android - Tìm hiểu phần mềm lập trình Nội dung thực hiện: - Tìm hiểu kiến thức, tài liệu liên quan đến đề tài i - Tìm hiểu kiến thức module Arduino Mega 2560, module ESP8266, module ESP32-CAM, module SIM900, module bluetooth HC-06; loại cảm biến: cảm biến ánh sáng, cảm biến chuyển động, cảm biến khí gas, cảm biến nhiệt độ - độ ẩm, cảm biến lửa,… - Tìm hiểu về: hệ thống truyền động rèm cửa; hệ thống bảo mật cửa mật qua App điện thoại bàn phím ma trận; cách điều khiển camera gửi ảnh chụp từ ESP32-CAM - Tìm hiểu giao thức truyền thơng, giao tiếp Arduino Mega 2560 với ESP8266; ESP8266 với sỡ liệu, sở liêu với web server, arduino Mega 2560 app android qua bluetooth - Thiết kế sơ đồ nguyên lý cho tồn mạch - Viết chương trình cho khối điều khiển Arduino Mega 2560, ESP32-CAM, ESP8266 - Tạo sở liệu, thiết kế app hệ điều hành Android, web server để giám sát điều khiển thiết bị thông số nhà - Thiết kế mạch in PCB, thi công mạch, thi công mô hình hồn chỉnh - Chạy thử nghiệm cân chỉnh hệ thống cho ổn định - Viết báo cáo đồ án tốt nghiệp - Báo cáo đồ án tốt nghiệp III NGÀY GIAO NHIỆM VỤ: 09/03/2020 IV NGÀY HOÀN THÀNH NHIỆM VỤ: 01/08/2020 V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: ThS Nguyễn Trường Duy CÁN BỘ HƯỚNG DẪN BM ĐIỆN TỬ CÔNG NGHIỆP – Y SINH ii TRƯỜNG ĐH SPKT TP HỒ CHÍ MINH KHOA ĐIỆN-ĐIỆN TỬ CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM ĐỘC LẬP - TỰ DO - HẠNH PHÚC BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH o0o Tp HCM, ngày tháng năm 2020 LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Đặng Cao Thức MSSV: 16141300 Họ tên sinh viên: Nguyễn Đình Trung MSSV: 16141316 Lớp: 16141DT2A Lớp 16141DT2B Tên đề tài: Thiết kế thi công hệ thống điều khiển thiết bị nhà Tuần/ngày Nội dung Tuần (9/3 – 15/3) - Tuần (16/3 – 22/3) - Tìm hiểu đề tài có liên quan, viết đề cương đồ án - GVHD tiến hành xét duyệt đề tài Tuần (23/3 – 29/3) - Tìm hiểu nội dung cần thực Viết bảng phân chia công việc Tuần (20/3 – 5/4) - Tiến hành thiết kế sơ đồ khối, giải thích chức khối Tuần (6/4 – 12/4) - Thiết kế sơ đồ mạch, giải thích nguyên lý hoạt động mạch Tuần (13/4 – 19/4) Tuần (20/4 – 26/4) Xác nhận GVHD Gặp GVHD để nghe phổ biến yêu cầu làm đồ án, tiến hành chọn đề tài - Tìm hiểu module Arduino Mega2560, module ESP8266 module SIM900, module ESP32CAM - Tìm hiểu cảm biến linh kiện khác - Thiết kế lưu đồ giải thuật iii Tuần (27/4 – 3/5) - Lập trình cho Arduino đọc cảm biến, điều khiển LED đơn thu nhận tín hiệu từ cảm biến Giao tiếp ESP8266 Arduino mega 2560 Tuần (4/5 – 10/5) - Lập trình hệ thống khóa cửa bảo mật dùng bluetooth bàn phím ma trận - Tìm hiểu giao tiếp ESP32-CAM Tuần 10,11 (11/5 – 24/5) - Tìm hiểu hệ điều hành Android, Web Server - Tìm hiểu phương thức gửi liệu từ board mạch lên Web App - Thiết kế App, giao diện Web Tuần 12 (25/5 – 31/5) - Tiến hành tính tốn để lựa chọn linh kiện, vẽ PCB - Tiến hành thi công mạch Tuần 13 (1/6 – 7/6) Tuần 14 (8/6 – 14/6) Tuần 15 (15/6 – 21/6) Tuần 16 (22/6 – 28/6) - Tổng hợp chương trình đọc tất cảm biến, giao tiếp module, truyền nhận liệu qua internet - Hoàn thành thiết kế giao diện Web - Hoàn thành truyền nhận gửi liệu lên Web App - Viết báo cáo - Hồn thành mạch, mơ hình - Kiểm tra hoạt động hệ thống - Chạy thử hệ thống, kiểm tra sửa lỗi - Hoàn thiện báo cáo Làm slide, báo cáo với GVHD GV HƯỚNG DẪN (Ký ghi rõ họ tên) iv LỜI CAM ĐOAN Đề tài nhóm thực dựa vào số tài liệu trước khơng chép từ tài liệu hay cơng trình nghiên cứu có trước Người thực đề tài Đặng Cao Thức Nguyễn Đình Trung v LỜI CẢM ƠN Lời nhóm em xin chân thành cảm ơn đến thầy Nguyễn Trường Duy giúp nhóm nhiều q trình thực đồ án tốt nghiệp Đề tài hoàn thành theo thời gian qui định đồng thời đạt mục tiêu đề không nỗ lực cá nhân nhóm mà cịn có giúp đỡ, dẫn góp ý chân thành thầy Cảm ơn thầy nhiệt tình cung cấp thơng tin hướng dẫn hỗ trợ kiểm tra, khắc phục thơng tin chưa xác Để nhóm em hồn thành tốt đồ án tốt nghiệp Nhóm xin gửi lời cảm ơn chân thành thầy cô Khoa Điện – Điện Tử tạo điều kiện tốt cho nhóm hồn thành đề tài Nhóm xin gửi lời cảm ơn đến bạn lớp 16141DT2 có chia sẻ hiểu biết để nhóm hồn thành tốt đề tài lần Lời cảm ơn sau nhóm xin gửi đến gia đình tạo điều kiện tốt nhất, hỗ trợ mặt kinh tế củng tinh thần, để thành viên nhóm chuyên tâm thực đề tài Người thực đề tài Đặng Cao Thức Nguyễn Đình Trung vi MỤC LỤC NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP i LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP iii LỜI CAM ĐOAN v LỜI CẢM ƠN vi MỤC LỤC vii LIỆT KÊ HÌNH VẼ x LIỆT KÊ BẢNG VẼ xv TÓM TẮT xvi Chương TỔNG QUAN 1.1 ĐẶT VẤN ĐỀ 1.2 MỤC TIÊU 1.3 NỘI DUNG NGHIÊN CỨU 1.4 GIỚI HẠN 1.5 BỐ CỤC Chương CƠ SỞ LÝ THUYẾT 2.1 SƠ LƯỢC VỀ INTERNET OF THINGS 2.1.1 Giới thiệu IoT 2.1.2 Ứng dụng IoT 2.2 SƠ LƯỢC VỀ MẠNG WIFI 2.2.1 Giới thiệu wifi 2.2.2 Một số chuẩn kết nối wifi phổ biến 2.3 SƠ LƯỢC VỀ NHÀ THÔNG MINH 2.3.1 Giới thiệu nhà thông minh 2.3.2 Cơ chế hoạt động nhà thông minh 2.3.3 Ưu điểm nhược điểm nhà thông minh 10 2.4 CÁC CHUẨN VÀ PHƯƠNG THỨC TRUYỀN DỮ LIỆU 13 2.4.1 Chuẩn truyền thông UART 13 2.4.2 Giao thức HTTP HTTPS 14 a Giao thức HTTP 14 b Giao thức HTTPS 16 2.4.3 Phương thức GET POST 16 a Phương thức GET 17 vii b 2.5 Phương thức POST 17 PHẦN CỨNG 17 2.5.1 Vi điều khiển 17 a Giới thiệu Arduino 17 b Giới thiệu Arduino Mega 2560 18 2.5.2 Module wifi ESP8266 23 2.5.3 Module Wifi ESP32-CAM 24 2.5.4 Module SIM900 mini 27 2.5.5 Module bluetooth HC-06 29 2.5.6 Động servo SG90 30 2.5.7 Relay tiếp điểm khí 31 2.5.8 Bàn phím ma trận 4x4 (Keypad 4x4) 32 Chương TÍNH TỐN VÀ THIẾT KẾ 34 3.1 GIỚI THIỆU 34 3.2TÍNH TỐN VÀ THIẾT KẾ HỆ THỐNG 34 3.2.1 Thiết kế sơ đồ khối hệ thống 34 3.2.2 Tính tốn thiết kế mạch 36 a Khối điều khiển trung tâm 36 b Khối cảm biến 37 c Khối cảnh báo 40 d Khối ngõ công suất 42 e Khối nút nhấn 46 f Khối đóng – mở cửa 47 g Khối truyền liệu 50 h Khối điều khiển camera 52 i Khối nguồn 53 3.2.3 Sơ đồ ngun lí tồn mạch 55 a Sơ đồ ngun lí tồn mạch 55 b Giải thích ngun lý hoạt động tồn mạch 56 Chương THI CÔNG HỆ THỐNG 57 4.1 GIỚI THIỆU 57 4.2THI CÔNG HỆ THỐNG 57 4.2.1 Thi công board mạch 57 a Mạch điều khiển 57 viii b Mạch điều khiển camera 59 4.2.2 Lắp ráp kiểm tra 62 a Mạch điều khiển 62 b Mạch điều khiển camera 63 4.3 ĐĨNG GĨI VÀ THI CƠNG MƠ HÌNH 64 4.3.1 Đóng gói điều khiển 64 4.3.2 Thi cơng mơ hình 65 4.4 LẬP TRÌNH HỆ THỐNG 67 4.4.1 Lưu đồ giải thuật 67 a Lưu đồ giải thuật Arduino Mega 2560 67 b Lưu đồ chương trình ESP8266 73 c Lưu đồ chương trình ESP32-CAM 74 4.4.2 Phần mềm lập trình Arduino 75 4.4.3 Lập trình phần mềm Android với MIT App Inventor 76 4.4.4 Phần mềm lập trình web Sublime Text 79 4.4.5 Giới thiệu Hostinger 80 4.5 TÀI LIỆU HƯỚNG DẪN 85 Chương KẾT QUẢ, NHẬN XÉT VÀ ĐÁNH GIÁ 93 5.1 GIỚI THIỆU 93 5.2 KẾT QUẢ ĐẠT ĐƯỢC 93 5.3 KẾT QUẢ THỰC NGHIỆM 94 5.3.1 Mơ hình 94 5.3.2 Đóng – mở cửa chụp ảnh người bấm chuông 96 5.3.3 5.4 Điều khiển thiết bị giám sát môi trường web server 105 NHẬN XÉT VÀ ĐÁNH GIÁ 113 5.4.1 Nhận xét 113 5.4.2 Đánh giá 114 Chương KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 115 6.1 KẾT LUẬN 115 6.2 HƯỚNG PHÁT TRIỂN 115 TÀI LIỆU THAM KHẢO 117 PHỤ LỤC 119 ix LIỆT KÊ HÌNH VẼ Hình 2.1 Internet of things Hình 2.2 Smart industry Hình 2.3 Đồng hồ thơng minh Apple Watch Hình 2.4 Wifi gì? Hình 2.5 Nhà thơng minh Hình 2.6 Mini Google Home 10 Hình 2.7 Google Home 11 Hình 2.8 Apple Homekit 12 Hình 2.9 Amazon Alexa 12 Hình 2.10 Gói liệu truyền UART 13 Hình 2.11 Sóng truyền UART 14 Hình 2.12 Quá trình truyền UART 14 Hình 2.13 Quá trình nhận UART 14 Hình 2.14 Giao thức HTTP 15 Hình 2.15 Arduino mega 2560 18 Hình 2.16 Sơ đồ chân Arduino Mega 2560 21 Hình 2.17 Module ESP8266 23 Hình 2.18 Sơ đồ chân ESP8266 24 Hình 2.19 Module ESP32-CAM 25 Hình 2.20 Cấu tạo ESP32-CAM 25 Hình 2.21 Sơ đồ chân ESP32-CAM 27 Hình 2.22 Module SIM900 mini 27 Hình 2.23 Các chân module SIM900 29 Hình 2.24 Module bluetooth HC-06 29 Hình 2.25 Sơ đồ chân module bluetooth HC-06 30 Hình 2.26 Động servo SG90 30 Hình 2.27 Relay 31 Hình 2.28 Keypad 4x4 32 Hình 2.29 Sơ đồ nguyên lý keypad 4x4 33 Hình 3.1 Sơ đồ khối hệ thống 34 x PHỤ LỤC else { lcd.clear(); lcd.print("Wrong"); } for (int i = 0; i 400) { HTTPClient http; http.begin(hostthietbi); int httpCode = http.GET(); String payload = http.getString(); if (httpCode == 200) { const size_t capacity = JSON_OBJECT_SIZE(3) + JSON_ARRAY_SIZE(2) + 60; BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 136 PHỤ LỤC DynamicJsonBuffer jsonBuffer(capacity); JsonObject& root = jsonBuffer.parseObject(payload); if (!root.success()) { Serial.println(F("Parsing failed!")); return; } String x1 = root["led"][0]["tb1"]; String x2 = root["led"][0]["tb2"]; String x3 = root["led"][0]["tb3"]; String x4 = root["led"][0]["tb4"]; String x5 = root["led"][0]["tb5"]; String x6 = root["led"][0]["tb6"]; String x7 = root["led"][0]["tb7"]; String x8 = root["led"][0]["tb8"]; String x12 = root["led"][0]["tb12"]; String x13 = root["led"][0]["tb13"]; String ndo = root["led"][0]["ndo"]; String dam = root["led"][0]["dam"]; String kgas = root["led"][0]["kgas"]; String dienthoai = root["led"][0]["dienthoai"]; String wifi = root["led"][0]["wifi"]; String passwifi = root["led"][0]["passwifi"]; String passkey = root["led"][0]["passkey"]; if (x1 == "on") { st1 = "1"; } else if (x1 == "off") { st1 = "0"; } if (x2 == "on") { BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 137 PHỤ LỤC st2 = "1"; } else if (x2 == "off") { st2 = "0"; } if (x3 == "on") { st3 = "1"; } else if (x3 == "off") { st3 = "0"; } if (x4 == "on") { st4 = "1"; } else if (x4 == "off") { st4 = "0"; } if (x5 == "on") { st5 = "1"; } else if (x5 == "off") { st5 = "0"; } if (x6 == "on") { st6 = "1"; } else if (x6 == "off") { st6 = "0"; } if (x7 == "on") { st7 = "1"; } else if (x7 == "off") { st7 = "0"; } BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 138 PHỤ LỤC if (x8 == "on") { st8 = "1"; } else if (x8 == "off") { st8 = "0"; } stb = st1 + st2 + st3 + st4 + st5 + st6 + st7 + st8 + x12 + x13 + xtb7 + ndo + dam + kgas + dienthoai + passkey; mySerial.println(stb); if (ssid != wifi) { chophepwifi = 1; ssid = wifi; password = passwifi; } } else { Serial.println("Error in response"); } http.end(); delay(50); t2 = millis(); } } ❖ Chương trình ESP32-CAM #include "esp_camera.h" #include "FS.h" BỘ MƠN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 139 PHỤ LỤC #include "SPI.h" #include "SD.h" #include "EEPROM.h" #include "driver/rtc_io.h" #include "ESP32_MailClient.h" #define CAMERA_MODEL_AI_THINKER #include "camera_pins.h" #define ID_ADDRESS 0x00 #define COUNT_ADDRESS #define ID_BYTE 0x01 0xAA #define EEPROM_SIZE 0x0F #define WIFI_SSID "12345679" #define WIFI_PASSWORD "matkhaumoi" #define emailSenderAccount "nhathongminh.da2020@gmail.com" #define emailSenderPassword "Nhathongminhda2020" #define emailRecipient "ngdinhtrung.qt@gmail.com" #define emailRecipient2 "dangcaothuc98@gmail.com" SMTPData smtpData; uint16_t nextImageNumber = 0; void sendCallback(SendStatus info); void setup() { Serial.begin(115200); WiFi.begin(WIFI_SSID, WIFI_PASSWORD); while (WiFi.status() != WL_CONNECTED) { Serial.print("."); delay(200); } BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 140 PHỤ LỤC camera_config_t config; config.ledc_channel = LEDC_CHANNEL_0; config.ledc_timer = LEDC_TIMER_0; config.pin_d0 = Y2_GPIO_NUM; config.pin_d1 = Y3_GPIO_NUM; config.pin_d2 = Y4_GPIO_NUM; config.pin_d3 = Y5_GPIO_NUM; config.pin_d4 = Y6_GPIO_NUM; config.pin_d5 = Y7_GPIO_NUM; config.pin_d6 = Y8_GPIO_NUM; config.pin_d7 = Y9_GPIO_NUM; config.pin_xclk = XCLK_GPIO_NUM; config.pin_pclk = PCLK_GPIO_NUM; config.pin_vsync = VSYNC_GPIO_NUM; config.pin_href = HREF_GPIO_NUM; config.pin_sscb_sda = SIOD_GPIO_NUM; config.pin_sscb_scl = SIOC_GPIO_NUM; config.pin_pwdn = PWDN_GPIO_NUM; config.pin_reset = RESET_GPIO_NUM; config.xclk_freq_hz = 20000000; config.pixel_format = PIXFORMAT_JPEG; if(psramFound()) { config.frame_size = FRAMESIZE_UXGA; config.jpeg_quality = 10; config.fb_count = 2; } else { BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 141 PHỤ LỤC config.frame_size = FRAMESIZE_SVGA; config.jpeg_quality = 12; config.fb_count = 1; } #if defined(CAMERA_MODEL_ESP_EYE) pinMode(13, INPUT_PULLUP); pinMode(14, INPUT_PULLUP); #endif esp_err_t err = esp_camera_init(&config); if (err != ESP_OK) { return; } sensor_t * s = esp_camera_sensor_get(); s->set_contrast(s, 0); //min=-2, max=2 s->set_brightness(s, 0); //min=-2, max=2 s->set_saturation(s, 0); //min=-2, max=2 delay(100); MailClient.sdBegin(14,2,15,13); if(!SD.begin()) { return; } if (!EEPROM.begin(EEPROM_SIZE)) { while(1); } if(EEPROM.read(ID_ADDRESS) != ID_BYTE) { BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 142 PHỤ LỤC nextImageNumber = 0; EEPROM.write(ID_ADDRESS, ID_BYTE); EEPROM.commit(); } else { EEPROM.get(COUNT_ADDRESS, nextImageNumber); nextImageNumber += 1; } camera_fb_t * fb = NULL; fb = esp_camera_fb_get(); if (!fb) { while(1); //wait here as something is not right } String path = "/IMG" + String(nextImageNumber) + ".jpg"; fs::FS &fs = SD; File file = fs.open(path.c_str(), FILE_WRITE); if(!file) { while(1); } else { file.write(fb->buf, fb->len); EEPROM.put(COUNT_ADDRESS, nextImageNumber); EEPROM.commit(); } file.close(); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 143 PHỤ LỤC esp_camera_fb_return(fb); Serial.printf("Image saved: %s\n", path.c_str()); //send email smtpData.setLogin("smtp.gmail.com", 587, emailSenderAccount, emailSenderPassword); smtpData.setSender("ESP32-CAM", emailSenderAccount); smtpData.setPriority("Normal"); smtpData.setSubject("CÓ KHÁCH"); smtpData.setMessage("Hình ảnh người khách bạn!", true); smtpData.addRecipient(emailRecipient); smtpData.addRecipient(emailRecipient2);// Gửi cho email thứ dạng smtpData.addAttachFile(path); smtpData.setFileStorageType(MailClientStorageType::SD); smtpData.setSendCallback(sendCallback); if (!MailClient.sendMail(smtpData)) smtpData.empty(); Serial.flush(); esp_sleep_enable_ext0_wakeup(GPIO_NUM_4, 1); esp_deep_sleep_start(); } void loop() { } void sendCallback(SendStatus msg) { Serial.println(msg.info()); if (msg.success()) BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 144 PHỤ LỤC { Serial.println(" "); } } BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 145 ... thiết kế, thi công cho đề tài Chương 3: Thiết kế tính tốn Thiết kế sơ đồ khối hệ thống, đưa sơ đồ nguyên lí khối hệ thống thực tính tốn thiết kế Chương 4: Thi cơng hệ thống Chương trình bày thiết. .. chng cửa nhà Đề tài cịn có hệ thống rèm cửa tự động đóng mở theo điều kiện môi trường điều khiển trực tiếp 1.2 MỤC TIÊU Thiết kế thi công hệ thống điều khiển thiết bị nhà sử dụng module Arduino... tài ? ?Thiết kế thi công hệ thống điều khiển thiết bị nhà? ?? Nội dung đề tài • Sử dụng Arduino Mega 2560 làm khối điều khiển trung tâm, ESP8266 làm khối truyền liệu ESP32-CAM làm khối điều khiển