Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 173 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
173
Dung lượng
10,57 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH ĐỒ ÁN TỐT NGHIỆP NGÀNH ĐIỆN TỬ CÔNG NGHIỆP THIẾT KẾ VÀ THI CÔNG HỆ THỐNG ĐIỀU KHIỂN THIẾT BỊ TRONG NHÀ GVHD: NGUYỄN TRƯỜNG DUY SVTH: ĐẶNG CAO THỨC SVTH: NGUYỄN ĐÌNH TRUNG SKL007354 Tp Hồ Chí Minh, tháng 08/2020 TRƯỜNG ĐH SPKT TP HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Chuyên ngành: Hệ đào tạo: Khóa: 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 toà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Ử BỘ MƠN ĐIỆN TỬ CƠNG NGHIỆP – Y SINH LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: MSSV: Họ tên sinh viên: MSSV: 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 Tuần (9/3 – 15/3) Tuần (16/3 – 22/3) Tuần (23/3 – 29/3) Tuần (20/3 – 5/4) Tuần (6/4 – 12/4) Tuần (13/4 – 19/4) Tuần (20/4 – 26/4) Tuần (27/4 – 3/5) Tuần (4/5 – 10/5) Tuần 10,11 (11/5 – 24/5) Tuần 12 (25/5 – 31/5) 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) 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 PHỤ LỤC byte moc; String cb1 = "", cb2 = "", cb3 = "", cb4 = "", cb5 = "", cb6 = ""; String s = "", s1 = "", s2 = ""; String nhiet_do = "", do_am = "", khi_gas = "", lua = "", cua = "", chuyen_dong = ""; String st1 = "", st2 = "", st3 = "", st4 = "", st5 = "", st6 = "", st7 = "", st8 = "", stb = ""; int count = 0; String url; int tt1 = 0, tt2 = 0, tt3 = 0, tt4 = 0, tt5 = 0, tt6 = 0, tt7 = 0, tt8 = 0; String ssid = "12345679"; String password = "matkhaumoi"; const char* host = "dkgstb2020.online"; const char *hostthietbi = "http://dkgstb2020.online/dktb/text.php"; WiFiClient client; int chophepwifi = 0; String wifigoc = "0"; void setup() { Serial.begin(9600); mySerial.begin(57600); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(300); Serial.print("."); } } void loop() { if (chophepwifi == 1) { WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH PHỤ LỤC delay(300); Serial.print("."); } chophepwifi = 0; } //co tin hieu tu arduino if (mySerial.available()) { char c = mySerial.read(); s += c; if (c == '\n') { s1 = s; s = ""; for (int i = 0; i 800) { // kết nối đến port 80 if (client.connect(host, 80)) { Serial.println("connected"); // truyền liệu lên server theo phương thức get client.print(String("GET http://dkgstb2020.online/insert/insertcb.php?") + ("nhiet-do=") ("&do-am=") ("&khi-gas=") ("&lua=") ("&cua=") ("&chuyen-dong=") + chuyen_dong + " HTTP/1.1\r\n" "Host: " + host + "\r\n" + + "Connection: close\r\n\r\n"); } else { Serial.println("connection failed"); } delay(50); if (client.connect(host, 80)) { BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 135 PHỤ LỤC Serial.println("connected"); client.print(String("GET http://dkgstb2020.online/insert/inserttb1.php?") + ("&tb1=") ("&tb2=") ("&tb3=") ("&tb4=") ("&tb5=") ("&tb6=") ("&tb7=") ("&wifigoc=") " HTTP/1.1\r\n" "Host: " + host + "\r\n" "Connection: close\r\n\r\n"); } else { Serial.println("connection failed"); } delay(50); t1 = millis(); } //nhan du lieu tu database va gui ve arduino if (millis() - t2 > 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 #define COUNT_ADDRESS #define ID_BYTE #define EEPROM_SIZE #define WIFI_SSID #define WIFI_PASSWORD #define emailSenderAccount #define emailSenderPassword #define emailRecipient #define emailRecipient2 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 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 ... Chương TÍNH TỐN VÀ THI? ??T KẾ 3.1GIỚI THI? ??U 3.2TÍNH TỐN VÀ THI? ??T KẾ HỆ THỐNG 3.2. 1Thi? ??t kế sơ đồ khối hệ thống 3.2.2Tính tốn thi? ??t kế mạch a Khối điều khiển trung tâm... MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Chuyên ngành: Hệ đào tạo: Khóa: 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... Nguyễn Thị Hạ năm 2019 ? ?Thi? ??t kế thi công hệ thống điều khiển thi? ??t bị điện nhà thông qua Amazon Alexa cảnh báo chống trộm”[3], đề tài này, nhóm tác giả điều khiển thi? ??t bị điện nhà chế độ: chế độ