You are on page 1of 17

BỘ MÔN KỸ THUẬT MÁY TÍNH – VIỄN THÔNG

CƠ SỞ VÀ ỨNG DỤNG IOTS


MMH: ITFA436064
Thời gian thực hiện: 2 buổi
Nguyễn Tuấn Nam – 21119348
Bùi Đoàn Anh Huy – 21119074
Lâm Hoàng Phúc -21119350
Trần Xuân Kiên – 21119342
Ngô Văn Thiết - 21119357

1. Blynk là gì? Các thành phần chính của Blynk. So sánh Blynk 1.0 và 2.0

Blynk là một nền tảng IoT (Internet of Things) cho phép bạn tạo các ứng dụng di động tương tác
với các thiết bị IoT của bạn thông qua kết nối Internet. Blynk được phát triển để đơn giản hóa quá trình
phát triển các ứng dụng IoT và giúp người dùng kết nối và điều khiển các thiết bị thông qua điện thoại di
động hoặc máy tính bảng. Blynk cung cấp các thành phần và thư viện để bạn có thể tạo giao diện người
dùng tùy chỉnh để tương tác với thiết bị IoT của bạn.

Các thành phần chính của Blynk bao gồm:

+ Ứng dụng di động Blynk: Ứng dụng di động Blynk cho phép người dùng tạo và tương tác với
các giao diện người dùng tùy chỉnh để điều khiển các thiết bị IoT.

+ Blynk Server: Blynk sử dụng một máy chủ trung tâm để giữ kết nối giữa thiết bị IoT và ứng
dụng di động. Người dùng có thể tự thiết lập máy chủ của riêng họ hoặc sử dụng máy chủ Blynk công
cộng.

+Blynk Library: Blynk cung cấp các thư viện phát triển dành cho nhiều nền tảng phổ biến như
Arduino, Raspberry Pi, ESP8266/ESP32, và nhiều loại thiết bị khác để kết nối với ứng dụng di động
Blynk.

+Widgets: Blynk cung cấp nhiều loại widget khác nhau mà bạn có thể sử dụng để tạo giao diện
người dùng, bao gồm nút, thanh trượt, đồng hồ, biểu đồ, và nhiều loại khác. Các widget này cho phép bạn
tạo giao diện tương tác với thiết bị IoT của bạn.

So sánh Blynk 1.0 và 2.0:

Blynk 1.0: Đây là phiên bản ban đầu của Blynk. Nó đã phục vụ một loạt dự án IoT từ năm 2015
và đã trở nên phổ biến trong cộng đồng phát triển IoT. Blynk 1.0 sử dụng một mô hình chia sẻ widget
(widget sharing) giữa các ứng dụng di động. Điều này có nghĩa rằng một widget có thể được chia sẻ qua
nhiều ứng dụng khác nhau.

Blynk 2.0: Phiên bản này đã trải qua một sự tái thiết và cung cấp nhiều tính năng mới. Một sự
khác biệt quan trọng là Blynk 2.0 chuyển sang mô hình "các dự án" (projects) thay vì chia sẻ widget. Mỗi
dự án có riêng một ứng dụng di động và các thiết bị IoT được quản lý theo từng dự án. Blynk 2.0 cung
cấp nhiều tính năng bảo mật, tự động mở cửa thiết bị, và khả năng tạo giao diện người dùng phức tạp hơn.

Phiên bản 2.0 của Blynk mang lại một cách tiếp cận mạnh mẽ hơn và an toàn hơn cho phát triển
IoT so
CƠ SỞ VÀ ỨNG DỤNG IOTS - ITFA436064
với phiên bản 1.0, nhưng cũng đòi hỏi một quá trình học mới và tương thích ngược với phiên bản trước
đó.

2. So sánh Blynk, Kaa và Ubidots IoT platform.


Blynk IoT Kaa IoT Ubidots IoT

