Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 41 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
41
Dung lượng
1,9 MB
Nội dung
skkndownloadbychat@gmail.com ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ o0o BÁO CÁO BÀI TẬP LỚN ĐIỀU KHIỂN VÀ GIÁM SÁT THIẾT BỊ ĐIỆN THÔNG QUA TRỢ LÝ ẢO GOOGLE ASSISTANT GVHD: ThS Trần Hoàng Quân SVTH: Phạm Xuân Thi - 1814120 Phạm Minh Uy - 1810258 Đặng Xuân Khu - 1915857 TP HỒ CHÍ MINH, THÁNG 11 NĂM 2021 skkndownloadbychat@gmail.com LỜI CẢM ƠN Lời đầu tiên, nhóm chúng xem xin chân thành cảm ơn thầy Trần Hoàng Qn giảng dạy tận tình có góp ý bổ ích cho chúng em hồn thành đồ án môn học Sự bùng nổ cách mạng 4.0 khiến cụm từ Interner of Things hay vạn vật kết nối internet trở nên khơng cịn q xa lạ với nhiều người Từ ta dễ dàng kiểm soát điều khiển thứ xung quanh ta hơn, đặc biệt thiết bị nhà “SMART HOME” giải pháp cụ thể để nâng cấp bảo vệ nhà cách thuận lợi an tồn Đề tài có nhiều người làm, chúng em làm lại dựa kiến thức kinh nghiệm Nó giúp chúng em có kiến thức có thêm nhiều kinh nghiệm cho sau Dù nổ lực trình thực hiện, giới hạn kiến thức thời gian làm gấp rút nên không tránh khỏi sai sót Chúng em mong nhận đóng góp, bổ sung Thầy bạn để nội dung nghiên cứu hồn thiện Tp Hồ Chí Minh, ngày 25 tháng 11 năm 2021 skkndownloadbychat@gmail.com TĨM TẮT ĐỒ ÁN Đồ án trình bày hệ thống Smart Home cho nhà Bao gồm đồ án gồm có số chức cở sau: Mở khóa cửa điện từ Passwords, Passwords thay đổi cách dễ dàng không cần thông qua code Điều khiển đèn, hiển thị nhiệt độ độ ẩm thông qua ứng dụng Blynk, nút nhấn giọng nói skkndownloadbychat@gmail.com MỤC LỤC GIỚI THIỆU 1.1 Tổng quan 1.2 Nhiệm vụ đề tài 1.3 Phân chia cơng việc nhóm 2 LÝ THUYẾT 2.1 Google Assistant 2.2 NODE MCU ESP8266 2.3 IFTTT 2.4 ATmega328P 2.5 Blynk 2.6 Cảm Biến Nhiệt Độ Độ Ẩm 2.7 Module I2C giao tiếp với LCD 2.8 Keypad 4x4 THIẾT KẾ VÀ THỰC HIỆN PHẦN CỨNG 10 THIẾT KẾ VÀ THỰC HIỆN PHẦN MỀM 14 4.1 Yêu cầu thiết kế 14 4.2 Lưu đồ giải thuật 15 KẾT QUẢ THỰC HIỆN 17 5.1 Kết tạo app Blynk 17 5.2 Kết 18 21 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 6.1 Kết luận 21 skkndownloadbychat@gmail.com 6.2 Hướng phát triển 21 TÀI LIỆU THAM KHẢO 21 PHỤ LỤC 22 skkndownloadbychat@gmail.com DANH SÁCH HÌNH MINH HỌA Hình 5-1 Giao diện app web ứng dụng Blynk 17 Hình 5-2 Giao tiếp LCD với Keypad 18 Hình 5-3 Giao tiếp với đèn Led 20 GIỚI THIỆU: 1.1 Tổng quan: Sự bùng nổ cách mạng 4.0 khiến cụm từ Interner of Things hay vạn vật kết nối internet trở nên khơng cịn q xa lạ với nhiều người.Ngày thấy có nhiều thành từ IoT mang lại Rất nhiều cơng ty dốc lực để phát triển thật mạnh IoT Chính tầm quan trọng nên nhóm chúng em định chọn đề tài này, để từ đồ án mà nhóm có thêm kinh nghiệm cho công việc tương lai Cụ thể nhóm nhận thấy tầm quan trọng việc điều khiển thiết bị điện gia đình, với tiện lợi mà Google Assistant (trợ lý ảo Google phát triển) mang lại Nhóm sử dụng trợ lý ảo Google Assistant làm phương tiện để điều khiển thiết bị điện giọng nói Đồng thời thiết kế phần mềm chạy điện thoại thông minh sử dụng hệ điều hành Android, giúp người sử dụng thao tác điều khiển quản lý trạng thái thiết bị cách dễ dàng nơi đâu có phủ sóng WIFI Hệ thống có vơ số lợi ích chẳng hạn việc tắt quạt, đèn điện người chủ nhà quên chưa tắt thiết bị điện khỏi nhà Hay bật máy điều hịa để làm mát phòng trước nhà khoảng thời gian định Phát triển lên tùy chỉnh nhiệt độ máy điều hòa theo yêu cầu 1.2 Nhiệm vụ đề tài: Nội dung 1: o Tìm hiểu nguyên lý, lý thuyết hệ thống giao tiếp Internet, WIFI, module NodeMCU ESP8266 o Tìm hiểu cách thức hoạt động ESP8266, điện áp hoạt động, cách đổ code, Nội dung 2: Tìm hiểu cảm biến, vi xử lý, bo mạch phát triển, … o Tìm hiểu giao tiếp UART Atmega328p, code Đọc Datasheet cảm biến, cách thức giao tiếp vi xử lý cảm biến Nắm vững thao tác phần mềm mô Proteus Nội dung 3: Thiết kế điều khiển đèn, cửa 1.3 Phân chia công việc nhóm: Đặng Xuân Khu: Mua thiết bị phần cứng, hàn mạch, đổ sửa code Phạm Xuân Thi: Code phần khóa cửa điện tử Atmega328p, hiển thị LCD Phạm Minh Uy: Code giao tiếp UART Atmega328p NodeMCU ESP8266 Mỗi sinh viên tìm hiểu lý thuyết phần làm Tham gia thảo luận Google Meet vào cuối tuần có thắc mắc muốn trao đổi LÝ THUYẾT: 2.1 Google Assistant: Khái niệm: Google Assistant trợ lý ảo thông minh tương tự Siri Apple, Bixby Samsung hay Cortana Microsoft Windows Google Assistant hỗ trợ nhiều tính thơng minh tìm kiếm thông tin hay thực yêu cầu mà người dùng đưa mở danh bạ, gọi điện cho người có tên danh bạ, đọc tin nhắn, mở nhạc… Lịch sử phát triển:Google Assistant trợ lý cá nhân ảo phát triển Google giới thiệu hội nghị nhà phát triển hãng vào tháng năm 2016 Google Assistant ban đầu đưa vào ứng dụng nhắn tin Google Allo, loa thông minh Google Home Sau thời gian có mặt hai điện thoại thơng minh Pixel Pixel XL hãng, Google bắt đầu triển khai Assistant thiết bị Android khác vào tháng năm 2017, bao gồm điện thoại thông minh bên thứ ba thiết bị Android Wear, phát hành dạng ứng dụng riêng biệt iOS vào tháng Cùng với mắt phát triển phần mềm vào tháng năm 2017, Assistant tiếp tục mở rộng hỗ trợ cho lượng lớn thiết bị, bao gồm xe thiết bị nhà thông minh Các chức Assistant bổ sung nhà phát triển bên thứ ba o Chế độ thay đổi Passwords: Sau nhập Passwords cũ đổi Passwords 4.2 Phân tích thiết kế: Thứ vấn đề điều khiển thông qua app Việc viết ứng dụng cho điện thoại thật khó, để dễ dàng nên lựa chọn ứng dụng tạo để tạo giao diện Qua khoảng thời gian nghiên cứu đồ án định sử dụng app Blynk để tạo giao diện nguồn mở có cộng đồng hỗ trợ rộng rãi dễ dàng để tạo giao diện Thứ hai vấn đề điều khiển giọng nói, yêu cầu đặt phải dễ sử dụng liên kết dược với hệ thống Do đồ án định sử dụng google assistant để điều khiển, việc liên kết với Blynk thông qua bên thứ IFTTT Đây cầu nối giúp xem xét câu nói cài đặt sẵn qua gán lệnh xuống Blynk câu nói cấu trúc cài Thứ ba vấn đề đồng đèn, đồng cách nút nhấn nhấn thay đổi trạng thái blynk trạng thái đèn Blynk nhấn thay đổi trạng thái đèn tương ứng trạng thái thiết bị Blynk Thứ ba chế độ đóng mở cửa cần giải vấn đề nhập Passwords Để nhập Passwords cần phím để xác nhận bắt đầu nhập, phím để kết thúc q trình nhập Đồ án sử dụng phím A để bắt đầu nhập ba phím B, C, D dùng để kết thúc q trình nhập ba phím chọn chế độ hoạt động Thứ tư giải việc đọc nút nhấn, cần phải có thủ thuật chống rung nút nhấn Đồ án sử dụng chống rung nút nhấn phần mềm Lưu đồ giải thuật: KẾT QUẢ THỰC HIỆN 5.1 Kết tạo app Blynk: Hình 5.1: Giao diện app web ứng dụng Blynk 5.2 Kết quả: Hình 5.2: Giảo tiếp LCD với Keypad Hình 5.3: Giao tiếp với đèn Led Đánh giá kết làm việc nhóm: o thành viên nhóm cố gắng hoàn thành tập lớn o Mục tiêu chung nhóm cố gắng kết nối với google assistant với module esp8266, kết nối với app IFTTT app báo lỗi, khơng cài đặt KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 6.1 Kết luận: Xây dựng mơ hình để ứng dụng điều khiển thiết bị điện nhà công tắc cảm ứng Hệ thống điều khiển thiết bị điện từ xa thông qua wifi phần mềm Blynk, giọng nói với Google Assistant Đã đồng điều khiển thiết bị điện nhà công tắc cảm ứngvới app Blynk Google Assistant giúp ta giám sát thiết bị nhà thông qua giao diện Blynk Khuyết điểm: o Chưa liên kết phần cứng lại với nhau, tốn nhiều chân kết nối keypad hay ngoại vi đơn giản o Thời gian phản hồi chậm thông qua UART o Thay đổi password phần cứng, chưa thể đồng Blynk o Phụ thuộc vào Wifi nên cúp điện thiết bị khơng hoạt động được, khoảng cách kết nối hạn chế 6.2 Hướng phát triển Tự phát triển app Android, IOS để điều khiển thiết bị qua wifi Sử dụng mạng ZIGBEE để truyền xa, đỡ hao tốn lượng không nhiễu Phát triển thêm hệ thống khác cho phòng ngủ, nhà bếp, sân vườn, hoạt động điều khiển qua lại với Phát triển thêm thiết bị điều khiển nơng nghiệp Áp dụng trí thơng minh nhân tạo vào hệ thống TÀI LIỆU THAM KHẢO [1] Thông tin NodeMCU ESP8266: https://components101.com/developmentboards/nodemcu-esp8266-pinout-features-and-datasheet [2] Atmega328P datasheet: https://datasheet.octopart.com/ATMEGA328P-MUMicrochip-datasheet-65729177.pdf [3] Blynk: https://tapit.vn/huong-dan-cai-dat-server-blynk-tren-windows-khong- gioi-han-energy/ [4] Arduino for ESP8266: https://arduino.esp8266.vn/ PHỤ LỤC: Code: SERVO: KEYPAD_LCD: {'4','5','6','B'}, {'7','8','9','C'}, {'*','0','#','D'} ; byte rowPins[rows] = {5,6,7,8}; byte columnPins[columns] = {9,10,11,12}; Keypad keypad = Keypad(makeKeymap(keys), rowPins, columnPins, rows, columns); void setup() { Serial.begin(9600); myservo.attach(13); lcd.init(); lcd.backlight(); lcd.setCursor(2,0); lcd.print("Enter Password"); lcd.setCursor(0,1); initialpassword(); } void loop() { key_pressed = keypad.getKey(); if(key_pressed == '#') change(); if(key_pressed) { password[i++]=key_pressed; lcd.print(key_pressed); } if(i == 4) { delay(200); for(int j = 0; j < 4; j++) initial_password[j] = EEPROM.read(j); if(!(strncmp(password, initial_password,4))) { lcd.clear(); lcd.print("Pass Accepted"); for(pos = 90; pos >= 1; pos -= 1) { myservo.write(pos); delay(15); } delay(2000); lcd.setCursor(0,1); lcd.print("Pres # to change"); delay(2000); lcd.clear(); lcd.print("Enter Password:"); lcd.setCursor(0,1); i = 0; } else { lcd.clear(); lcd.print("Wrong Password"); lcd.setCursor(0,1); lcd.print("Pres # to Change"); delay(2000); lcd.clear(); lcd.print("Enter Password"); lcd.setCursor(0,1); i = 0; } } } void change() { int j = 0; lcd.clear(); lcd.print("Current Password"); lcd.setCursor(0,1); while(j < 4) { char key = keypad.getKey(); if(key) { new_password[j++] = key; lcd.print(key); } key = 0; } delay(500); if((strncmp(new_password, initial_password, 4))) { lcd.clear(); lcd.print("Wrong Password"); lcd.setCursor(0,1); lcd.print("Try Again"); delay(1000); } else { j = 0; lcd.clear(); lcd.print("New Password:"); lcd.setCursor(0,1); while(j < 4) { char key = keypad.getKey(); if(key) { initial_password[j] = key; lcd.print(key); EEPROM.write(j,key); j++; ESP8266_BLYNK: ... quan 1 .2 Nhiệm vụ đề tài 1.3 Phân chia cơng việc nhóm 2 LÝ THUYẾT 2. 1 Google Assistant 2. 2 NODE MCU ESP 826 6 2. 3 IFTTT 2. 4 ATmega 328 P 2. 5 Blynk 2. 6 Cảm Biến Nhiệt Độ Độ Ẩm 2. 7 Module I2C giao... ? ?2? ?C 2. 7 Module I2C giao tiếp với LCD: Module I2C PCF8574 Module I2C LCD: module chuyển đổi từ giao tiếp song song sang giao tiếp I2C cho LCD 16 02, LCD 20 04 o Thông thường giao tiếp LCD 16 02, ... Cảm biến nhiệt độ thường thấy DHT 11 DHT 22 AM23 02 sơ lược DHT 22 có khoảng đo rộng so với DHT 11 khoảng chênh lệch không cần tới chẳng đạt điều DHT 22 lại mắc DHT 11 nhiều Tuy nhiên nguyên vật