Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 33 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
33
Dung lượng
2,86 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO BÀI TẬP LỚN Giảng viên hướng dẫn :Mai Cường Thọ Bộ môn thực : Internet of Things (IoT) Sinh viên thực : Trương Minh Vũ Nguyễn Văn Trâm Khánh Hịa – 10/2022 BỢ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN ĐỀ TÀI SMARTHOME - ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA WIFI DÙNG APP INVENTOR CÓ KẾT HỢP BẰNG GIỌNG NÓI Giảng viên hướng dẫn :Mai Cường Thọ Bộ môn thực : Internet of Things (IoT) Sinh viên thực : Trương Minh Vũ - 61131565 Nguyễn Văn Trâm - 6113 Khánh Hòa – 10/2022 LỜI CẢM ƠN Trước tiên em xin gửi lời cám ơn chân thành sâu sắc tới thầy cô giáo trường Đại học Nha Trang thầy giáo Khoa Công nghệ Thông tin tận tình giảng dạy, truyền đạt cho em kiến thức, kinh nghiệm quý báu suốt thời gian qua Đặc biệt em xin gửi lời cảm ơn đến thầy Mai Cường Thọ tận tình giúp đỡ, trực tiếp bảo, hướng dẫn em suốt trình làm dự án.Trong thời gian làm việc với thầy, cô, em không ngừng tiếp thu thêm nhiều kiến thức bổ ích mà cịn học tập tinh thần làm việc, thái độ nghiên cứu khoa học nghiêm túc, hiệu quả, điều cần thiết cho em q trình học cơng tác sau Sau xin gửi lời cảm ơn chân thành tới gia đình, bạn bè động viên,đóng góp ý kiến giúp đỡ trình học tâp, nghiên cứu hồn thành báo cáo Khánh Hịa, ngày 26 tháng 10 năm 2022 LỜI CAM ĐOAN Chúng em xin cam đoan: Những nội dung dự án chúng em thực hướng dẫn thầy Mai Cường Thọ nghiên cứu Internet,sách báo, tài liệu ngồi nước có liên quan, khơng chép hay sử dụng làm mơ hình đề tài khác Mọi tham khảo dùng đồ án trích dẫn rõ ràng tên tác giả, tên cơng trình, thời gian, địa điểm cơng bố Chúng em xin chịu hoàn toàn trách nhiệm lời cam đoan trước thầy nhà trường Khánh Hòa, ngày 26 tháng 10 năm 2022 MỤC LỤC LỜI CẢM ƠN LỜI CAM ĐOAN PHẦN I TỔNG QUAN VỀ ĐỀ TÀI Lý chọn đề tài Mục tiêu nghiên cứu Nhiệm vụ nghiên cứu Phương pháp nghiên cứu .8 Đối tượng nghiên cứu Phạm vi nghiên cứu PHẦN II NỘI DUNG CỦA ĐỀ TÀI CHƯƠNG I: KHÁI QUÁT 1.1 Giới thiệu phần mềm Arduino IDE 1.2 Giới thiệu Module Wifi ESP8266 10 1.3 Giới thiệu tạo tải App Inventor Smartphone 11 1.4 Các thiết bị có liên quan đề tài .14 CHƯƠNG II: MƠ PHỎNG VÀ LẬP TRÌNH TRÊN ARDUINO IDE 16 2.1 Giới thiệu mơi trường tích hợp Arduino 16 2.2 Lập trình cho ESP8266 Arduino IDE .20 CHƯƠNG III: ĐIỀU KHIỂN THIẾT BỊ ĐIỆN TỪ XA QUA APP INVENTOR VÀ ESP8266 .23 3.1 Sơ đồ thiết kế 23 3.2 Tiến hành thực thi kết thực tế .24 PHẦN III KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN .28 1.Kết luận dự án 28 Hướng phát triển 28 PHẦN IV: TÀI LIỆU THAM KHẢO 29 DANH MỤC HÌNH Hình Phần mềm Arduino IDE Hình Esp8266 .10 Hình Module Relay 5V 14 Hình Đèn led trái ớt 15 Hình Thiết bị quạt điện 220V 16 Hình Ví dụ Điều khiển led đơn giản 19 Hình Sơ đồ thiết kế mạch 23 Hình Sơ đồ thực thi 23 Hình Mơ hình triển khai thực tế 24 Hình 10 Cắm nguồn cho Esp thiết bị điện .24 Hình 11 Nạp chương trình xuất địa IP .25 Hình 12 Giao diện ứng dụng nhập IP .25 Hình 13 Bật tắt đèn phịng 26 Hình 14 Bật tắt quạt điện 26 Hình 15 Bật tắt đèn vệ sinh 27 CÀI ĐẶT APP INVENTOR Bước 1.1 Truy cập trang chủ App Inventor 11 Bước 1.2 Tạo project .11 Bước 1.3 Thiết kế View project .12 Bước 1.4 Chuyển đổi trang thiết kế 12 Bước 1.5 Thiết kế Block project 13 Bước 1.6 Xây dựng ứng dụng .13 Bước 1.7 Nhận mã QR quét sử dụng .14 CÀI ĐẶT ARDUINO Bước 2.1 Truy cập trang chủ Arduino IDE 16 Bước 2.2 Chọn tải Arduino IDE 17 Bước 2.3 Lựa chọn ổ đĩa tải 17 Bước 2.4 Cài đặt Aduino IDE .17 Bước 2.5 Thiết lập cấu hình kết nối Arduino Esp8266 18 PHẦN I TỔNG QUAN VỀ ĐỀ TÀI Lý chọn đề tài Mỗi giai đoạn phát triển lịch sử giới gắn liền với cách mạng khoa học kĩ thuật.Và ngày nay, cách mạng Internet of Things tạo nên thay đổi đáng kể cho sống người tương lai Với phát triển Internet, smartphone đặc biệt thiết bị điều khiển từ xa, Internet of Things (IoT) trở thành xu hướng giới IoT định nghĩa vật dụng có khả kết nối Internet Bạn vào nhà, mở khóa cửa, đèn tự động sáng chỗ bạn đứng, điều hòa tự động điều chỉnh nhiệt độ, nhạc tự động bật để chào đón bạn… điều có phim khoa học viễn tưởng, dần trở thành thực với công nghệ IoT Việc điều khiển từ xa thiết bị đèn vấn đề quan trọng khiến cho công việc bật tắt thiết bị trở nên đơn giản, tiện lợi nhanh chóng Hơn hết, chứng tỏ bước phát triển khoa học cơng nghệ giúp ích khiến cho đời sống thoải mái đơn giản thời đại 4.0 Từ nhu cầu thực tế cần có thiết bị điều khiển, giám sát nhiệt đồ, độ ẩm, tủ lạnh, liệu,… smartphone, thông qua Module Wifi Esp8266 hay Esp32 Từ đó, tính linh động cao, cập nhật liệu 24/24h nhằm tăng hiệu quản lý Xuất phát từ lý trên, chúng em chọn đề tài:”Điều khiển thiết bị điện qua app inventor từ module wifi esp8266” làm dự án môn “Internet of things” Trong q trình thực dự án khơng tránh khỏi thiếu sót, chúng em mong nhận góp ý thầy bạn để đề tài hoàn thiện Mục tiêu nghiên cứu Thiết kế mạch điều khiển thiết bị từ xa smartphone để bật tắt thiết bị điện Nhiệm vụ nghiên cứu Nghiên cứu phần mềm Arduino IDE, Module Wifi ESP8266, Module Relay kênh, thiết bị điện Nghiên cứu Module Wifi ESP8266, phần mềm App Inventor điện thoại Phương pháp nghiên cứu Nghiên cứu lý thuyết: Tìm hiểu khái niệm, cấu tạo, thông số ký thuật, sơ đồ mạch Esp8266 với Module Relay kênh Tìm hiểu cách cài đặt tải app Inventor điện thoại Nghiên cứu thực nghiệm: Thiết kế mạch điều khiển từ xa thiết bị điện điện thoại thông qua Module Wifi ESP8266 Đối tượng nghiên cứu Module Wifi ESP8266, Module Relay kênh thiết bị điện Phạm vi nghiên cứu Thiết kế mạch điều khiển từ xa thiết bị điện điện thoại thông qua Module Wifi ESP8266 PHẦN II NỘI DUNG CỦA ĐỀ TÀI CHƯƠNG I: KHÁI QUÁT 1.1 Giới thiệu phần mềm Arduino IDE 1.1.1 Phần mền Arduino IDE gì? - Arduino IDE phần mềm với mã nguồn mở, sử dụng chủ yếu để viết biên dịch mã vào module Arduino Nó bao gồm phần cứng phần mềm Phần cứng chứa đến 300,000 board mạch thiết kế sẵn với cảm biến, linh kiện Phần mềm giúp bạn sử dụng cảm biến, linh kiện Arduino cách linh hoạt phù hợp với mục đích sử dụng Hình Phần mềm Arduino IDE - Đây phần mềm Arduino thống, giúp cho việc biên dịch mã trở nên dễ dàng, người bình thường khơng có kiến thức kỹ thuật làm 1.1.2 Arduino IDE hoạt động nào? - Khi người dùng viết mã biên dịch, IDE tạo file Hex cho mã File Hex file thập phân Hexa Arduino hiểu gửi đến bo mạch cáp USB Mỗi bo Arduino tích hợp vi điều khiển, vi điều khiển nhận file Hex chạy theo mã viết 1.1.3 Lý bạn nên sử dụng Arduino IDE Phần mềm lập trình mã nguồn mở miễn phí Sử dụng ngơn ngữ lập trình C/C++ thân thiện với lập trình viên Hỗ trợ lập trình tốt cho bo mạch Arduino Thư viện hỗ trợ phong phú Giao diện đơn giản, dễ sử dụng Bước 2.3 Lựa chọn ổ đĩa tải - Sau tải hoàn tất bạn vào nơi lưu trữ cài đặt tiến hành cài đặt Arduino IDE Bước 2.4 Cài đặt Aduino IDE - Bạn Click vào “I Agree / Next / Install” (bạn chờ giây lát để IDE tiến hành cài đặt) - Như vây bạn cài xong Arduino IDE b Cài đặt chức Arduino IDE - Sau kết nối cài đặt xong, xuất cổng COM ảo máy tính (Tùy loại hệ điều hành mà có tên cổng như: COM1, COM2 Windows - Mở Arduino IDE lựa chọn (tham khảo cấu hình kết nối hình dưới): Board: NodeMCU 1.0 (ESP-12E Module) Port: chọn cổng gắn thiết bị vào thấy xuất Upload speed: Chọn cao nhất, nạp không chọn thấp dần Bước 2.5 Thiết lập cấu hình kết nối Arduino Esp8266 2.1.2 Cấu trúc chương trình lập trình Arduino - Cũng ngơn ngữ lập trình khác, ngơn ngữ Arduino sử dụng ngôn ngữ C, cấu trúc chương trình Arduino bao gồm phần : void setup() { Thực việc thiết lập ban đầu cho ứng dụng } Void loop() { Vòng lặp thực chương trình } - Hàm setup() sử dụng để khởi tạo giá trị biến, thiết lập chế độ chân, bắt đầu sử dụng thư viện…Hàm setup thực lần cấp nguồn reset Arduino - Hàm loop() hiểu chương trình chính, thực chức lập trình có tính lặp lại liên tục 2.1.3 Một số ví dụ lập trình ứng dụng - Trong Arduino hỗ trợ nhiều ví dụ với thư viện mở, sử dụng tùy vào mục đích mà điều chỉnh cho phù hợp Ví dụ: Lập trình Điều khiển led Hình Ví dụ Điều khiển led đơn giản - Trong hình led kết nối tới chân 13 Arduino board, với hiệu ứng nhấp nháy cách giây - Chương trình lập trình sau: int led = 13; // khoi tao chan led la 13 void setup() { pinMode(led, OUTPUT); // chon che } void loop() { digitalWrite(led, HIGH); // xuat muc chan led delay(1000); // tre 1s digitalWrite(led, LOW); // xuat muc thap led delay(1000); // tre1s } 2.2 Lập trình cho ESP8266 Arduino IDE Nạp chương trình cho Esp8266 qua Arduino IDE a.Nạp giải thích chương trình code #include Thư viện có sẵn cho module Esp8266 Wifi truyền nhận cổng 80 WiFiClient client; WiFiServer server(80); /* Cài đặt WIFI */ const char* ssid = "TMV"; Nhập thông tin đăng nhập WiFi SSID mật const char* password = "minhvu1202"; /* liệu nhận từ ứng dụng */ String data =""; Truyền nhận liệu /* xác định chân điều khiển động */ int relay1 = 4; /* GPIO4(D2) -> IN3 */ int relay2 = 2; /* GPIO2(D4) -> IN1 */ int relay3 = 13; /* GPIO13(D7) -> IN1 */ void setup() { /* khởi tạo chân điều khiển động làm đầu */ Khai báo kết nối relay với chân Esp8266 Dữ liệu chân relay OUTPUT, cổng Serial 115200 lệnh kết nối Wifi pinMode(relay1, OUTPUT); pinMode(relay2, OUTPUT); Nếu kết nối thành công nhận địa IP pinMode(relay3, OUTPUT); Serial.begin(115200); connectWiFi(); server.begin(); Nếu kết nối bắt đầu } void loop() { /* Nếu máy chủ có sẵn, chạy chức "checkClient" */ client = server.available(); if (!client) return; data = checkClient (); if (data == "r1on") turnonrelay(relay1); else if (data == "r1off") turnoffrelay(relay1); else if (data == "r2on") turnonrelay(relay2); Kiểm tra liệu gửi để bật tắt relay Tương ứng lệnh r1on/r1off bật tắt đèn r2on/r2off bật/tắt quạt, đèn vệ sinh else if (data == "r2off") turnoffrelay(relay2); else if (data == "r3on") turnonrelay(relay3); else if (data == "r3off") turnoffrelay(relay3); } /****************************** BẬT RELAY ***********************/ void turnonrelay(int relay) { digitalWrite(relay,HIGH); Hàm bật tắt Module relay } void turnoffrelay(int relay) { digitalWrite(relay,LOW); } /***************** NHẬN DỮ LIỆU TỪ ỨNG DỤNG *****************/ String checkClient (void) { while(!client.available()) delay(1); String request = client.readStringUntil('\r'); Serial.println(request); Hàm tách đoạn test muốn gửi từ điện thoại Hàm tách đoạn test muốn gửi từ điện thoại return request; } void connectWiFi() { Serial.println("Connecting to WIFI"); WiFi.begin(ssid, password); while ((!(WiFi.status() == WL_CONNECTED))) { delay(300); Serial.print("."); Hàm kết nối Wifi } Serial.println(""); Serial.println("WiFi connected"); Serial.println("NodeMCU Local IP is : "); Serial.print((WiFi.localIP())); } CHƯƠNG III: ĐIỀU KHIỂN THIẾT BỊ ĐIỆN TỪ XA QUA APP INVENTOR VÀ ESP8266 3.1 Sơ đồ thiết kế 3.1.1 Sơ đồ thiết kế mạch Hình Sơ đồ thiết kế mạch - Kết nối chân DC+, DC-, IN1, IN3 (Module relay 1) IN1 (Module relay 1) với chân VU,G,D2, D4 D1 Esp8266 để tương ứng với thiết bị điện 3.1.2 Sơ đồ sơ lược dự án Hình Sơ đồ thực thi - Thiết kế phịng trọ bật/tắt bóng đèn phịng, bóng đèn nhà vệ sinh thiết bị quạt thông qua thiết bị điện thoại mà không cần tới bật/tắt công tắc thủ công trước - Sơ đồ nhà trọ có tầng, phía có nhà vệ sinh thiết kế bóng đèn, lên cầu thang tới tầng gác thiết kế thiết bị bóng đèn phòng quạt điện 3.2 Tiến hành thực thi kết thực tế 3.2.1 Mơ hình triển khai Hình Mơ hình triển khai thực tế 3.2.2 Tiến hành thực tế - Đầu tiên, ta cấp nguồn cho Esp8266 cho thiết bị 220V Hình 10 Cắm nguồn cho Esp thiết bị điện - Tiếp theo, ta nạp chương trình code cho Esp8266 ,đợi chạy tới mức 100% mở Serial Monitor để xem địa IP Hình 11 Nạp chương trình xuất địa IP - Kế tiếp, ta bật ứng dụng Mit app Inventor thiết kế cài đặt trước đó, nhập địa Ip (192.168.43.220) hiển thị bước vào ứng dụng để kết nối Hình 12 Giao diện ứng dụng nhập IP - Sau đó, đồng esp với điện thoại, điều khiển thiết bị cách nhấn nút, kể giọng nói tương ứng với lệnh yêu cầu 3.2.3 Kết thực tế Nhấn nút bật tắt đèn phịng Hình 13 Bật tắt đèn phòng Nhấn nút bật tắt đèn quạt Hình 14 Bật tắt quạt điện Nhấn nút bật tắt đèn nhà vệ sinh Hình 15 Bật tắt đèn vệ sinh PHẦN III KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 1.Kết luận dự án “Điều khiển thiết bị phòng trọ ứng dụng điện thoại qua app Inventor” đề tài đòi hỏi nhiều thời gian nghiên cứu để thiết kế, đưa mục tiêu vai trị mang lại Giúp cho người người nhà nhà tin vào việc điều khiển thiết bị điện thoại thuận lợi cho người dùng đem đến quan trọng mà mang lại Trên trình bày chi tiết em đề tài“Điều khiển thiết bị điện qua wifi dùng app Inventor có kết hợp giọng nói”, giới hạn trình độ nên chúng em gặp nhiều khó khăn việc tiếp cận cơng nghệ, phát triển chức số vấn đề kĩ thuật khác… Ngoài thời gian nên chưa phát triển nhiều tính tối ưu hết hiệu làm việc chương trình, thời gian tới em cố gắng hoàn thiện thêm để mang sản phẩm thân đóng góp cho xã hội cộng đồng Chúng em mong nhận góp ý thầy để xây dựng hồn chỉnh ngơi nhà thơng minh với nhiều chức tương lai Em xin chân thành cảm ơn! Hướng phát triển Nếu có nhiều thời gian kiến thức chúng em kết hợp thêm: Cảm biến cửa nhà vệ sinh: Khi nhân tín hiệu người vào đèn sáng Khi có tín hiệu người đèn tắt Hẹn bật/tắt thiết bị: Hẹn lúc 5-6h chiều (tức trời ngả tối) đèn tự động bật Hẹn lúc 9-10 tối (tức ngủ) đèn tự động tắt Nếu đèn bật xuyên đêm lúc 5-6h sáng (tức trời đã) đèn tự động tắt Cảm biến ánh sáng: Cảm biến khơng nhận ánh sáng đèn tự động mở Cảm biến nhận ánh sáng đèn tự động tắt Tắt/mở thêm nhiều thiết bị: Máy lạnh Mở cửa Kéo thang cuộn PHẦN IV: TÀI LIỆU THAM KHẢO Arduino Kit: https://arduinokit.vn/dieu-khien-thiet-bi-bang-mit-app-inventor-sudung-nodemcu-esp8266/ Dự án Elearning: https://dientuviet.com/dieu-khien-thiet-bi-dien-qua-wifi/ Arduino.vn: http://arduino.vn/tutorial/2181-huong-dan-tao-app-dieu-khien-ledbang-giong-noi-thong-qua-app-inventor Random nerd tutorials: https://randomnerdtutorials.com/esp8266-controlled-withandroid-app-mit-app-inventor/ 5.DVN group: https://dvn.com.vn/do-an-dieu-khien-thiet-bi-qua-wifi-1654079562/