Điều khiển thiết bị điện qua wifi dùng App Inventor

Hiện nay, nhà mưu trí đang ngày càng trở nên phổ cập. Việc tạo ra những thiết bị IoT là cách tốt nhất để giúp cho căn nhà của bạn được tiện lợi hơn. Nó được cho phép tất cả chúng ta điều khiển những thiết bị gia dụng, khóa cửa, máy móc bằng điện thoại thông minh mưu trí hoặc sever web. Ở bài viết này, tôi sẽ hướng dẫn những bạn tạo ra một ứng dụng nhỏ để điều khiển thiết bị điện qua wifi bằng cách sử dụng một ứng dụng Android được tạo ra từ MIT App Inventor .
Xem thêm bài viết : Điều khiển LED qua bluetooth dùng App Inventor và Arduino

MIT App Inventor là gì?

MIT App Inventor là một trang web mã nguồn mở dành cho Android. Ban đầu nó được tạo ra bởi Google nhưng bây giờ được duy trì hoạt động bởi Học viện công nghệ Massachusetts MIT (Massachusetts Institute of Technology). Ngay cả một người mới bắt đầu sử dụng MIT App Inventor cũng có thể dễ dàng tạo ra cho mình các ứng dụng cho Android. MIT App Inventor sử dụng giao diện đồ họa GUI (Graphical User Interface) cho phép người dùng có thể kéo và thả các đối tượng trực quan để tạo các ứng dụng có thể dễ dàng chạy trên các thiết bị Android.

MIT App Inventor để tạo ứng dụng cho Android

Sau khi hoàn tất việc thiết kế ứng dụng trên MIT app inventor, bạn có thể tải về ứng dụng đó và cài đặt ứng dụng đã thiết kế trên điện thoại thông minh của bạn. Cuối cùng, bạn tiến hành giao tiếp ứng dụng này với module wifi ESP8266 NodeMCU và điều khiển các thiết bị điện trong nhà qua điện thoại một cách nhanh chóng và tiện lợi.

Chuẩn bị linh kiện

Sau đây là list những linh kiền thiết yếu để thực thi ứng dụng điều khiển thiết bị điện qua wifi bằng MIT App Inventor và NodeMCU ESP8266 .

STTTên linh kiệnSố lượng
1NodeMCU ESP82661
2Module Relay 5V1
3Đèn điện1
4Dây điện 

Module Relay

Relay hay rơ-le là một công tắc nguồn điện từ được quản lý và vận hành bởi một dòng điện tương đối nhỏ hoàn toàn có thể bật hoặc tắt một dòng điện lớn hơn nhiều. Relay được sử dụng để điều khiển mạch ngõ ra bằng một tín hiệu. Hay nói cách khác, tất cả chúng ta hoàn toàn có thể sử dụng relay để chuyển mạch “ ON ” và “ OFF ” bằng điện. Relay được điều khiển bởi một dòng điện nhỏ và dòng điện ở ngõ ra lớn .
Đọc thêm bài viết : Hướng dẫn sử dụng relay
Khi có dòng điện chạy qua cuộn dây bên trong của relay và tạo ra một từ trường hút. Từ trường hút này tác động ảnh hưởng lên một đòn kích bẩy bên trong làm đóng hoặc mở những tiếp điểm điện và như thế sẽ làm đổi khác trạng thái của relay. Số tiếp điểm điện bị biến hóa hoàn toàn có thể là 1 hoặc nhiều, tùy vào phong cách thiết kế .
Trên relay có 3 kí hiệu là : NO, NC và COM ( xem hình bên dưới ) .

  • COM (Common): là chân chung, nó luôn được kết nối với 1 trong 2 chân còn lại. Còn việc nó kết nối chung với chân nào thì phụ thuộc vào trạng thái hoạt động của relay.
  • NC (Normally Close – Thường đóng): Khi relay ở trạng thái OFF, chân COM sẽ nối với chân này.
  • NO (Normally Open – Thường mở): Khi relay ở trạng thái ON (có dòng chạy qua cuộn dây) thì chân COM sẽ được nối với chân này.

