Hôm nay xin chia sẻ với các bạn cách điều khiển thiết bị bằng smartphone, ngoài ra ta còn có thể quan sát/ giám sát được thông tin dữ liệu, các thông số như nhiệt độ, độ ẩm môi trường theo thời gian thông qua smartphone của mình.

Để chuẩn bị bắt đầu thì bạn cần biết một ít kiến thức về cách lập trình với ESP8266 mình có trình bày ở một số bài viết trước. Nếu bạn đã biết rồi thì có thể bỏ qua.

Điều Khiển Và Giám Sát Qua điện Thoại Với Esp8266 Và Blynk Là Gì | Bostonenglish.edu.vn

Blynk là gì

Blynk là một nền tảng với các ứng dụng iOS và Android để điều khiển Arduino, Raspberry Pi và các ứng dụng tương tự qua Internet.

Bạn đang xem: Blynk là gì

Nó là một bảng điều khiển kỹ thuật số nhờ đó bạn có thể xây dựng giao diện đồ họa cho dự án của mình bằng cách kéo và thả các widget.

Việc thiết lập mọi thứ rất đơn giản và bạn sẽ bắt đầu sau chưa đầy 5 phút.

Blynk không bị ràng buộc với một số bo hoặc shield cụ thể. Thay vào đó, nó hỗ trợ phần cứng mà bạn lựa chọn. Cho dù Arduino hoặc Raspberry Pi của bạn được liên kết với Internet qua Wi-Fi, Ethernet hoặc chip ESP8266, Blynk sẽ giúp bạn online và sẵn sàng cho IoT.

*

Bạn đang xem bài viết tại: https://bostonenglish.edu.vn/

Cách hoạt động của Blynk

Blynk được thiết kế cho IoT. Nó có thể điều khiển phần cứng từ xa, nó có thể hiển thị dữ liệu cảm biến, nó có thể lưu trữ dữ liệu, trực quan hóa và làm nhiều thứ hay ho khác.

Có ba thành phần chính trong nền tảng:

 

Ứng dụng Blynk – cho phép bạn tạo giao diện cho các dự án của mình bằng cách sử dụng các widget khác nhau.

Blynk Server – chịu trách nhiệm về tất cả các giao tiếp giữa điện thoại thông minh và phần cứng. Bạn có thể sử dụng Blynk Cloud hoặc chạy cục bộ máy chủ Blynk riêng của mình. Nó là mã nguồn mở, có thể dễ dàng xử lý hàng nghìn thiết bị và thậm chí có thể được khởi chạy trên Raspberry Pi.

See also  More Often Than Not Là Gì | Bostonenglish.edu.vn

Thư viện Blynk – dành cho tất cả các nền tảng phần cứng phổ biến – cho phép giao tiếp với máy chủ và xử lý tất cả các lệnh đến và lệnh đi.

Mỗi khi bạn nhấn một nút trong ứng dụng Blynk, thông điệp sẽ truyền đến không gian của đám mây Blynk, và tìm đường đến phần cứng của bạn.

Đặc tính

API và giao diện người dùng tương tự cho tất cả phần cứng và thiết bị được hỗ trợ

Kết nối với đám mây bằng cách sử dụng:

Wifi

Bluetooth và BLE

Ethernet

USB (Nối tiếp)

GSM

Bộ Widget dễ sử dụng

Thao tác ghim trực tiếp mà không cần viết mã

Dễ dàng tích hợp và thêm chức năng mới bằng cách sử dụng ghim ảo

Theo dõi dữ liệu lịch sử qua tiện ích SuperChart

Giao tiếp giữa thiết bị với thiết bị sử dụng Bridge Widget

Gửi email, tweet, push notification…

Các tính năng mới liên tục được bổ sung!

Bạn đang xem bài viết tại: https://bostonenglish.edu.vn/

Chuẩn bị

Phần cứng

  • Kit Node MCU hoặc ESP8266 v7 + mạch USB2UART tương ứng
  • Dây nối
  • Breadboard
  • Cảm biến DHT11 hoặc DHT22
  • Điện thoại smartphone dùng hdh Android hoặc iOS

