LỜI NÓI ĐẦUHệ 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
Trang 1BỘ 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
Trang 2LỜ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
Trang 3II 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
Trang 4Chươ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
Trang 51.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
Trang 6Thô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
Trang 7-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
Trang 8Chương 2:THIẾT KẾ HỆ THỐNG 2.1 Lưu đồ thuật toán
2.2 Thiết kế Blynk
2.2.1 Giới thiệu về Blynk
Bắt Đầu
Độ ẩm
Tự động
Button = 1
Tắt máy bơm
Kết thúc
Độ ẩm < ngưỡng được đặt trước
Bật máy bơm
Kiểm tra lại độ
ẩm đất
Nếu độ ẩm đạt mức đủ
Kết thúc
Độ ẩm > ngưỡng đặt trước
Tiếp tục/Không bơm
Tắt máy bơm
Kết thúc
Trang 9Blynk 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
Trang 102.2.3 DataStreams
2.3 Mạch thực tế
Trang 122.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, )
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!" )
Trang 13} 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 )) ;
}
Trang 14Test 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
Trang 15Khi 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
Trang 16Đá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
Trang 17KẾ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