Module relay gồm có những linh phụ kiện điện tử ( transistor, điện trở, diode, … ) được liên kết với nhau trên một board mạch và triển khai một công dụng nhất định như hình bên dưới. Transistor được sử dụng để khuếch đại dòng điện, điện trở được sử dụng để phân cực cho transistor, và nếu transistor tắt, diode được sử dụng để bảo vệ transistor khi cuộn dây của relay xả nguồn năng lượng .

Sơ đồ mạch kết nối điều khiển thiết bị điện qua wifi

Việc liên kết những linh trong mạch rất thuận tiện. Bạn hoàn toàn có thể làm theo sơ đồ mạch dưới đây và bảng liên kết chân để lắp ráp mạch của bạn .
Sơ đồ kết nối mạch điều khiển thiết bị điện qua wifi

ESP8266 NodeMCURelay
VCCVCC
GNDGND
D4Input

Bây giờ tất cả chúng ta phải tạo ra một ứng dụng Android bằng cách sử dụng MIT App Inventor để điều khiển những thiết bị gia dụng .

Tạo ứng dụng Android dùng MIT App Inventor

Bây giờ tất cả chúng ta sẽ tạo ra một ứng dụng Android bằng MIT App Inventor để điều khiển những thiết bị điện qua wifi theo những bước sau .
Đầu tiên bạn hãy truy vấn vào website của MIT Application Inventor : http://ai2.appinventor.mit.edu/ .

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é.

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”.


Tiếp theo, bạn hãy đặt tên cho dự án Bất Động Sản .

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.

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.


Trong màn hình hiển thị lập trình như hình bên dưới, bạn hãy nhấp vào những đối tượng người dùng tương ứng trên màn hình hiển thị phong cách thiết kế rồi chọn và sắp xếp những khối như hình dưới đây .

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“. Có 2 cách để biên dịch và cài đặt ứng dụng vào điện thoại.

  • Cách 1: Sử dụng phần mềm MIT AI2 Companion. Với cách này, bạn cần cài đặt phần mềm MIT AI2 Companion trên điện thoại của mình. 

  • Cách 2: Biên dịch ra file apk và cài đặt. Đầu tiên, bạn sẽ download file apk về máy tính (chọn save .apk to my computer), sau đó sao chép file này sang điện thoại để cài đặt.

Trong bài viết này tôi chọn Cách 1 .

Để thực hiện, trong giao diện thiết kế của AI2, bạn chọn Build >> App (provide QR code for .apk)

Sau khi biên dịch xong sẽ Open một mã QR code, bạn sử dụng ứng dụng MIT AI2 Companion để quét mã vạch QR, sau đó file apk sẽ tự động hóa được tải về điện thoại cảm ứng. Cuối cùng, bạn setup ứng dụng vào điện thoại thông minh của mình .
Bây giờ ứng dụng của bạn đã sẵn sàng chuẩn bị. Nhưng để hoàn toàn có thể điều khiển thiết bị điện qua wifi bằng điện thoại cảm ứng bạn cần thực thi một bước sau cuối sau đây .
Ứng dụng điều khiển thiết bị điện qua wifi
Bây giờ tất cả chúng ta phải nạp chương trình cho NodeMCU để tạo một sever web HTTP đơn thuần để điều khiển thiết bị điện trong nhà. Chúng ta sẽ sử dụng phương pháp HTTP GET để tiếp xúc giữa những ứng dụng Android ESP8266 và Android .
Đọc thêm bài viết : Hướng dẫn lập trình ESP8266 NodeMCU dùng Arduino IDE

Chương trình

#include