Phần mềm

  • Phần mềm lập trình cho ESP8266 là Arduino IDE
  • App Blynk cho Android và iOS

Tại sao lại dùng Blynk ?

Blynk thực ra là một cái app trên điện thoại, cho phép người dùng có thể tạo ra giao diện và điều khiển thiết bị theo ý thích của cá nhân. Mình lựa chọn Blynk vì một số lý do sau:

  • Dễ sử dụng: Quá đơn giản, chỉ việc vào store, cài đặt, sau đó đăng ký tài khoản và mất không quá 5 phút để làm quen.
  • Đẹp và đầy đủ: Giao diện của Blynk quá tuyệt vời, sử dụng bằng cách kéo thả, bạn cần nút bấm, kéo thả nút bấm, bạn cần đồ thị, kéo thả đồ thị, bạn cần LCD, kéo thả LCD, tóm lại là bạn cần gì thì kéo thả cái đó.
  • Không phải lập trình android hay ios: Nếu như không có kiên thức về làm app trên điện thoại thì việc điều khiển thiết bị từ chính smartphone của mình quả là điều vô cùng khó khăn và phức tạp. Nhờ blynk thì chúng ta có thể bỏ qua bước lập trình tạo app. Có thể thử nhanh chóng và ứng dụng được dự án của mình vào thực tế.
  • Thử nghiệm nhanh chóng, có thể điều khiển giám sát ở bất kỳ nơi nào có internet.
See also  Cách sử dụng trợ lý ảo Siri hiệu quả trên Iphone | Bostonenglish.edu.vn

Tất nhiên ngoài những điểm lợi từ blynk thì còn có những cái hạn chế như phải mua energy để tạo được nhiều giao diện và chia sẻ giao diện cho người khác. Những cái này cũng không phải là vấn đề lớn lắm.

Để sử dụng được blynk thì cần phải tải thư viện của nó thông qua Arduino IDE

Chọn Sketch -> Include Library -> Manage Libraries, tìm kiếm blynk và install.

Bật tắt LED qua điện thoại

Tới đây là đã xong được các bước chuẩn bị. Giờ thì mình đi vào lập trình điều khiển ấn nút trên blynk LED nối với chân D0 trên kit NodeMCU sáng/ tắt

Sơ đồ chân của NodeMCU/ ESP8266

Tạo tài khoản mới trên blynk khá đơn giản chỉ việc nhập email và pass vào là xong nên mình sẽ bỏ qua bước này

Tạo project mới cho blynk

Thêm nút nhấn vào blynk

Lấy Auth token để có thể kết nối tới ESP8266 bằng cách vào hình lục giác, chọn new device và lưu lại giá trị tại AUTH TOKEN.

Xem như đã xong được giao diện đơn giản trên điện thoại, giờ là chương trình cho ESP8266

Lưu ý: Có 3 chỗ cần thay thông tin là YourAuthToken, YourNetworkName,YourPassword

#define BLYNK_PRINT Serial    
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>

char auth[] = "YourAuthToken";    //AuthToken copy ở Blynk Project
char ssid[] = "YourNetworkName";  //Tên wifi
char pass[] = "YourPassword";     //Mật khẩu wifi
void setup()
{
  Serial.begin(9600);
  Blynk.begin(auth, ssid, pass);
}

void loop()
{
  Blynk.run();
}
Arduino

Thử thành quả bằng cách ấn vào nút play hình tam giác và tác động lên nút nhấn xem kết quả.

Bạn đang xem bài viết tại: https://bostonenglish.edu.vn/

Giám sát nhiệt độ, độ ẩm

Như ở bài hướng dẫn đọc nhiệt độ độ ẩm với ESP8266 thì các bạn đã biết được cách đọc và hiển thị thông tin về nhiệt độ, độ ẩm lên máy tính, giờ chúng ta thử kết hợp blynk để hiển thị thông tin này lên điện thoại xem thế nào

Sử dụng giao diện blynk đã tạo bên trên, thêm value display S và value display M

