You are on page 1of 18

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC MỎ - ĐỊA CHẤT

KHOA CÔNG NGHỆ THÔNG TIN

PHÁT TRIỂN ỨNG DỤNG IOT (INTERNET OF THINGS)


BÁO CÁO ĐỀ TÀI MÔN HỌC
XÂY DỰNG HỆ THỐNG TƯỚI TỰ ĐỘNG DỰA TRÊN ĐỘ ẨM ĐẤT VÀ
THEO DÕI TỪ XA THÔNG QUA APP BLYNK SỬ DỤNG NODEMCU ESP
8266

Giảng Viên: Nguyễn Thùy Dương

Nhóm : 05

Sinh viên thực hiện:

1.Lê Hoàng Việt-2021050721

2.Trần Thu Thảo-2021050605

3.Bùi Thị Thiệp-2021050621

4.Nguyễn Ngọc Thuận-2021050626

5.Hoàng Văn Tường-2021050717

HÀ NỘI – 2023
LỜI NÓI ĐẦU
Hệ thống tưới tự động dựa trên độ ẩm đất và theo dõi từ xa thông qua điện thoại di
động sử dụng App Blynk và NodeMCU ESP8266 là một giải pháp hiệu quả cho việc tưới
cây trồng một cách thông minh, tiết kiệm nước và đảm bảo cây luôn được cung cấp đủ nước
để phát triển và sinh trưởng tốt.

Hệ thống tưới nước tự động kết hợp theo dõi từ xa thông qua điện thoại là hệ thống
thiết bị phụ trợ tốt nhất đáp ứng theo nhu cầu sinh trưởng của cây trồng, đang được ứng
dụng rộng trên các nước đang phát triển. Hệ thống tưới nước tự động kết hợp theo dõi từ xa
là một hình thức tưới nước hợp lý, tiết kiệm sức lao động và chi phí nhân công, vốn đã được
phát triển ở nhiều nước trên thế giới. Tuy nhiên, ở Việt Nam chỉ vài ba năm trở lại đây, việc
tận dụng hệ thống này mới trở thành xu hướng. Hệ thống tưới nước trên cũng trở nên phổ
biến hơn với người nông dân ở nông thôn cùng với quá trình hiện đại hóa, công nghiệp hóa
nông thôn nhưng chưa dám mạnh dạng đưa vào sử dụng vì chi phí cao.

Trong báo cáo này, chúng tôi sẽ giới thiệu quy trình xây dựng hệ thống tưới tự động dựa
trên độ ẩm đất và theo dõi từ xa thông qua điện thoại di động sử dụng App Blynk và
NodeMCU ESP8266.
II. Thiết bị

Các thiết bị cần sử dụng để xây dựng hệ thống bao


gồm :

1. NodeMCU ESP826
2. Cảm biến độ ẩm đất
3. Mạch cầu nối độ ẩm đất
4. Mạch điều khiển Relay
5. Bộ nguồn điện
6. Máy tính, Điện thoại di động kết nối internet

III. Các bước thực hiện

1.Lắp đặt các thiết bị

2.Lắp đặt cảm biến độ ẩm đất vào đất và kết nối mạch cầu nối độ ẩm
đất với NodeMCU ESP8266.

3.Kết nối mạch điều khiển Relay với NodeMCU ESP8266.

4.Kết nối NodeMCU ESP8266 với bộ nguồn điện và kết nối với
internet.
Chương 1: TỔNG QUAN ĐỀ TÀI

1.1Giới thiệu tổng quan về IoT


IoT (Internet of Things) là một thuật ngữ được sử dụng để mô tả một mạng lưới các thiết bị
được kết nối với nhau thông qua Internet để giao tiếp và trao đổi dữ liệu.Trong một mạng IoT,
các thiết bị được kết nối có thể là các cảm biến, máy móc, thiết bị điện tử thông minh, xe hơi,
thiết bị y tế và nhiều hơn nữa. Các thiết bị này sử dụng các giao thức mạng để gửi dữ liệu về
trạng thái của chúng và các hoạt động được thực hiện.Mục đích của IoT là tạo ra một mạng lưới
thông minh, tự động hóa và có khả năng tương tác với con người một cách hiệu quả hơn. Việc
kết nối các thiết bị thông qua Internet giúp tăng khả năng thu thập dữ liệu và cung cấp thông tin
hữu ích cho các doanh nghiệp và tổ chức. IoT có thể được áp dụng trong nhiều lĩnh vực khác
nhau như:

