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ì bởi Viện Công nghệ Massachusetts (MIT) . 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 các ứng dụng cho Android. MIT App Inventor sử dụng GUI (giao diện đồ họa), trong đó người dùng có thể kéo và thả các đối tượng trực quan để tạo ứng dụng có thể dễ dàng chạy trên thiết bị Android .

Sau khi thiết kế toàn bộ ứng dụng trên trình phát minh ứng dụng MIT , bạn có thể tải xuống điện thoại Android của mình bằng mã QR. hơn nữa, bạn có thể tải xuống tệp APK của nó trên PC và sau đó cài đặt nó trên điện thoại thông minh của bạn. cuối cùng, chúng tôi sẽ giao diện ứng dụng với ESP8266 và điều khiển các thiết bị gia dụng.
Thành phần bắt buộc
Sau đây là danh sách các thành phần cần thiết để thực hiện dự án tự động hóa gia đình bằng MIT App Inventor và NodeMCU ESP8266.
- NodeMCU ESP8266
- Đèn
- Rơ le 5V
- Dây nhảy
Mô-đun chuyển tiếp
Rơ le là một công tắc hoạt động bằng điện. Rơle được sử dụng để điều khiển nhiều mạch bằng một tín hiệu. Vì vậy, sử dụng rơ le, chúng ta có thể chuyển mạch “ BẬT ” và “ TẮT ” bằng điện. Rơ le được điều khiển bởi dòng điện nhỏ (5v) và có thể chuyển “BẬT” và “TẮT” dòng điện lớn. Thông thường, rơle có năm đầu cuối như hình dưới đây:

Khi không có điện áp đặt vào cuộn dây, đầu cuối COM sẽ được kết nối với đầu cuối NC (Thường đóng) . Và khi điện áp được đặt vào cuộn dây, một trường điện từ được tạo ra để thu hút phần ứng, và kết nối đầu cuối COM và NO (Thường mở) được thực hiện, cho phép dòng điện rất lớn.

Một mạch điều khiển nhỏ với bóng bán dẫn, diode và điện trở được sử dụng để cấu hình rơle. Bóng bán dẫn được sử dụng để khuếch đại dòng điện, điện trở được sử dụng để cung cấp BIAS cho bóng bán dẫn, và nếu bóng bán dẫn tắt, điốt được sử dụng để ngăn dòng điện ngược lại. Ở đây chúng tôi đã sử dụng mô-đun rơle 5V để trình diễn.
Sơ đồ mạch: Tự động hóa gia đình với MIT App Inventor & ESP8266
Đấu dây các thành phần này rất dễ dàng. Bạn có thể làm theo sơ đồ mạch dưới đây và bảng kết nối chân để lắp ráp mạch của bạn.

| NodeMCU | Chuyển tiếp |
| Vcc | Vcc |
| GND | GND |
| D4 | Đầu vào |
Bây giờ chúng ta phải tạo một ứng dụng Android bằng MIT App Inventor để điều khiển các thiết bị gia dụng.
Tạo ứng dụng Android bằng MIT App Inventor
Bây giờ chúng ta sẽ tạo một ứng dụng Android bằng MIT App Inventor để điều khiển ánh sáng bằng các bước sau.
- Trước tiên, hãy truy cập trang web của Nhà phát minh ứng dụng MIT : http://ai2.appinventor.mit.edu/
- Sau đó nhấp vào ' Tạo ứng dụng ' ở góc trên cùng bên trái.

- Bây giờ hãy nhấp vào ' Dự án ' trên màn hình tiếp theo và sau đó nhấp vào ' Bắt đầu một dự án mới '.

- Bây giờ hãy nhấp vào ' Nút ' và kéo và thả hai nút trên màn hình chính. Bạn có thể nhập tên yêu thích của mình vào nút từ các tùy chọn ở bên phải.

- Sau đó nhấp vào ' Kết nối ' và kéo và thả thành phần web vào màn hình chính.

- Nhấp vào ' Khối ' ngay bây giờ để thêm khối vào ứng dụng của bạn.

- Bây giờ hãy nhấp vào nút 1 trong menu khối và sau đó nhấp vào tùy chọn màu đỏ được đánh dấu .

- Sau khi nhấp vào Web 1 . Cuộn xuống và chọn khối được đánh dấu màu đỏ.

- Bây giờ hãy nhấp vào menu văn bản và chọn tùy chọn đầu tiên . Nhập URL của bạn vào menu văn bản.

- Sau đó nhấp vào Web 1 một lần nữa và sau đó chọn tùy chọn được đánh dấu màu đỏ.

- Làm theo quy trình tương tự cho ' Nút 2' .

