TỔNG QUAN VỀ ĐỀ TÀI
Lý do chọn đề tài
Mỗi giai đoạn phát triển của lịch sử thế giới đều gắn liền với những cuộc cách mạng về khoa học kĩ thuật.Và ngày nay, cuộc cách mạng Internet of Things đã tạo nên những thay đổi đáng kể cho cuộc sống con người ở hiện tại và trong tương lai Với sự phát triển của Internet, smartphone và đặc biệt là các thiết bị điều khiển từ xa, Internet of Things (IoT) đang trở thành xu hướng mới của thế giới IoT được định nghĩa là những vật dụng có khả năng kết nối Internet Bạn vào nhà, mở khóa cửa, đèn sẽ tự động sáng chỗ bạn đứng, điều hòa sẽ tự động điều chỉnh nhiệt độ, nhạc sẽ tự động bật để chào đón bạn… những điều chỉ có trong phim khoa học viễn tưởng, đang dần trở thành hiện thực với công nghệ IoT.
Việc điều khiển từ xa thiết bị đèn là một vấn đề rất quan trọng nó khiến cho công việc bật tắt thiết bị trở nên đơn giản, tiện lợi và nhanh chóng hơn Hơn hết, nó chứng tỏ được từng bước phát triển về khoa học và công nghệ giúp ích khiến cho đời sống thoải mái và đơn giản hơn trong thời đại 4.0.
Từ nhu cầu thực tế cần có một thiết bị điều khiển, giám sát nhiệt đồ, độ ẩm, tủ lạnh, dữ liệu,… bằng smartphone, thông qua Module Wifi Esp8266 hay Esp32 Từ đó, tính linh động cao, cập nhật các dữ liệu 24/24h nhằm tăng hiệu quả quản lý. Xuất phát từ những lý do 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 của bộ môn “Internet of things” Trong quá trình thực hiện dự án không tránh khỏi thiếu sót, chúng em rất mong nhận được sự góp ý của thầy và các bạn để đề tài được hoàn thiện hơn.
Mục tiêu nghiên cứu
Thiết kế mạch điều khiển thiết bị từ xa bằng smartphone để bật tắt thiết bị điện.
Nhiệm vụ nghiên cứu
Nghiên cứu về phần mềm Arduino IDE, Module Wifi ESP8266, Module Relay 2 kênh, thiết bị điện.
Nghiên cứu Module Wifi ESP8266, phần mềm App Inventor trên đ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, các thông số ký thuật, sơ đồ mạch giữa Esp8266 với Module Relay 2 kênh Tìm hiểu cách cài đặt và tải app Inventor về đ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 trên điện thoại thông qua Module Wifi ESP8266.
Đối tượng nghiên cứu
Module Wifi ESP8266, Module Relay 2 kênh và các 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 trên điện thoại thông qua Module Wifi ESP8266.
KHÁI QUÁT
Giới thiệu phần mềm Arduino IDE
1.1.1 Phần mền Arduino IDE là gì?
- Arduino IDE là một phần mềm với một mã nguồn mở, được sử dụng chủ yếu để viết và biên dịch mã vào module Arduino Nó bao gồm phần cứng và phần mềm Phần cứng chứa đến 300,000 board mạch được thiết kế sẵn với các cảm biến, linh kiện Phần mềm giúp bạn có thể sử dụng các cảm biến, linh kiện ấy của Arduino một cách linh hoạt phù hợp với mục đích sử dụng.
Hình 1 Phần mềm Arduino IDE
- Đây là một phần mềm Arduino chính thống, giúp cho việc biên dịch mã trở nên dễ dàng, ngay cả một người bình thường không có kiến thức kỹ thuật cũng có thể làm được.
1.1.2 Arduino IDE hoạt động như thế nào?
- Khi người dùng viết mã và biên dịch, IDE sẽ tạo file Hex cho mã File Hex là các file thập phân Hexa được Arduino hiểu và gửi đến bo mạch bằng cáp USB. Mỗi bo Arduino đều được tích hợp một bộ vi điều khiển, bộ vi điều khiển sẽ nhận file Hex và chạy theo mã được viết.
1.1.3 Lý do 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 các 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.
Giới thiệu Module Wifi ESP8266
1.2.1 Module Wifi ESP8266 là gì?
- ESP8266 là một chip của Espressif Systems có tích hợp công nghệ Wi-Fi với đặc tính giá rẻ, tương thích với nhiều nền tảng Nó thường được sử dụng trong các board mạch smart home giá rẻ như Sonoff Basic và các công tắc Wi-Fi Module sơ khai nhất của ESP8266 là ESP-01.
Tần số hoạt động: 80 MHz
Bộ nhớ flash: 1MB 17 GPIO pins
Giao tiếp: I2C, SPI, I²S, UART Đặc biệt: 10bit ADC
1.2.3 Các module esp thường gặp
Giới thiệu tạo và tải App Inventor trên Smartphone
- MIT App Inventor là một ứng dụng web cung cấp người dùng nền tảng để lập trình ứng dụng android Được phát triển bởi Google và đang được duy trì bởi viện công nghệ Massachusetts (MIT) Mục tiêu của App Inventor là giúp cho người dùng dễ dàng tạo ra các ứng dụng android mà không cần kiến thức lập trình Bằng cách kéo thả các khối mã và sắp xếp chúng lại với nhau để tạo thành một ứng dụng.
1.3.2 Hướng dẫn tạo trên app Inventor
- Truy cập: http://ai2.appinventor.mit.edu/ để vào app Sau khi nhấp vào
“Create Apps!“ ở góc trên cùng bên trái, bạn tiến hành đăng nhập với tài khoản gmail của mình nhé.
Bước 1.1 Truy cập trang chủ App Inventor
- Sau khi đăng nhập, bạn nhấp vào “Projects” trên màn hình tiếp theo và sau đó chọn “Start new project”.
- Bây giờ bạn tiến hành thiết kế giao diện cho ứng dụng bằng cách chọn nhấp chọn nút “Designer” ở góc trên bên phải
- Trong màn hình thiết như hình bên dưới, bạn nhấp chọn và kéo các đối tượng(component) ở cột Palette vào trong màn hình thiết kế Viewer như hình bên dưới.
Bước 1.3 Thiết kế View của project
- Các bạn lưu ý, cột Components cho thấy các đối tượng được sử dụng để thiết kế giao diện cho ứng dụng này
- Bạn có thể thay đổi thuộc tính của các đối tượng trong cột Properties Sau khi thiết kế giao diện cho ứng dụng xong, bạn nhấp vào “Blocks” ở góc trên bên phải để lập trình cho ứng dụng của bạn.
Bước 1.4 Chuyển đổi trang thiết kế
- Trong màn hình lập trình như hình bên dưới, bạn hãy nhấp vào các đối tượng tương ứng trên màn hình thiết kế rồi chọn và sắp xếp các khối như hình dưới đây.
Bước 1.5 Thiết kế Block của project
- Sau khi thiết kế giao diện và lập trình cho ứng dụng xong, chúng ta sẽ đóng gói ứng dụng ra file apk và cài vào điện thoại của mình Để xuất ra được file apk các bạn chọn “Build” trên menu rồi chọn “App“.
Bước 1.6 Xây dựng ứng dụng
- Sau đó, sẽ nhận được mã QR, bạn hãy sử dụng công cụ để quét app về rồi sử dụng.
Bước 1.7 Nhận mã QR quét và sử dụng
Các thiết bị có liên quan đề tài
- Sau đây là danh sách các linh kiền cần thiết để thực hiện ứng dụng điều khiển thiết bị điện qua wifi bằng MIT App Inventor và NodeMCU ESP8266.
STT Tên linh kiện Số lượng
Bảng 1 Các thiết bị liên quan đến đề tài
- Giới thiệu sơ lược về các thiết bị trừ NodeMCU ESP8266 (có phần chi tiết khác):
- Module Relay 2-Channel 5V được dùng nhiều trong các ứng dụng đóng ngắt các thiết bị tiêu thụ dòng điện lớn ( 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 cơ làm đầu ra */ pinMode(relay1, OUTPUT); pinMode(relay2, OUTPUT); pinMode(relay3, OUTPUT);
Serial.begin(115200); connectWiFi(); server.begin(); Nếu kết nối được thì sẽ bắt đầu
Thư viện có sẵn cho module Esp8266 Wifi và truyền nhận cổng 80
Nhập thông tin đăng nhập WiFi như SSID và mật khẩu.
Khai báo kết nối relay với chân trên Esp8266
Dữ liệu của 3 chân relay là OUTPUT, cổng Serial 115200 và lệnh kết nối Wifi.Nếu kết nối thành công sẽ nhận được địa chỉ IP. void loop()
/* Nếu máy chủ có sẵn, hãy chạy chức năng "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); 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)
/***************** NHẬN DỮ LIỆU TỪ ỨNG DỤNG *****************/
Hàm bật tắt Module relay.
Hàm tách đoạn test muốn gửi về từ điện thoại.
Kiểm tra dữ liệu gửi về để bật tắt relay.
Tương ứng nếu lệnh r1on/r1off thì sẽ bật tắt đèn và r2on/r2off sẽ bật/tắt quạt, cũng như đèn vệ sinh.
Serial.println(request); return request;
Serial.println("Connecting to WIFI");
WiFi.begin(ssid, password); while ((!(WiFi.status() == WL_CONNECTED)))
Serial.println("NodeMCU Local IP is : ");
Hàm tách đoạn test muốn gửi về từ điện thoại.
ĐIỀU KHIỂN THIẾT BỊ ĐIỆN TỪ XA QUA APP INVENTOR VÀ ESP8266
Sơ đồ thiết kế
3.1.1 Sơ đồ thiết kế mạch
Hình 7 Sơ đồ thiết kế mạch
- Kết nối lần lượt chân DC+, DC-, IN1, IN3 (Module relay 1) và IN1 (Module relay 1) với lần lượt chân VU,G,D2, D4 và D1 của Esp8266 để tương ứng với thiết bị điện.
3.1.2 Sơ đồ sơ lược của dự án
Hình 8 Sơ đồ thực thi
- Thiết kế phòng trọ có thể bật/tắt 1 bóng đèn phòng, 1 bóng đèn nhà vệ sinh và
1 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 như trước đây.
- Sơ đồ nhà trọ có 2 tầng, phía dưới có một nhà vệ sinh được thiết kế 1 bóng đèn, tiếp theo là đi lên cầu thang rồi tới tầng gác thì sẽ thiết kế 2 thiết bị đó là 1 bóng đèn phòng và 1 quạt điện.
Tiến hành thực thi và kết quả thực tế
Hình 9 Mô hình triển khai thực tế
- Đầu tiên, ta cấp nguồn cho Esp8266 cũng như cho các thiết bị 220V
Hình 10 Cắm nguồn cho Esp và 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% và mở Serial Monitor để xem địa chỉ IP của nó.
Hình 11 Nạp chương trình và xuất địa chỉ IP
- Kế tiếp, ta bật ứng dụng Mit app Inventor đã thiết kế và cài đặt trước đó, nhập địa chỉ Ip (192.168.43.220) được hiển thị ở bước trên vào ứng dụng để kết nối.
Hình 12 Giao diện ứng dụng và nhập IP
- Sau đó, đã được đồng bộ esp với điện thoại, bây giờ có thể điều khiển thiết bị bằng cách nhấn nút, kể cả bằng giọng nói tương ứng với lệnh yêu cầu.
Nhấn nút bật và tắt đèn phòng
Hình 13 Bật tắt đèn phòng
Nhấn nút bật và tắt đèn quạt
Hình 14 Bật tắt quạt điện
Nhấn nút bật và tắt đèn nhà vệ sinh
Hình 15 Bật tắt đèn vệ sinh