Công nghiệp: IoT có thể giúp tăng năng suất, giảm thời gian dừng máy và tiết kiệm năng lượng.
Các thiết bị được kết nối trong hệ thống sản xuất có thể thu thập và chia sẻ dữ liệu để giúp các
nhà sản xuất đưa ra quyết định thông minh.

Y tế: IoT cung cấp cho các chuyên gia y tế thông tin để theo dõi sức khỏe của bệnh nhân, giảm
thời gian phát hiện bệnh và đưa ra liệu pháp phù hợp. Ví dụ, các thiết bị như đồng hồ thông
minh, các cảm biến y tế và các thiết bị y tế di động có thể giám sát dấu hiệu của bệnh nhân và
gửi dữ liệu đến các chuyên gia y tế.

Smart Home: IoT giúp tạo ra các hệ thống nhà thông minh có khả năng tự động hóa, giúp tiết
kiệm năng lượng và tăng tính an toàn. Các thiết bị như máy giặt, tủ lạnh, bóng đèn, điều hòa,
các cảm biến và các thiết bị điều khiển giọng nói có thể được kết nối với nhau để tạo ra một hệ
thống nhà thông minh.

Smart City: IoT có thể giúp tạo ra các thành phố thông minh thông qua việc sử dụng các cảm
biến và hệ thống thông tin để cải thiện quản lý giao thông, giám sát môi trường, quản lý năng
lượng và cải thiện chất lượng cuộc sống.Nông nghiệp thông minh: IoT có thể giúp cải thiện
năng suất nông nghiệp thông qua việc thu thập dữ liệu từ các cảm biến, giám sát môi trường và
kiểm soát tưới nước và thức ăn của cây trồng.Tóm lại, IoT đang trở thành một xu hướng công
nghệ phát triển rất nhanh chóng và sẽ trở thành một phần không thể thiếu của cuộc sống và các
lĩnh vực kinh doanh và sản xuất trong tương lai.
1.2 Ý tưởng đề tài
Đề tài được đề xuất bao gồm các ý tưởng sau:
1. Kiểm tra kết nối internet.
2. Đọc giá trị độ ẩm đất từ cảm biến và hiển thị lên Blynk (V0).
3.Cung cấp chế độ tuỳ chỉnh Auto/Máy bơm thông qua các chức năng (V1/V2).
*Trong chế độ Auto:
Người dùng có thể đặt ngưỡng trên và dưới của độ ẩm thông qua chức năng Slider (V6 – Độ ẩm
bật máy bơm, V7 – Độ ẩm tắt máy bơm).
Nếu độ ẩm cao hơn ngưỡng trên, hệ thống sẽ ngắt relay để tắt máy bơm.
Nếu độ ẩm thấp hơn ngưỡng dưới, hệ thống sẽ đóng relay để mở máy bơm.
Nếu độ ẩm trong ngưỡng, hệ thống sẽ đóng relay để tắt máy bơm (ngừng bơm).
*Trong chế độ máy bơm:
Người dùng sử dụng nút nhấn button (V2) trên ứng dụng Blynk để điều khiển đóng ngắt relay.
Điều này cho phép người dùng điều khiển máy bơm bằng tay, bất kể độ ẩm đất là bao nhiêu. Chế
độ này sẽ phù hợp hơn khi người dùng muốn tưới cây hoặc bơm nước một cách đơn giản và
nhanh chóng.

1.3 Lựa chọn phần cứng cho hệ thống:


Sau khi phân tích yêu cầu hệ thống, chúng tôi đã lựa chọn NodeMCU ESP8226 CH340 làm
Board mạch điều khiển cho hệ thống của mình. NodeMCU V1.0 được phát triển dựa trên Chip
Wifi ESP8226 đã được tích hợp sẵn Module ESP-12E, giúp kết nối Wifi dễ dàng với chỉ vài thao
tác đơn giản. Board còn tích hợp IC CP2102, cho phép giao tiếp dễ dàng với máy tính thông qua
Micro USB để thực hiện các thao tác với board.
NodeMCU V1.0 còn có sẵn nút nhấn và đèn LED để hỗ trợ cho quá trình học tập và nghiên cứu.
Kích thước nhỏ gọn và tính linh hoạt của board cho phép dễ dàng kết nối với các thiết bị ngoại vi
khác để tạo ra các sản phẩm mẫu và project một cách nhanh chóng.
Thông số kỹ thuật:
- Chip: ESP8266 CH340
- 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

Cảm biến:
Cảm biến độ ẩm đất

