Nhà thông minh sử dụng Blynk và NodeMCU

0
4158
Nhà thông minh sử dụng Blynk và NodeMCU

NodeMCU được sử dụng rất phổ biến trong các dự án nhà thông minh. Nó có khả năng kết nối WiFi và với sự hỗ trợ của Arduino IDE giúp cho việc triển khai các dự án IoT trở nên dễ dàng hơn. Nó rất nhỏ gọn và có nhiều chân I/O, giao tiếp nối tiếp và giao tiếp I2C. NodeMCU có cổng micro USB để lập trình bằng cáp di động sẵn có của bạn. Có một phiên bản tiếp theo của NodeMCU được gọi là board phát triển ESP32 có nhiều chân tương tự và số. Bạn có thể sử dụng bất kỳ một trong hai board này cho dự án này tùy theo yêu cầu của bạn. Ở đây tôi sẽ sử dụng board NodeMCU.

Blynk là một ứng dụng di động có máy chủ riêng để xử lý các yêu cầu của người dùng. Nó là một ứng dụng mã nguồn mở và bất kỳ ai cũng có thể sử dụng nó trong nhà thông minh để điều khiển các thiết bị, theo dõi dữ liệu cảm biến và nhận được thông báo bằng một số hành động kích hoạt. Nó có một giao diện đẹp với đồ thị, thời gian, thanh trượt, cần điều khiển và thậm chí cả Video Streaming. Bạn cũng có thể tạo ứng dụng của riêng mình và xuất bản nó vào cửa hàng Google Play. 

Chuẩn bị

Phần cứng

  • Board NodeMCU 
  • Module Relay 4 kênh
  • Dây cáp USB

Phần mềm

Sơ đồ nguyên lý

Giới thiệu về NodeMCU 

Mô tả

NodeMCU được phát triển dựa trên Chip WiFi ESP8266EX bên trong Module ESP-12E dễ dàng kết nối WiFi với một vài thao tác. Trên board còn tích hợp IC CP2102, giúp dễ dàng giao tiếp với máy tính thông qua Micro USB để thao tác với board. 

Sơ đồ chân

 

Thông số kỹ thuật

  • Chip: ESP8266EX
  • WiFi: 2.4 GHz hỗ trợ chuẩn 802.11 b/g/n
  • Điện áp hoạt động: 3.3V
  • Điện áp vào: 5V thông qua cổng USB
  • Số chân I/O: 11 (tất cả các chân I/O đều có Interrupt/PWM/I2C/One-wire, trừ chân D0)
  • Số chân Analog Input: 1 (điện áp vào tối đa 3.3V)
  • Bộ nhớ Flash: 4MB
  • Giao tiếp: Cable Micro USB
  • Hỗ trợ bảo mật: WPA/WPA2
  • Tích hợp giao thức TCP/IP
  • Lập trình trên các ngôn ngữ: C/C++, Micropython, NodeMCU – Lua

Phần mềm ứng dụng Blynk

Giới thiệu

Blynk là một nền tảng ứng dụng iOS và Android để điều khiển Arduino, Raspberry Pi và những thiết bị khác trên Internet. Đó là một bảng điều khiển số, nơi mà bạn có thể xây dựng một giao diện đồ họa cho dự án của mình bằng cách kéo và thả các widget.

Download và cài đặt Blynk App

Ứng dụng blynk có thể được tìm thấy qua các đường link sau:

Android

Apple

Tạo một dự án Blynk

Bước 1: Sau khi download ứng dụng, bạn hãy tạo tài khoản và đăng nhập vào.

Bước 2: Nhấp vào “New Project” trong ứng dụng để tạo ứng dụng Blynk mới. Đặt một tên bất kỳ cho ứng dụng.

Bước 3: Blynk làm việc với hàng trăm loại phần cứng và kiểu kết nối, vì vậy bạn cần phải chọn loại phần cứng và kiểu kết nối. Trong dự án này, tôi đã chọn loại phần cứng là NodeMCU và kiểu kết nối là WiFi như hình bên dưới. Cuối cùng, bạn nhấp vào nút “Create” để tạo ứng dụng mới.