Đều là các IoT platform mã nguồn mở hỗ trợ các cá nhân, tổ chức xây dựng và quản lý các dự án IoT
Tính năng: Kết nối thiết bị , an Tính năng: Kết nối và quản lý các Tính năng: Ubidots cung cấp API
toàn,bảo mật với đám mây và có thiết bị IoT qua đám mây bằng REST cho phép bạn đọc và ghi dữ
API REST để trao đổi dữ liệu giữa giao diện đồ họa hoặc API REST liệu vào các tài nguyên có sẵn:
phần cứngvà ứng dụng. Cung cấp Thu thập dữ liệu, truyền dữ liệutừ nguồn dữ liệu, biến, giá trị, sự kiện
thiết bị, trực quan hóa dữ liệu cảm thiết bị IoT đến bất kỳ hệ thống và thông tin chuyên sâu. API hỗ
biến, điều khiển từ xa với ứng phân tích dữ liệu nào thông qua trợ cả HTTP và HTTPS. Phân tích
dụng di động và web, phân tích dữ kênh được tích hợp sẵn. Kiểm soát dữ liệu và chức năng đám mây,
liệu, quản lý truy cập và người hành vi của thiết bị, quản lý các trực quan hóa bảng điều khiển,
dùng, cảnh báo, tự động hóa. Hỗ tham số xử lý dữ liệu,thông tin công cụ quản lý thiết bị, sự kiện
trợ rất nhiều phần cứng, cập nhật đăng nhập, dữ liệu được mã hóa BI và công cụ cảnh báo, cũng như
chương trình cơ sở qua mạng. khi chuyển tiếp và khi lưu trữ , dữ xác thực/quyền truy cập của người
Không cần mã để sử dụng, tất cả liệu của thiết bị vẫn khả dụng khi dùng cuối để cung cấp cho người
ứng dụng Blynk đều thân thiện với thiết bị ngoại tuyến. Nền tảng Kaa dùng cuối và nhà điều hành dữ
người dùng và sẵn sàng cho khách IoT được thiết kế để hỗ trợ các liệu thông tin cần thiếtDữ liệu
hàng cuối. Bảng điều khiển kỹ tích hợp khác nhau, thực thi lệnh được bảo vệ, lưu trữ, mã hóa và hỗ
thuật số cho phép bạn có thể xây và nhận phản hồi gần thời gian trợ TLS/SSL.Đảm bảo việc áp
dựng giao diện đồ họa cho dự án thực và hỗ trợ rất nhiều phần dụng Chuyển đổi kỹ thuật số bằng
của mình bằng cách tài nguyên có cứng. Kết nối thiết bị trực tiếp cách điều chỉnh cách thức hoạt
sẵn. hoặc quacổng bằng tất cả các loại động và giao diện của ứng dụng
kết nối hiện đại. IoT
Nền tảng hỗ trợ: Blynk hỗ trợ Nền tảng hỗ trợ:Chỉ hỗ trợ nền Nền tảng hỗ trợ:Chỉ 2 nền tảng
nhiều nền tảng như: Windows, tảng SaaS/Web. SaaS, Web.
Mac,Linux,SaaS/Web,Iphone,
Ipad, Android
Đối tượng: Nhà sản xuất, nhà tích Đối tượng:Tổ chức doanh nghiệp, Đối tượng: Công ty công nghiệp,
hợp hệt hống, DIY. nhóm phát triển IoT. nhà phát triển IoT
Hình thức: Dùng thử miễn phí và trả phí.

3. Các bước cài đặt và thiết lập Blynk để giao tiếp với ESP32:

-Đầu tiền truy cập vào https://blynk.cloud/ đăng nhập, nếu chưa có tài khoản thì chọn Create new
account để đăng ký.

CƠ SỞ VÀ ỨNG DỤNG IOTS - ITFA436064


- Sau khi có tài khoản, bạn đăng nhập vào chọn New Template, nhập tên và chọn đầy đủ như hình dưới:

CƠ SỞ VÀ ỨNG DỤNG IOTS - ITFA436064


- Tiếp theo, chọn Datastreams -> Virtual Pin -> nhập đầy đủ datastream của Pin -> Create

CƠ SỞ VÀ ỨNG DỤNG IOTS - ITFA436064


- Ở ví dụ này mình gửi dữ liệu cảm biến nhiệt độ, độ ẩm lên Blynk nên ta tạo tương tự một Pin V1 là độ
ẩm, và tạo V3 là Pin điều khiển Led:

CƠ SỞ VÀ ỨNG DỤNG IOTS - ITFA436064


- Sau khi tạo Pin xong, ta chọn Web Dashboard, kéo các Gauge bên trái qua để hiển thị nhiệt độ và độ
ẩm, Switch để làm công tắc bật tắt Led, một biểu đồ chart để để hiển thị nhiệt, nhấn biểu tượng cài đặt
để chọn từng Pin hiển thị phù hợp.