Thông số kỹ thuật:
-Điện áp hoạt động: 3.3~12VD
-Tín hiệu đầu ra:
+Analog: theo điện áp cấp nguồn tương ứng.
+Digital: High hoặc Low, có thể điều chỉnh độ ẩm mong muốn bằng biến trở thông qua
mạch so sánh LM393 tích hợp.

-Chiều dài dây cảm biến: 1m


-Kích thước PCB: 3.6 x 1.5cm.
Thiết bị chấp hành: Relay mini (RL-M1)

Thông số kỹ thuật:
 Điện áp hoạt động: 5VDC/12VDC (thay đổi Jump trên mạch)
 Ngõ ra relay: 250VAC-10A / 30VDC-10A
 Sử dụng ESP8266 ESP-01S
 Kích thước: 38 x 25 x 17.3mm
 Trọng lượng: 18g
Chương 2:THIẾT KẾ HỆ THỐNG

2.1 Lưu đồ thuật toán

Bắt Đầu

Độ ẩm

Tự động

Độ ẩm < ngưỡng Độ ẩm > ngưỡng


Button = 1 đặt trước
được đặt trước

Tiếp tục/Không
Tắt máy bơm Bật máy bơm bơm

Kiểm tra lại độ


ẩm đất Tắt máy bơm

Nếu độ ẩm đạt
Kết thúc
mức đủ

Kết thúc
Kết thúc

2.2 Thiết kế Blynk

2.2.1 Giới thiệu về Blynk


Blynk là một nền tảng IoT (Internet of Things) cho phép người dùng dễ dàng tạo và điều khiển
các thiết bị IoT từ xa thông qua điện thoại thông minh hoặc máy tính bảng. Với Blynk, người
dùng có thể tạo ra các ứng dụng điều khiển từ xa cho các thiết bị IoT của mình một cách nhanh
chóng và dễ dàng.
Blynk cung cấp một ứng dụng di động và một trang web cho phép người dùng tạo ra các giao
diện điều khiển đơn giản bằng cách sử dụng các thư viện đồ họa và các công cụ kéo và thả. Blynk
cũng cung cấp các thư viện mã nguồn mở cho các nền tảng phần cứng khác nhau, cho phép người
dùng dễ dàng tương tác với các thiết bị của họ thông qua Blynk.
Blynk còn cung cấp các tính năng khác như lưu trữ dữ liệu và phân tích, cho phép người dùng
theo dõi và phân tích dữ liệu từ các thiết bị của họ. Blynk cũng hỗ trợ các tính năng bảo mật, cho
phép người dùng bảo vệ các thiết bị IoT của mình khỏi các mối đe dọa an ninh.
Blynk là một nền tảng IoT phổ biến được sử dụng trong nhiều ứng dụng khác nhau, bao gồm
giám sát môi trường, kiểm soát đèn và các thiết bị gia đình thông minh, và thậm chí cả trong các
ứng dụng công nghiệp.

2.2.2 Thiết kế giao diện Blynk


2.2.3 DataStreams

2.3 Mạch thực tế


2.4 Code chương trình
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>

#define BLYNK_PRINT Serial


#define BLYNK_TEMPLATE_ID "TMPL6qnGvvBAI"
#define BLYNK_TEMPLATE_NAME "SmartFarming"
#define BLYNK_AUTH_TOKEN "Zotoo_RdTPeAa5iBHQCNDTpplMxVvefF"

char auth[] = "Zotoo_RdTPeAa5iBHQCNDTpplMxVvefF";//Enter your Auth token


char ssid[] = "Viet Le";//Enter your WIFI name
char pass[] = "Viet17042002@";//Enter your WIFI password

BlynkTimer timer;
int relay_bomtuoi=4;
int doam_bomtuoi=0;
int doam_tatbomtuoi=0;
int button_bomtuoi=14;
boolean button_bomtuoiState=HIGH;
boolean chedo_hoatdong=0;
unsigned long times=millis();

void setup()
{
  Serial.begin(115200);
  Blynk.begin(auth, ssid, pass, "blynk.cloud", 80);
  delay(100);
  pinMode(button_bomtuoi,INPUT_PULLUP);
  pinMode(relay_bomtuoi,OUTPUT);
  digitalWrite(relay_bomtuoi,LOW);
}

