1. Trang chủ
  2. » Luận Văn - Báo Cáo

ĐỀ 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

31 3 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Đề 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
Trường học Khoa Công Nghệ Thông Tin
Chuyên ngành Internet of Things (IoT)
Thể loại báo cáo bài tập lớn
Năm xuất bản 2022
Thành phố Khánh Hòa
Định dạng
Số trang 31
Dung lượng 2,8 MB

Cấu trúc

  • PHẦN I. TỔNG QUAN VỀ ĐỀ TÀI (8)
    • 1. Lý do chọn đề tài (8)
    • 2. Mục tiêu nghiên cứu (8)
    • 3. Nhiệm vụ nghiên cứu (8)
    • 4. Phương pháp nghiên cứu (9)
    • 5. Đối tượng nghiên cứu (9)
    • 6. Phạm vi nghiên cứu (9)
  • PHẦN II. NỘI DUNG CỦA ĐỀ TÀI (10)
  • CHƯƠNG I: KHÁI QUÁT (0)
    • 1.1. Giới thiệu phần mềm Arduino IDE (10)
    • 1.2. Giới thiệu Module Wifi ESP8266 (11)
    • 1.3. Giới thiệu tạo và tải App Inventor trên Smartphone (12)
    • 1.4. Các thiết bị có liên quan đề tài (15)
  • CHƯƠNG II: MÔ PHỎNG VÀ LẬP TRÌNH TRÊN ARDUINO IDE (0)
    • 2.1. Giới thiệu môi trường tích hợp Arduino (18)
    • 2.2. Lập trình cho ESP8266 trên Arduino IDE (22)
  • CHƯƠNG III: ĐIỀU KHIỂN THIẾT BỊ ĐIỆN TỪ XA QUA APP INVENTOR VÀ ESP8266 (25)
    • 3.1. Sơ đồ thiết kế (25)
    • 3.2. Tiến hành thực thi và kết quả thực tế (26)
  • PHẦN III. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (30)
    • 2. Hướng phát triển (30)
  • PHẦN IV: TÀI LIỆU THAM KHẢO (0)

Nội dung

TỔNG QUAN VỀ ĐỀ TÀI

Lý do chọn đề tài

Cuộc cách mạng Internet of Things (IoT) đang tạo ra những thay đổi đáng kể cho cuộc sống con người hiện tại và tương lai Với sự phát triển của Internet và các thiết bị thông minh, IoT được định nghĩa là những vật dụng có khả năng kết nối Internet Ví dụ, khi bạn trở về nhà, cửa sẽ tự động mở, đèn sáng tại chỗ bạn đứng, điều hòa tự động điều chỉnh nhiệt độ, và nhạc sẽ phát lên để chào đón bạn Những điều này, từng chỉ có trong phim khoa học viễn tưởng, đang dần trở thành hiện thực nhờ vào công nghệ IoT.

Việc điều khiển từ xa thiết bị đèn mang lại sự tiện lợi, nhanh chóng và đơn giản trong việc bật tắt thiết bị Điều này không chỉ phản ánh sự tiến bộ trong khoa học và công nghệ mà còn góp phần nâng cao chất lượng cuộc sống trong thời đại 4.0.

Dựa trên nhu cầu thực tế về việc điều khiển và giám sát nhiệt độ, độ ẩm, và dữ liệu từ tủ lạnh qua smartphone, chúng tôi đã chọn đề tài “Điều khiển thiết bị điện qua app inventor từ module wifi esp8266” cho dự án môn “Internet of things” Việc sử dụng Module Wifi Esp8266 hay Esp32 mang lại tính linh động cao và khả năng cập nhật dữ liệu 24/24h, giúp nâng cao hiệu quả quản lý Trong quá trình thực hiện, chúng tôi nhận thấy vẫn còn nhiều thiếu sót và rất mong nhận được ý kiến đóng góp từ thầy và các bạn để hoàn thiện đề tài này.

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

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

Arduino IDE là phần mềm mã nguồn mở, chủ yếu dùng để viết và biên dịch mã cho module Arduino Nó bao gồm cả phần cứng và phần mềm, với phần cứng chứa tới 300,000 board mạch được thiết kế sẵn cùng các cảm biến và linh kiện Phần mềm này cho phép người dùng linh hoạt sử dụng các cảm biến và linh kiện của Arduino theo mục đích riêng.