CƠ SỞ VÀ ỨNG DỤNG IOTS - ITFA436064


- Sau khi chọn xong ta ấn Save để lưu cài đặt.

CƠ SỞ VÀ ỨNG DỤNG IOTS - ITFA436064


-Quay lại tab home để đặt tên cho thiết bị

-Copy và dán các hằng số đã sao chép vào vào các dòng khai báo của blink

CƠ SỞ VÀ ỨNG DỤNG IOTS - ITFA436064


4. Nguyên lý chuyển đổi của cảm biến DHT11, thông số kỹ thuật và sơ đồ chân của DHT11. Liệt kê 5
cảm biến đo nhiệt độ khác nhau. So sánh ưu và nhược điểm của từng loại (lập bảng).
a) Nguyên lí chuyển đổi của cảm biến DHT11:
Cảm biến DHT11 bao gồm 2 thành phần: tụ cảm biến độ ẩm và nhiệt điện trở để cảm nhận nhiệt độ.+
Để đo độ ẩm, tụ điện cảm biến độ ẩm là một tụ điện nhỏ bao gồm một vật liệu điện môi hút ẩm được đặt giữa
một cặp điện cực. Hầu hết các cảm biến điện dung sử dụng nhựa hoặc polymer làm vật liệu điện môi, với
hằng số điện môi điển hình dao động từ 2 đến 15. Ở nhiệt độ phòng bình thường, hằng số điện môi của hơi
nước có giá trị khoảng 80,giá trị lớn hơn nhiều so với hằng số của vật liệu điện môi cảm biến. Do đó, sự hấp
thụ độ ẩm của cảm biến dẫn đến tăng điện dung cảm biến. Sau đó, IC đo lường xử lý các giá trị điện dung đã
thay đổi này và thay đổi chúng thành dạng kỹ thuật số.

Cấu tạo tụ điện cảm biến điện dung

Đ
CƠ SỞ VÀ ỨNG DỤNG IOTS - ITFA436064
ể đo nhiệt độ, cảm biến này sử dụng nhiệt điện trở hệ số nhiệt độ âm, làm giảm giá trị điện trở của nó khi
tăng nhiệt độ. Để có được giá trị điện trở lớn hơn ngay cả đối với sự thay đổi nhiệt độ nhỏ nhất, cảm biến này
thường được tạo thành từ gốm bán dẫn hoặc polyme.
b) Sơ đồ chân DHT11

Thứ tự Tên chân Mô


tả
1 VCC 3.5V~5.5V
2 DATA Ngõ ra dữ liệu độ ẩm nhiệt độ
3 NC Không sử dụng
4 GND Nối đất

CƠ SỞ VÀ ỨNG DỤNG IOTS - ITFA436064


Tên cảm biến nhiệt độ Ưu điểm Nhược điểm

CẶP NHIỆT ĐIỆN (Thermocouples) -Bền, đo nhiệt độ cao. -Nhiều yếu tố ảnh hưởng làm sai số.

Độ nhạy không cao.

NHIỆT ĐIỆN TRỞ (RTD - resitance Độ chính xác cao hơn -Dải đo bé hơn cặp nhiệt điện, giá thành cao

temperature detector). cặp nhiệt điện, dễ sử hơn cặp nhiệt điện


dụng hơn, chiều dài

dây không hạn chế.

THERMISTORS - Bền, rẻ tiền, dễ chế tạo - Dễ bị hư hỏng vì chúng được làm từ oxit
của niken và mangan.

- Dãy tuyến tinh hẹp


BÁN DẪN - Rẻ tiền, dễ chế tạo, độ -Không chịu nhiệt độ cao, kém bền
nhạy cao, chống nhiễu
tốt, mạch xử lý

đơn giản.

NHIỆT KẾ BỨC XẠ (còn gọi là hỏa kế - -Dùng trong môi -Độ chính xác không cao, đắt tiền

pyrometer) trường khắc nghiệt,

không cần tiếp xúc với

môi trường đo

5. Kết quả và giao diện thực hiện thu thập dữ liệu nhiệt độ và độ ẩm dùng DHT11, điều khiển thiết bị
(Led) bằng nút nhấn thông qua Blynk và giải thích chương trình điều khiển.
https://www.youtube.com/watch?v=wehS6HHei5g