void loop() {
  Blynk.run();//Run the Blynk library
  timer.run();//Run the Blynk timer
 
  if(millis()-times>1000){
 
    //Ghi giá trị độ ẩm đất lên blynk
    int doam_dat = analogRead(A0);
    doam_dat = map(doam_dat,0,1023,100,0);
    Serial.println("Độ ẩm đất: " + String(doam_dat));
    Blynk.virtualWrite(V0,doam_dat);
    //Chế độ tự động bơm tưới
    if(chedo_hoatdong==0){
      if(doam_dat<doam_bomtuoi){
        digitalWrite(relay_bomtuoi,LOW);
        Blynk.virtualWrite(V2,digitalRead(relay_bomtuoi));
        Serial.println("Độ ẩm bơm tưới: " + String(doam_bomtuoi));//test
        Serial.println("Bật bơm tưới!");
      }else{
        if(doam_dat>doam_tatbomtuoi){
          digitalWrite(relay_bomtuoi,HIGH);
          Blynk.virtualWrite(V2,digitalRead(relay_bomtuoi));
          Serial.println("Độ ẩm bơm tưới: " + String(doam_bomtuoi));//test
          Serial.println("Tắt bơm tưới!");
        }
      }
    }
    times=millis();
  }
  //Điều khiển trực tiếp bằng nút nhấn vật lý
  if(digitalRead(button_bomtuoi)==LOW){
    if(button_bomtuoiState==HIGH){
      button_bomtuoiState=LOW;
      chedo_hoatdong=1;
      Blynk.virtualWrite(V1,HIGH);
      digitalWrite(relay_bomtuoi,!digitalRead(relay_bomtuoi));
      Blynk.virtualWrite(V2,digitalRead(relay_bomtuoi));
      Serial.println("Relay bơm tưới: " + String(digitalRead(relay_bomtuoi)));
      delay(200);
    }
  }else{
    button_bomtuoiState=HIGH;
  }
}

BLYNK_CONNECTED(){
  Blynk.syncVirtual(V1,V2,V6,V7); //Đồng bộ dữ liệu từ server xuống esp khi kết
nối
}
BLYNK_WRITE(V1){
  chedo_hoatdong = param.asInt();
  Serial.println("Chế độ hoạt động: " + String(chedo_hoatdong));
}
BLYNK_WRITE(V2){
  if(chedo_hoatdong==1){
    int p = param.asInt();
    digitalWrite(relay_bomtuoi,p);
    Serial.println("Relay bơm tưới: " + String(digitalRead(relay_bomtuoi)));
  }
}
BLYNK_WRITE(V6){
  doam_bomtuoi = param.asInt();
  Serial.println("Độ ẩm bơm tưới: " + String(doam_bomtuoi));
}
BLYNK_WRITE(V7){
  doam_tatbomtuoi = param.asInt();
  Serial.println("Độ ẩm tắt bơm tưới: " + String(doam_tatbomtuoi));
}
Test trạng thái hoạt động:

Khi bật chế độ Auto để mực nước đạt < mức setting (53%) thì máy bơm bật và chạy
bình thường
Khi bật chế độ Auto để mực nước đạt > mức setting (39%) thì công tắc máy bơm tự
động tắt

Khi tắt chế độ Auto ta dù để mực nước đạt > mức setting (39%) thì công tắc máy bơm
vẫn bật, ta phải bật tắt thủ công
Đánh giá hoạt động của hệ thống:
Báo cáo đánh giá hoạt động của hệ thống tưới phun mưa cho thấy phương pháp này
được sử dụng rộng rãi trong nông nghiệp, đặc biệt là trong việc tưới các cây trồng
cần nhiều nước. Hệ thống cũng được áp dụng trong việc tưới các bãi cỏ và các tán
cây cảnh tại các địa điểm công cộng và khu nghỉ dưỡng, với mục đích đảm bảo cả
tính mỹ quan.
Các nông dân tại Việt Nam đã sử dụng hệ thống phun mưa để tưới nước cho các
vườn chè, khu vực trồng hoa và các vườn rau lớn, giúp tiết kiệm chi phí đầu tư, sức
lao động và nguồn nước, đặc biệt là trong mùa khô. Hệ thống tưới phun mưa giúp
cây trồng phát triển tốt từ bộ rễ lên đến bề mặt lá, tăng cường hiệu quả sản xuất
nông nghiệp và nâng cao chất lượng nông sản.
Hệ thống phun mưa được thiết kế hiện đại và đang được sử dụng thành công trong
phòng thí nghiệm và các mô hình trồng rau tại nhà. Hệ thống có ưu điểm nhỏ gọn,
giá thành rẻ, tiện dụng cho các mô hình trồng rau nhỏ vừa, dễ chỉnh sửa phương
thức và có thể phát triển thành những dự án lớn hơn về phát triển nông nghiệp.
Tuy nhiên, để mở rộng sử dụng hệ thống cho các dự án lớn hơn, cần phải cải tiến hệ
thống về các mặt kỹ thuật cũng như cảm biến. Việc cải tiến này sẽ giúp tăng cường
hiệu quả của hệ thống phun mưa và mở rộng thêm các ứng dụng trong lĩnh vực
nông nghiệp.
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