Cấu hình cho các thuộc tính mới add, chọn pin là virtual v0 và v1,đặt lại tên và chọn màu sắc hiển thị

Cuối cùng là viết chương trình cho ESP8266 và thay đổi  thông tin về token và wifi sau đó nạp chương trình

#define BLYNK_PRINT Serial

#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <SimpleTimer.h>
#include <DHT.h>

char auth[] = "AuthToken";        //Token cua blynk
char ssid[] = "wifi_name";        //Ten wifi
char pass[] = "password";         //Pass wifi

#define DHTPIN 5          // Pin ket noi voi DHT
#define DHTTYPE DHT11     // Su dung cam bien DHT11
DHT dht(DHTPIN, DHTTYPE); // Cau hinh chan DHT 

SimpleTimer timer;        // Su dung timer

//Ham gui du lieu
void sendSensor()
{
  float h = dht.readHumidity();     //Doc gia tri do am
  float t = dht.readTemperature();  //Doc gia tri nhiet do

  // Gan du lieu vao bien virtual de hien thi len blynk
  // Chi nen gan 10 bien tro xuong
  delay(10);
  Blynk.virtualWrite(V0, h);
  Blynk.virtualWrite(V1, t);
  // Luu y nen ban khong du energy thi co the bo qua v2 va v3
  Blynk.virtualWrite(V2, h);
  Blynk.virtualWrite(V3, t);
}
void setup() {
  Serial.begin(9600);                   // Mo Serial
  Blynk.begin(auth, ssid, pass);        // Ket noi voi blynk
  dht.begin();                          // Khoi tao DHT
  timer.setInterval(1000L, sendSensor); //1s doc cam bien 1 lan
}
void loop() {
  Blynk.run(); // Chay Blynk
  timer.run(); // Chay SimpleTimer
// Debug
//  Serial.print("Do am: ");
//  Serial.print(h);
//  Serial.print(" %\t");
//  Serial.print("Nhiet do: ");
//  Serial.print(t);
//  Serial.println(" *C ");
//  delay(2000);                // Doi chuyen doi.
}

Kết quả

Ấn vào nút tam giác và chờ kết quả hiển thị, sau mỗi 1 giây thì giá trị nhiệt độ và độ ẩm sẽ cập nhật 1 lần

Lưu ý: Nếu bạn bị lỗi tại thư viện SimpleTimer.h thì bạn có thể tải và cập nhật thủ công tại đây

Cố thêm chút nữa

Xem như chúng ta đã hoàn thành được việc hiển thị nhiệt độ và độ ẩm, giờ nếu còn energy thì thêm graph và gauge hiển thị thông tin cho rực rỡ sắc màu, history graph thường cập nhật sau mỗi 1 phút mới lên dữ liệu nên nếu không thấy thì bạn cứ chờ đợi nhé.

Chỉnh sửa giao diện, cấu hình và kết quả

Tạm kết

Thế là chúng ta đã có thể điều khiển bật tắt đèn thông qua smartphone, ngoài ra còn có thể quan sát được nhiệt độ và độ ẩm của môi trường nữa, đây chỉ là những bước khởi đầu để bạn làm quen với việc lập trình, điều khiển, giám sát thông qua điện thoại. Blynk có thể dùng để điều khiển và giám sát ở bất kỳ nơi nào có internet, không bị giới hạn trong một mạng cụ thể nào. Trong blynk còn rất nhiều điều lý thú để các bạn có thể tìm hiểu và khám phá thêm. Mình sẽ sớm cập nhật thêm các hướng dẫn cho các bạn trong các bài tiếp theo.

Bostonenglish.edu.vn cũng giúp các bạn giải đáp những vấn đề sau đây:

  • Lập trình Blynk
  • Đo nhiệt độ độ ẩm Blynk
  • Đăng nhập Blynk
  • Thư viện ESP8266WiFi h
  • ESP8266 điều khiển relay Blynk
  • Kết nối ESP8266 với điện thoại
  • Tải Blynk
  • Đổi mật khẩu Blynk