const char * ssid = “ ten-wifi ” ;
const char * password = “ matkhau-wifi ” ;
WiFiServer server ( 80 ) ;
void setup ( ) {
Serial. begin ( 115200 ) ;
delay ( 10 ) ;
pinMode ( 2, OUTPUT ) ;
digitalWrite ( 2, 0 ) ;
Serial. println ( ) ;
Serial. println ( ) ;
Serial. print ( “ Connecting to “ ) ;
Serial. println ( ssid ) ;
WiFi. begin ( ssid, password ) ;
while ( WiFi. status ( ) ! = WL_CONNECTED ) {
delay ( 500 ) ;
Serial. print ( “. ” ) ;
}
Serial. println ( “ ” ) ;
Serial. println ( “ WiFi connected ” ) ;
server.begin ( ) ;
Serial. println ( “ Server started ” ) ;
Serial. println ( WiFi. localIP ( ) ) ;
}
void loop ( ) {
WiFiClient client = server.available ( ) ;
if ( ! client ) {

    return;

}
Serial. println ( “ new client ” ) ;
while ( ! client.available ( ) ) {
delay ( 1 ) ;
}
String req = client. readStringUntil ( ‘ \ r ’ ) ;
Serial. println ( req ) ;
client.flush ( ) ;
int val ;
if ( req. indexOf ( “ / gpio / 0 ” ) ! = – 1 )
val = 0 ;
else if ( req. indexOf ( “ / gpio / 1 ” ) ! = – 1 )
val = 1 ;
else {
Serial. println ( “ invalid request ” ) ;
client.stop ( ) ;
return ;
}
digitalWrite ( 2, val ) ;
client.flush ( ) ;

  String s = “HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n

\r\n\r\nGPIO is now “;

s + = ( val ) ? “ high ” : “ low ” ;
s + = “

”;
}

Giải thích chương trình

Dưới đây tôi lý giải ngắn gọn đoạn chương trình ( code ) trên để bạn hoàn toàn có thể hiểu chương trình thực sự hoạt động giải trí như thế nào .
Tôi dùng lệnh include để chương trình tải thư viện có sẵn cho mô-đun ESP8166 WiFi và nhập thông tin đăng nhập WiFi như SSID và mật khẩu .

#include

const char * ssid = “ ten-wifi ” ;
const char * password = “ matkhau-wifi ” ;
Serial Monitor được khởi động ở vận tốc truyền mặc định cho NodeMCU
Serial. begin ( 115200 ) ;
Chân tín hiệu ngõ vào của Relay được liên kết với chân D4, tức là chân GPIO 2 của module NodeMCU .
pinMode ( 2, OUTPUT ) ;
digitalWrite ( 2, 0 ) ;
Trong phần void setup, đoạn chương trình này nhằm mục đích mục tiêu liên kết với WiFi. Quá trình này được thực thi theo vòng lặp, có nghĩa là chương trình chạy cho đến khi nào liên kết được với WiFi. Vì vậy, bạn cần nhập đúng mực tên và mật khẩu wifi của bạn .
void setup ( ) {
Serial. println ( ) ;
Serial. println ( ) ;
Serial. print ( “ Connecting to “ ) ;
Serial. println ( ssid ) ;
WiFi. begin ( ssid, password ) ;
while ( WiFi. status ( ) ! = WL_CONNECTED ) {
delay ( 500 ) ;
Serial. print ( “. ” ) ;
}
Serial. println ( “ ” ) ;
Serial. println ( “ WiFi connected ” ) ;
Trong phần void loop, chương trình sẽ kiểm tra xem client đã liên kết chưa. Nó chờ cho đến khi client gửi tài liệu và thực thi những tác vụ theo nguồn vào .
void loop ( ) {
WiFiClient client = server.available ( ) ;
if ( ! client ) {
return ;
}
Serial. println ( “ new client ” ) ;
while ( ! client.available ( ) ) {
delay ( 1 ) ;

  }

Bạn hoàn toàn có thể kiểm tra web server của bạn có hoạt động giải trí hay chưa bằng cách sử dụng những URL sau để BẬT hoặc TẮT đèn điện .

Lưu ý: 192.168.x.xxx là địa chỉ IP của NodeMCU. Bạn có thể tìm thấy địa chỉ IP này trên Serial Monitor. Khi bạn chạy chương trình trên Arduino IDE, chương trình sẽ in địa chỉ IP của thiết bị trên Serial Monitor. Đồng thời, nó sẽ xác nhận xem web server có hoạt động hay không.

Kết luận

Qua bài viết này, bạn hoàn toàn có thể điều khiển thiết bị điện qua wifi hoặc bất kể thiết bị điện tử nào bằng ứng dụng Android dựa trên ứng dụng IoT này .

Source: https://dvn.com.vn
Category: Phụ Kiện

Alternate Text Gọi ngay