Hình 1 Phần mềm Arduino IDE

Phần mềm Arduino chính thống này giúp đơn giản hóa quá trình biên dịch mã, cho phép ngay cả những người không có kiến thức kỹ thuật vẫn có thể sử dụng một cách dễ dàng.

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 ra file Hex cho mã đó File Hex là các tệp thập phân Hexa mà Arduino có thể hiểu và được truyền đến bo mạch qua cáp USB Mỗi bo Arduino đều tích hợp một bộ vi điều khiển, bộ vi điều khiển này sẽ nhận file Hex và thực thi 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

ESP8266 là chip của Espressif Systems tích hợp công nghệ Wi-Fi, nổi bật với giá thành rẻ và khả năng tương thích cao với nhiều nền tảng Chip này 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 Phiên bản sơ khai nhất của ESP8266 là ESP-01.

1.2.2 Thông số của ESP8266 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 do Google phát triển và hiện đang được Viện Công nghệ Massachusetts (MIT) duy trì, cung cấp nền tảng lập trình ứng dụng Android cho người dùng Mục tiêu chính của App Inventor là giúp người dùng dễ dàng tạo ra ứng dụng Android mà không cần có kiến thức lập trình, thông qua việc kéo thả các khối mã và sắp xếp chúng để hình thành ứ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 kế, bạn hãy chọn và kéo các đối tượng (component) từ cột Palette vào khu vực Viewer để thực hiện việc thiết lập.

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ể điều chỉnh thuộc tính của các đối tượng trong cột Properties Sau khi hoàn thành thiết kế giao diện ứng dụng, hãy nhấp vào “Blocks” ở góc trên bên phải để bắt đầu 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, hãy nhấp vào các đối tượng tương ứng trên màn hình thiết kế Sau đó, chọn và sắp xếp các khối theo hình mẫu dưới đây.

Bước 1.5 Thiết kế Block của project

Sau khi hoàn tất thiết kế giao diện và lập trình ứng dụng, bước tiếp theo là đóng gói ứng dụng thành file APK để cài đặt trên điện thoại Để xuất file APK, bạn chỉ cần chọn “Build” trên menu và tiếp theo 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 là giải pháp lý tưởng cho việc điều khiển các thiết bị tiêu thụ dòng điện lớn dưới 10A Với khả năng đóng ngắt đồng thời hai kênh, module này tương thích với nhiều vi điều khiển như Arduino, 8051, AVR, PIC, DSP, ARM, và MSP430 Đặc biệt, tính năng cách ly bằng optocoupler giúp bảo vệ các vi điều khiển khỏi các tác động không mong muốn, nâng cao độ bền và hiệu suất hoạt động.

 Đóng ngắt được dòng điện cao: AC250V 10A, DC30V 10A

 2 led báo trạng thái relay

 Mạch cách ly bằng opto

- Có 2 loại đèn được sử dụng trong dự án này:

Hình 4 Đèn led trái ớt

Đèn LED thiết kế theo hình dáng đèn dây tóc truyền thống, mang lại hiệu suất năng lượng cao và thân thiện với môi trường Sản phẩm này có độ sáng vượt trội, tỏa nhiệt ít, màu sắc trung thực và tuổi thọ lên tới 35.000 giờ, đồng thời không phát ra tia UV hay bức xạ.

 Màu ánh sáng: nhiều màu

Hình 5 Thiết bị quạt điện 220V

- Sử dụng tạo gió làm mát cho các thiết bị điện tử, điện gia dụng, y tế.

MÔ PHỎNG VÀ LẬP TRÌNH TRÊN ARDUINO IDE

Giới thiệu môi trường tích hợp Arduino

2.1.1 Hướng dẫn tải và cài đặt Arduino IDE a Tải Arduino IDE

- Truy cập vào link: https://www.arduino.cc/en/Main/Software để tải phần mềm.

Bước 2.1 Truy cập trang chủ Arduino IDE

- Ở đây sẽ xuất hiện các Link Download của các hệ điều hành khác nhau như

(Windows, Mac OS X, Linux) Mình sẽ demo cho các bạn cách cài đặt trên

To install the Arduino Software, select either the Windows Installer for Windows XP and later or the Windows ZIP file for a non-admin installation This will redirect you to the "Contribute to the Arduino Software" section, where you can support the development of this open-source platform through financial contributions.

Bước 2.2 Chọn tải Arduino IDE