Bước 3: Bây giờ bạn sẽ nhận được một email với mã xác thực (Auth Token). Bạn sẽ cần phải chèn mã này vào trong code Arduino. 

Thêm widget vào dự án

Bước 1: Nhấp vào biểu tượng ‘+’ ở góc trên cùng bên phải. Bây giờ hộp Widget sẽ mở ra, chúng ta cần 4 button để điều khiển relay. Bạn thêm 4 button bằng cách chọn nó ở đây.

Bước 2: Bây giờ hãy nhấn vào Button từ trang chủ để định cấu hình. Đặt tên cho Button (Ví dụ: Đèn). Chọn Pin đầu ra D0 và chọn Mode là Switch. Sau đó quay trở lại. Tương tự như vậy, bạn hãy cấu hình cho các button còn lại.

Bước 3: Bạn đã tạo giao diện người dùng (GUI) cho ứng dụng như hình bên dưới. Thông qua giao diện này bạn có thể điều khiển các thiết bị điện trong ngôi nhà của mình.

Upload Firmware

Bước 1: Bây giờ kết nối NodeMCU với máy tính của bạn và mở phần mềm Arduino IDE.

Cài đặt thư viện Blynk tại đây nếu bạn làm nó lần đầu tiên. Bạn cần tải xuống file zip, giải nén và đặt nó vào thư mục libraries.

Bước 2: Copy chương trình dưới đây hoặc mở phần mềm Arduino. Chọn File → Examples và điều hướng đến Blynk → WiFi → NodeMCU.

Bạn chỉ cần sửa đổi ba điều trong code này.

Dán mã xác thực (Auth Token) mà bạn đã nhận được trong email của mình vào ‘YourAuthToken’. Sau đó, thêm tên wifi và mật khẩu của bạn vào code tại các vị trí ‘YourNetworkName’ và ‘YourPassword’

/*************************************************************

Download latest Blynk library here:

https://github.com/blynkkk/blynk-library/releases/latest

Downloads, docs, tutorials: http://www.blynk.cc

Sketch generator:           http://examples.blynk.cc

Blynk community:            http://community.blynk.cc

*************************************************************

This example runs directly on NodeMCU.

Note: This requires ESP8266 support package:

https://github.com/esp8266/Arduino

Change WiFi ssid, pass, and Blynk auth token to run 🙂

*************************************************************/

#define BLYNK_PRINT Serial

#include <ESP8266WiFi.h>

#include <BlynkSimpleEsp8266.h>

// You should get Auth Token in the Blynk App.

// Go to the Project Settings (nut icon).

char auth[] = “YourAuthToken”;

// Your WiFi credentials.

// Set password to “” for open networks.

char ssid[] = “YourNetworkName”;

char pass[] = “YourPassword”;

void setup()

{

// Debug console

Serial.begin(9600);

Blynk.begin(auth, ssid, pass);

Blynk.syncAll(); //This will sync the last state of your device

}

void loop()

{

Blynk.run();

}

Sau khi hoàn thành, chọn đúng Port và Board sau đó nạp chương trình. Như vậy là xong rồi đấy! Dự án nhà thông minh của bạn đã sẵn sàng. Bạn có thể kiểm tra hoạt động thông qua ứng dụng Blynk của bạn bằng cách chuyển ON và OFF. Như vậy là bạn có thể điều khiển các thiết bị trong nhà của mình từ bất cứ nơi nào trên thế giới với kết nối internet.

Như vậy là tôi đã hướng dẫn các bạn thực hiện một dự án nhà thông mình đơn giản nhưng cũng khá thú vị phải không nào? Nếu các bạn có thắc mắc gì thì vui lòng để lại bình luận bên dưới bài viết và đừng quên đăng ký nhận tin để được cập nhật những bài viết mới nhất các bạn nhé.

BÌNH LUẬN

Vui lòng nhập bình luận của bạn
Vui lòng nhập tên của bạn ở đây