- Bây giờ ứng dụng đã sẵn sàng để tải xuống, hãy nhấp vào 'Xây dựng' để nhận tệp apk đơn giản. Ngoài ra, có hai tùy chọn để tải xuống APK ứng dụng, bằng mã QR và trực tiếp trên PC, sau đó cài đặt nó trên Android.

- Bây giờ ứng dụng của bạn đã sẵn sàng và bạn có thể điều khiển ánh sáng bằng nút BẬT-TẮT được trình bày trong ứng dụng.

Bây giờ chúng ta phải tải mã lên NodeMCU để tạo một máy chủ web HTTP đơn giản để điều khiển các ứng dụng gia đình. Chúng tôi sẽ sử dụng phương thức HTTP GET để giao tiếp giữa các ứng dụng ESP8266 và Android.
Giải thích mã lập trình
Dưới đây chúng tôi giải thích chức năng của mã để bạn có thể hiểu cách mã thực sự hoạt động. Mã đầy đủ cho dự án điều khiển thiết bị gia dụng bằng ứng dụng Android do MIT thiết kế được cung cấp ở cuối.
Tôi Bao gồm các thư viện cho mô-đun WiFi ESP8166 và nhập Thông tin đăng nhập WiFi như SSID và Mật khẩu.
#include <ESP8266WiFi.h>
const char* ssid = "xxxxxxxx";
const char* password = "xxxxxxxxx";Serial Monitor được khởi động ở Tốc độ truyền mặc định cho NodeMCU
Serial.begin(115200);Chân Relay được định nghĩa là chân NodeMCU D4 tức là chân GPIO 2.
pinMode(2, OUTPUT);
digitalWrite(2, 0); Trong chức năng thiết lập void, chức năng sẽ cố gắng kết nối với WiFi . Quá trình này thực hiện theo vòng lặp, có nghĩa là nó chạy cho đến khi có kết nối với WiFi . Vì vậy, hãy cẩn thận trước khi nhập SSID và Mật khẩu WiFi của bạn .
void setup() {
// Connect to WiFi network
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 vòng lặp void, it Kiểm tra xem khách hàng đã kết nối chưa. Nó Chờ cho đến khi máy khách gửi một số dữ liệu và thực hiện các tác vụ theo đầu vào.
void loop() {
WiFiClient client = server.available();
if (!client) {
return;
}
Serial.println("new client");
while(!client.available()){
delay(1);
}
String req = client.readStringUntil('\r');Bây giờ điều hướng qua trình duyệt của bạn để kiểm tra xem máy chủ web của bạn có hoạt động hoàn hảo hay không. Sử dụng các URL sau để BẬT hoặc TẮT đèn của bạn .
Lưu ý: 192.168.1.40 là địa chỉ IP của NodeMCU . Bạn có thể tìm thấy địa chỉ IP của NodeMCU trên Serial Monitor . Khi bạn chạy mã trên Arduino IDE , nó sẽ in địa chỉ IP của thiết bị của bạn trên màn hình nối tiếp. Do đó, nó sẽ xác nhận xem máy chủ web có hoạt động hay không .
Mã cuối cùng cho tự động hóa gia đình với MIT App Inventor và ESP8266
Đoạn mã dưới đây là mã chương trình cuối cùng của dự án này. Chỉ cần sao chép mã, chọn bo mạch NodeMCU ESP8266 của bạn và đúng cổng trên Arduino IDE . Bây giờ Biên dịch mã và tải nó lên bảng NodeMCU.
#include <ESP8266WiFi.h>
const char* ssid = "Enter Your WiFi Name ";
const char* password = "Enter Your WiFi Password";
WiFiServer server(80);
void setup() {
Serial.begin(115200); //Default Baud Rate for NodeMCU
delay(10);
pinMode(2, OUTPUT); // Connect Relay to NodeMCU's D4 Pin
digitalWrite(2, 0);
// Connect to WiFi network
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");
// Start the server
server.begin();
Serial.println("Server started");
// Print the IP address
Serial.println(WiFi.localIP());
}
void loop() {
// Check if a client has connected
WiFiClient client = server.available();
if (!client) {
return;
}
// Wait until the client sends some data
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;
}
// Set GPIO2 according to the request
digitalWrite(2, val);
client.flush();
String s = "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n<!DOCTYPE HTML>\r\n<html>\r\nGPIO is now ";
s += (val)?"high":"low";
s += "</html>Phần kết luận
Bằng cách này, bạn có thể điều khiển các thiết bị gia dụng hoặc bất kỳ thiết bị điện tử nào bằng ứng dụng Android dựa trên IoT này. Ngoài ra, hãy xem dự án tự động hóa gia đình trước đây của chúng tôi bằng cách sử dụng Máy chủ trang web ESP và Google Firebase.
Không có nhận xét nào:
Đăng nhận xét