Bước tiếp theo bạn Click vào JUST DOWNLOAD, bạn chọn nơi lưu trữ phần mềm có thể là ổ C,D,E tùy các bạn.

Bước 2.3 Lựa chọn ổ đĩa tải

- Sau khi đã tải về hoàn tất bạn vào nơi lưu trữ bản cài đặt và 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 là bạn đã cài xong Arduino IDE. b Cài đặt và chức năng Arduino IDE

Sau khi hoàn tất kết nối và cài đặt, máy tính sẽ hiển thị cổng COM ảo, với tên gọi khác nhau như COM1, COM2 tùy thuộc vào từng loại hệ điều hành Windows.

- Mở Arduino IDE và lựa chọn (tham khảo cấu hình kết nối như hình dưới):

 Port: chọn cổng khi gắn thiết bị vào sẽ thấy xuất hiện

 Upload speed: Chọn cao nhất, nếu nạp không được chọn thấp dần.

Bước 2.5 Thiết lập cấu hình kết nối Arduino và Esp8266

2.1.2 Cấu trúc của một chương trình lập trình Arduino

- Cũng như các ngôn ngữ lập trình khác, ngôn ngữ trong Arduino sử dụng ngôn ngữ C, cấu trúc một chương trình Arduino bao gồm 2 phần chính : void setup() {

Thực hiện việc thiết lập ban đầu cho các ứng dụng

Vòng lặp thực hiện chương trình

Hàm setup() trong Arduino được sử dụng để khởi tạo giá trị cho các biến, thiết lập chế độ chân và bắt đầu sử dụng các thư viện Hàm này chỉ được thực hiện một lần duy nhất khi cấp nguồn hoặc khi reset Arduino.

- Hàm loop() được hiểu như là chương trình chính, thực hiện các chức năng được lập trình và có tính lặp lại liên tục.

2.1.3 Một số ví dụ lập trình các ứng dụng

- Trong Arduino hỗ trợ rất nhiều ví dụ với các thư viện mở, có thể 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 6 Ví dụ Điều khiển led đơn giản

- Trong hình trên led được kết nối tới chân 13 của Arduino board, với hiệu ứng nhấp nháy cách nhau 1 giây

The programming code initializes an LED on pin 13 and sets it as an output in the setup function In the loop function, the LED is turned on by sending a HIGH signal, followed by a 1-second delay, then turned off with a LOW signal, and another 1-second delay occurs This creates a blinking effect for the LED.

Lập trình cho ESP8266 trên Arduino IDE

Nạp chương trình cho Esp8266 qua Arduino IDE a.Nạp và giải thích chương trình code

/* Cài đặt WIFI */ const char* ssid = "TMV"; const char* password = "minhvu1202";

/* dữ liệu nhận được từ ứng dụng */

/* xác định chân điều khiển động cơ */ 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 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() {

To manage relay operations based on client requests, first ensure the server is available and then execute the "checkClient" function If a client is detected, it retrieves data that determines the state of each relay If the data indicates "r1on," the first relay is activated, while "r1off" deactivates it Similarly, "r2on" and "r2off" control the second relay, and "r3on" and "r3off" manage the third relay This structured approach allows for efficient control of multiple relays through client commands.

/****************************** BẬT RELAY ***********************/ void turnonrelay(int 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);

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))) { delay(300);

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ế

Hình 7 Sơ đồ thiết kế mạch

Kết nối chân DC+, DC-, IN1, IN3 của Module relay 1 với các chân VU, G, D2, D4 và D1 của Esp8266 để điều khiển thiết bị điện một cách tương ứng.

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ọ bao gồm 2 tầng, với nhà vệ sinh ở tầng dưới được trang bị một bóng đèn Từ tầng dưới, người dùng có thể đi lên cầu thang đến tầng gác, nơi có thiết kế 2 thiết bị: một bóng đèn phòng và một 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

Mở ứng dụng Mit App Inventor đã được thiết kế và cài đặt trước đó, sau đó nhập địa chỉ IP (192.168.43.220) hiển thị ở bước trước để thực hiện kết nối.

Hình 12 Giao diện ứng dụng và nhập IP

Sau khi đồng bộ ESP với điện thoại, người dùng có thể dễ dàng điều khiển thiết bị bằng cách nhấn nút hoặc thông qua lệnh giọng nói.

 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

Ngày đăng: 24/12/2023, 10:59

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w