Sau một thời gian nghiên cứu và tham khảo tài liệu từ nhiều nguồn khác nhau, cùng với
sự giúp đỡ của giảng viên và bạn bè, nhóm của chúng tôi đã hoàn thành đề tài "Xây dựng
hệ thống tưới tự động dựa trên độ ẩm đất và theo dõi từ xa thông qua điện thoại di động".
Đề tài của chúng em có nhiều ưu điểm. Mạch được thiết kế đơn giản, không phức tạp,
nhưng lại đảm bảo tính chính xác và khả năng áp dụng cao trong thực tế. Chúng tôi cũng
sử dụng các module có biến trở để điều chỉnh dễ dàng theo yêu cầu và trường hợp cụ thể.
Điều này giúp giảm bớt công sức của con người trong việc chăm sóc vườn. Bên cạnh đó,
các thiết bị mà chúng tôi sử dụng để xây dựng mạch đều dễ mua được trên thị trường, giá
thành rẻ và dễ lắp ráp đối với người mới tập làm mạch điện tử. Hơn nữa, đề tài của chúng
tôi có thể mở rộng và phát triển dễ dàng.
Đề tài đã trình bày được những nguyên lý cơ bản nhất của một hệ thống tưới nước tự
động và theo dõi từ xa. Từ đó, chúng tôi đề xuất phát triển đề tài thành một hệ thống
vườn thông minh phù hợp với nhu cầu của xã hội. Với đề tài này, nếu có đủ thời gian
nghiên cứu, chúng tôi đề xuất mở rộng việc sử dụng cảm biến độ ẩm bằng cách sử dụng
các loại cảm biến khác như cảm biến nhiệt độ, cảm biến tốc độ động cơ để điều chỉnh
lượng nước tưới một cách hiệu quả, cảm biến đo độ pH để đo độ pH trong nước tưới và
kịp thời xử lý nếu nước bị nhiễm phèn.
Tóm lại, đề tài của chúng tôi đã đạt được nhiều kết quả tích cực và có thể phát triển tiếp
để trở thành một hệ thống vườn thông minh và tiện ích hơn nữa.
NHIỆM VỤ CỦA TỪNG THÀNH VIÊN
+ Hoà ng Vă n Tườ ng và Nguyễn Ngọ c Thuậ n hai bạ n có nhiệm vụ đi tìm nhữ ng
thô ng tin liên quan đến đề tà i, phụ c vụ cho việc là m thự c nghiệm.
+ Lê Hoà ng Việt,Trầ n Thu Thả o,Bù i Thị Thiệp có nhiệm vụ tiếp nhậ n thô ng tin từ
hai bạ n trên và tiến hành lắ p mạ ch, code, thiết lậ p templates và devices cho thiết
bị kết nố i hiển thị trên app blynk.
+ Trầ n Thu Thả o và Bù i Thị Thiệp viết bá o cá o.
+ Lê Hoà ng Việt có nhiệm vụ xem bá o cá o, fix code hoặ c chưa đú ng nộ i dung mô tả
để hoà n chỉnh cho bà i bá o cá o.

TÀI LIỆU THAM KHẢO


Tà i liệu tham khả o
1. TS. Nguyễn Chí Nhâ n, “Bà i giả ng: Phá t triển ứ ng dụ ng Internet vạ n vậ t -
Internet
of Things (IoT)”, Bộ mô n Vậ t lý Điện tử , Khoa Vậ t lý-Vậ t lý Kỹ thuậ t, Trườ ng Đạ i
họ c Khoa họ c Tự nhiên, ĐHQG TP.HCM (lưu hà nh nộ i bộ ).
2. https://www.youtube.com/watch?v=TiKZPfPyTbw&t=702s
3. https://arduinokit.vn/cam-bien-do-am-he-thong-tuoi-tu-dong-su-dung-
arduino/
4. http://learning.grobotronics.com/2014/09/arduino-lesson-14-dc-motor-l293/
5. http://www.adafruit.com/
6. http://arduino.vn/
7. http://arduino.cc/

You might also like