6. Thiết kế và thực hiện 01 hệ thống giám sát và điều khiển thiết bị dựa trên các cảm biến và phần cứng
ESP32, kết hợp Blynk 2.0.
Đề tài: HỆ THỐNG ĐO MỰC NƯỚC TRONG BỂ CHỨA ĐIỀU KHIỂN LED VÀ HIỂN THỊ TRÊN
MÀN HÌNH
A) Mục tiêu và yêu cầu thiết kế:
+ Đo mực nước chính xác và cảnh báo(bật LED).
+ Điều khiển LED.
+ Hiển thị trên màn hình kèm giao diện người dùng.
+ Kết nối mạng và bảo trì dễ dàng.

B) Sơ đồ khối:

CƠ SỞ VÀ ỨNG DỤNG IOTS - ITFA436064


C) Sơ đồ kết nối:

+ Chú thích:
int
CƠ SỞ VÀ ỨNG DỤNG IOTS - ITFA436064
LED_GREEN = 15;
int LED_RED = 23;
int trigger_pin = 5;
int echo_pin = 18;
D) Lưu đồ giải thuật:

E) Kết quả phần cứng và phần mềm:


Phần mềm:
#include <DHT.h>
#include <DHT_U.h>

#define BLYNK_TEMPLATE_ID "TMPL6eQRG5ql3"


#define BLYNK_TEMPLATE_NAME "duchung"
#define BLYNK_AUTH_TOKEN "LmmoDrv6UIAeLvcTXuzHyYSrpOeE9HBa"
#define BLYNK_PRINT Serial
#define DHTTYPE DHT11
#define DHTPIN 4
DHT dht(DHTPIN, DHTTYPE);
#include
<Wire.h>
CƠ SỞ VÀ ỨNG DỤNG IOTS - ITFA436064
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>

int LED_GREEN = 15;


int LED_RED = 23;
int trigger_pin = 5;
int echo_pin = 18;

int distance_cm;

char ssid[] = "Hungga";


char pass[] = "bo031203";

BlynkTimer timer;

void setup()
{
Serial.begin(9600);
timer.setInterval(200L, hcsr04);
Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);
pinMode(LED_GREEN, OUTPUT);
pinMode(LED_RED, OUTPUT);
pinMode(trigger_pin, OUTPUT);
pinMode(echo_pin, INPUT);
}

void hcsr04()
{
digitalWrite(trigger_pin, LOW);
delayMicroseconds(2);
digitalWrite(trigger_pin, HIGH);
delayMicroseconds(10);

digitalWrit
CƠ SỞ VÀ ỨNG DỤNG IOTS - ITFA436064
e(trigger_pin, LOW);
long duration = pulseIn(echo_pin, HIGH);
distance_cm = (duration / 2) / 29.09;
Serial.println(distance_cm);
if (isnan(distance_cm)) {
Serial.println("Failed to read from HCSR04 sensor!");
return;
}

Blynk.virtualWrite(V2, distance_cm);

delay(200);
}
void sendSensor()
{
//float h = dht.readHumidity();

float t = dht.readTemperature(); // or dht.readTemperature(true) for Fahrenheit


if ( isnan(t)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
Blynk.virtualWrite(V3, t);
//Blynk.virtualWrite(V6, h);
}
void loop()
{
hcsr04();
Blynk.run();
sendSensor();
if(distance_cm <= 10 || distance_cm >= 300)
{
digitalWrite(LED_RED, HIGH);

Blynk.virt
CƠ SỞ VÀ ỨNG DỤNG IOTS - ITFA436064
ualWrite(V1,1);

/*delay(500);
digitalWrite(LED_3,LOW);
delay(500);*/
}else { digitalWrite(LED_RED, LOW);
Blynk.virtualWrite(V1,0);

}
}

BLYNK_WRITE(V0){
int value = param.asInt();
if (value == 1)
digitalWrite(LED_GREEN, HIGH);
else
digitalWrite(LED_GREEN, LOW);
}
/*BLYNK_WRITE(V1){
int value = param.asInt();
if (value == 1)
digitalWrite(LED_RED, HIGH);
else
digitalWrite(LED_RED, LOW);
}*/

Phần cứng: https://www.youtube.com/watch?v=1_1D1YaWk18

Hình ảnh làm việc nhóm

CƠ SỞ VÀ ỨNG DỤNG IOTS - ITFA436064


Trích dẫn tài liệu tham khảo theo đúng chuẩn IEEE.

CƠ SỞ VÀ ỨNG DỤNG IOTS - ITFA436064

You might also like