1. Trang chủ
  2. » Luận Văn - Báo Cáo

NGHIÊN CỨU, PHÁT TRIỂN HỆ THỐNG NÔNG NGHIỆP THÔNG MINH (IOT)

55 200 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 55
Dung lượng 7,38 MB

Nội dung

BÁO CÁO THỰC TẬP CƠ SỞ CHUYÊN NGHÀNH NGHIÊN CỨU, PHÁT TRIỂN HỆ THỐNG NÔNG NGHIỆP THÔNG MINH 2. Mục đích nghiên cứu Với đề tài: ‘‘Nghiên cứu, phát triển hệ thống nông nghiệp thông minh’’ nhằm mục đích nâng cao hiểu biết về nông nghiệp thông minh và ứng dụng IOT vào trong nông nghiệp. Cùng với đó là thiết kế một hệ thống theo dõi, giám sát các chỉ số môi trường kèm các chức năng tự động cho hệ thống nông nghiệp nông nghiệp thông minh. 4. Đối tượng nghiên cứu IOT (Internet of Things), nông nghiệp thông minh. Các IC, cảm biến , Arduino,… Các app thông báo monlie và web server. Hệ thống theo dõi, giám sát và điều khiển nông nghiệp tự động. 7. Bố cục bài báo cáo Từ những nội dung nghiên cứu nêu trên, ngoài phần mở đầu và phần kết luận. Nội dung có 04 chương gồm những chương sau: Chương 1: Cơ sở lý thuyết Chương 2: Thành phần hệ thống Chương 3: Sơ đồ mạch Chương 4: Quy trình hoạt động Chương 5: Lập trình

BAN CƠ YẾU CHÍNH PHỦ HỌC VIỆN KỸ THUẬT MẬT MÃ *** BÁO CÁO THỰC TẬP CƠ SỞ CHUYÊN NGHÀNH NGHIÊN CỨU, PHÁT TRIỂN HỆ THỐNG NÔNG NGHIỆP THÔNG MINH Giáo viên hướng dẫn: Sinh viên thực hiện: Hà Nội, 2021 MỤC LỤC LỜI NÓI ĐẦU MỞ ĐẦU Lý lựa chọn đề tài .5 Mục đích nghiên cứu .5 Nhiệm vụ nghiên cứu Đối tượng nghiên cứu 5 Phạm vi nghiên cứu 6 Các đóng góp báo cáo Bố cục báo cáo NỘI DUNG .7 Chương I: Cơ sở lý thuyết Nơng nghiệp thơng minh gì? .7 IOT (Internet of Things) gì? Ứng dụng IOT vào nông nghiệp 11 Chương II: Thành phần hệ thống .13 Giới thiệu Arduino UNO 13 Giới thiệu cảm biến Mưa 17 Cảm biến nhiệt độ, độ ẩm DHT11 18 ESP8266 18 Module Relay kênh 5V 20 Cảm biến độ ẩm đất .21 LCD 1602 22 Máy bơm chìm mini 23 Chương III: Sơ đồ mạch 24 Kết nối Arduino với ESP8266 .24 Kết nối Arduino với IC DHT11 .24 Kết nối Arduino với cảm biến mưa .25 Sơ đồ mạch hệ thống .26 Chương IV: Quy trình hoạt động 27 Sơ đồ luồng liệu .27 Cảm biến độ ẩm đất máy bơm 27 Module IC Arduino 28 ESP8266 29 Chương V: LẬP TRÌNH 29 Cài đặt Arduino IDE 29 Kết nối ESP8266 với ứng dụng thông báo Blynk 32 Webserver 36 App mobile thông báo 37 TỔNG KẾT 38 Kết luận 38 Phương hướng phát triển .38 TÀI LIỆU THAM KHẢO .38 PHỤ LỤC 39 Code Arduino Uno 39 Code cảm biến .47 LỜI NÓI ĐẦU Hiện nay, cách mạng khoa học công nghệ 4.0 đã, mở hội phát triển cực lớn cho ngành nghề Và nông nghiệp ngoại lệ Đối với nước phát triển Việt Nam nơng nghiệp chiếm vai trò to lớn kinh tế Việc ứng dụng khoa học công nghệ điều cấp thiết để phát triển kinh tế giúp cho người nông dân đỡ vất vả Nhằm giải vấn đề này, hệ thống nông nghiệp thông minh gồm hệ thống giám sát, xử lý, cung ứng trình sản xuất ngày đại đưa vào nơng nghiệp Trong chủ yếu tích hợp cơng nghệ IOT (Internet of Things) – “Mạng lưới vạn vật kết nối” góp phần thúc đẩy chuyển đổi từ nông nghiệp truyền thống sang nông nghiệp thông minh, tạo nên môi trường sản xuất nơng nghiệp động, khoa học giải phóng sức lao động, tăng suất, mang lại hiệu kinh tế cao Với mong muốn nghiên cứu tạo hệ thống giám sát nơng nghiệp tiện ích ứng dụng cơng nghệ IOT, để góp phần đáp ứng nhu cầu đóng góp thêm giải pháp phát triển, nhóm định chọn đề tài: “Nghiên cứu, phát triển mơ hình nơng nghiệp thơng minh” Trong báo cáo nghiên cứu xây dựng hệ thống nông nghiệp công nghệ cao sử dụng cảm biến để nhận diện số môi trường, thời tiết từ tự động canh tác nông nghiệp hiệu báo cáo cho người dùng Nhóm nghiên cứu xin gửi lời cám ơn sâu sắc chân thành tới TS Phạm Văn Hưởng trực tiếp hướng dẫn nhóm suốt q trình thực đề tài nghiên cứu Do thời gian, kiến thức kinh nghiệm nhóm cịn có hạn nên khơng thể tránh khỏi sai sót Nhóm mong giúp đỡ tham khảo ý kiến thầy bạn nhằm đóng góp phát triển thêm đề tài sau Hà Nội, 01/2021 MỞ ĐẦU Lý lựa chọn đề tài Trong thời đại cách mạng công nghiệp 4.0, việc ứng dụng công nghệ vào nhiều lĩnh vực chứng minh hiệu rõ rệt Nơng nghiệp từ trước đến nằm lĩnh vực hạn chế áp dụng thành tựu khoa học công nghệ Việt Nam nước có nơng nghiệp lâu đời, người dân đa phần làm nông nghiệp cách thủ công, phụ thuộc nhiều vào yếu tố đặc tính trồng, thời tiết… Chính mà suất chất lượng sản phẩm thu chưa đạt mong muốn Bên cạnh tượng biến đổi khí hậu năm gần vấn đề đặt nhiều thách thức, tình trạng dân số tang nhanh vơ hình chung tạo nên áp lực lớn cho ngành nông nghiệp Việc đảm bảo đủ lương thực chất lượng nông sản vấn đề tồn cầu Vì lý này, để gia tăng hiệu sản xuất, yêu cầu cho ngành nông nghiệp phải áp dụng tiến khoa học công nghệ để đạt hiệu tốt Nhiệm vụ sinh viên công nghệ thông chúng em cần nắm bắt thay đổi công nghệ, khoa học kỹ thuật, ứng dụng vào thực tế để nâng cao chất lượng sống tốt Vì chúng em lựa chọn đề tài: ‘‘Nghiên cứu, phát triển hệ thống nông nghiệp thông minh’’ phần hiểu có giải pháp thiết thực giúp bà nông dân phát triển nông nghiệp từ quy mô nhỏ hộ gia đình hay xa nơng nghiệp nước nhà Mục đích nghiên cứu Với đề tài: ‘‘Nghiên cứu, phát triển hệ thống nông nghiệp thông minh’’ nhằm mục đích nâng cao hiểu biết nơng nghiệp thông minh ứng dụng IOT vào nông nghiệp Cùng với thiết kế hệ thống theo dõi, giám sát số môi trường kèm chức tự động cho hệ thống nông nghiệp nông nghiệp thông minh Nhiệm vụ nghiên cứu Phát triển hệ thống nơng nghiệp thơng minh tích hợp IOT kết hợp khối cổng thông tin, phần mềm điện thoại, desktop phần mềm nhúng Đối tượng nghiên cứu - IOT (Internet of Things), nông nghiệp thông minh - Các IC, cảm biến , Arduino,… - Các app thông báo monlie web server - Hệ thống theo dõi, giám sát điều khiển nông nghiệp tự động 5 Phạm vi nghiên cứu - Thiết kế hệ thống theo dõi, giám sát hoạt động thời tiết số môi trường - Điều khiển hệ thống tự động tưới nước phù hợp với độ ẩm môi trường - Ứng dụng hệ thống IOT thông báo cho người Các đóng góp báo cáo Bao gồm sản phẩm chính: - Báo cáo tổng luận đề tài nghiên cứu: ‘‘Nghiên cứu, phát triển hệ thống nơng nghiệp thơng minh’’ - Mơ hình hồn chỉnh hệ thống nông nghiệp IOT theo dõi, giám sát điểu khiển tự động Bố cục báo cáo Từ nội dung nghiên cứu nêu trên, phần mở đầu phần kết luận Nội dung có 04 chương gồm chương sau: - Chương 1: Cơ sở lý thuyết - Chương 2: Thành phần hệ thống - Chương 3: Sơ đồ mạch - Chương 4: Quy trình hoạt động - Chương 5: Lập trình NỘI DUNG Chương I: Cơ sở lý thuyết Nông nghiệp thông minh gì? Nơng nghiệp thơng minh cụm từ người nông dân, nhà vườn quan tâm Biến đổi khí hậu ngày diễn biến phức tạp khó lường, trồng ngày bất ổn môi trường diễn biến xấu Cùng với nhân cơng ngày thiếu hụt cơng nghệ thơng minh vào sản xuất giải pháp cấp bách Nền nông nghiệp ứng dụng công nghệ cao (tự động hóa, giới hóa, …), cơng nghệ sản xuất, bảo đảm sản phẩm an toàn ( GAP, GlobalGAP, hữu cơ…), công nghệ quản lý (IOT, Big Data), nhận diện sản phẩm gắn với hệ thống AI (trí tuệ nhân tạo) nơng nghiệp thơng minh Hình 1.1: Nơng nghiệp thông minh Thành phần cấu thành nên nông nghiệp thông minh: - IOT Sensors (cảm biến kết nối vạn vật): thiết bị thông minh thiết bị cảm biến kết nối điều khiển tự động suốt q trình sản xuất giúp ứng phó với biến đổi khí hậu cải thiện khí hậu nhà kính - Robot (người máy): người máy thay làm việc mà người nông dân thường làm, giúp giảm chi phí nhân lực cách đáng kể Các phận phân tích phần mềm trợ giúp đưa xu hướng trang trại ứng dụng nơng nghiệp thơng minh cách nhanh chóng - Drones (thiết bị không người lái) satellites (các vệ tinh): hai thiết bị giúp khảo sát thực trạng thu thập liệu trang trại từ phân tích khuyến nghị sở cập nhập nhằm quản lý xác trang trại - Solar cells (tế bào quang điện): trang thiết bị doanh trại phần lớn cấp điện mặt trời pin điện mặt trời để giảm chi phí lượng sử dụng không gian hiệu - Công nghệ đèn led: đèn led giúp tối ưu hóa q trình sinh trưởng cho suất tối ưu, ứng dụng nơi có quỹ đất nơng nghiệp thị - Trồng trọt cách ly: canh tác nhà kính, nhà lưới, sử dụng cơng nghệ khí canh, thủy canh, hệ thống trồng cây, ni cá tích hợp giúp chủ động ứng dụng đồng công nghệ IOT (Internet of Things) gì? IoT từ viết tắt Internet of Things – “Internet vạn vật” hay “Mạng lưới vạn vật kết nối” IoT định hướng kết nối thiết bị, công cụ, đồ vật đời sống hàng ngày với internet để người giao tiếp, truy cập, điều khiển, thu thập thông tin quản trị thiết bị nhằm làm tăng hiệu suất, hiệu sử dụng Hình 1.2: IOT - Mạng lưới vạn vật kết nối Ứng dụng IoT kể đến như: - Nông nghiệp thông minh - Đô thị thông minh - Nhà máy thông minh - Văn phịng thơng minh - Nhà thơng minh … Kiến trúc IOT gồm bốn thành phần gồm: Vạn vật (Things), Trạm kết nối (Gateways), Hạ tầng mạng (Internet) cuối lớp dịch vụ (Service) Hình 1.3: cấu trúc IOT - Vạn vật (Things): Ngày có vơ vàn vật dụng hữu sống, khu canh tác, nhà thiết bị lưu động người dùng Giải pháp IoT giúp thiết bị thông minh sàng lọc, kết nối quản lý liệu đối tượng nông nghiệp cách cục bộ, cịn thiết bị chưa thơng minh kết nối thơng qua trạm kết nối Từ đó, thiết bị, vật dụng thực nhiệm vụ đối tượng nông nghiệp cần quản lý - Trạm kết nối (Gateways): Các trạm kết nối đóng vai trò vùng trung gian trực tiếp, cho phép vật dụng có sẵn kết nối với điện toán đám mây cách bảo mật dễ dàng quản lý Gateways thiết bị vật lý phần mềm dùng để kết nối Cloud (điện toán đám mây) điều khiển, cảm biến, thiết bị thông minh - Hạ tầng mạng (Internet): Internet hệ thống toàn cầu nhiều mạng IP kết nối với liên kết với hệ thống máy tính Cơ sở hạ tầng mạng bao gồm thiết bị định tuyến, trạm kết nối, thiết bị tổng hợp, thiếp bị lặp nhiều thiết bị khác kiểm sốt lưu lượng liệu lưu thông kết nối đến mạng lưới viễn thông cáp - triển khai nhà cung cấp dịch vụ - Lớp dịch vụ (Service): Là ứng dụng hãng Cơng nghệ, chí người dùng tạo để dễ dàng sử dụng sản phẩm IOT cách hiệu tận dụng hết giá trị sản phẩm 10 // ======================================== cam bien mua ====================== / const int rainPin = 4; // the number of the pushbutton pin const int ledPin = 2; int rainState = 0; // variable for reading the pushbutton status int lastState = 0; int n = 20; int i = 0; String taikhoan = "Tung"; String matkhau = "12345678"; String key[30]; String message = "Mưa rồi"; void thongbao(String key, String message) { std::unique_ptr client(new BearSSL::WiFiClientSecure); // client->setFingerprint(fingerprint); client->setInsecure(); HTTPClient https; Serial.println("[HTTPS] begin \n"); Serial.println("gui thong bao den" + key ); if (https.begin(*client, "https://api.telegram.org/bot1368398781:AAHzs9PBxh2YSIwJDSS3xzom2V01Br IvuRQ/sendMessage?chat_id=" + key + "&parse_mode=html&text=" + message)) { // HTTPS Serial.print("[HTTPS] GET \n"); // start connection and send HTTP header int httpCode = https.GET(); // httpCode will be negative on error if (httpCode > 0) 41 { // HTTP header has been send and Server response header has been handled Serial.printf("[HTTPS] GET code: %d\n", httpCode); // file found at server if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) { String payload = https.getString(); Serial.println(payload); } } else { Serial.printf("[HTTPS] GET failed, error: %s\n", https.errorToString(httpCode).c_str()); } https.end(); } else { Serial.printf("[HTTPS] Unable to connect\n"); } } void sendUptime() { if (a.available()) { StaticJsonDocument doc; DeserializationError err = deserializeJson(doc, a); if (err == DeserializationError::Ok) { 42 // Print the values // (we must use as() to resolve the ambiguity) Serial.print("temp = "); Serial.println(doc["temp"].as()); Serial.print("hum = "); Serial.println(doc["hum"].as()); // // // // } else { // Print error to the "debug" serial port Serial.print("deserializeJson() returned "); Serial.println(err.c_str()); // Flush all bytes in the "link" serial port buffer while (a.available() > 0) a.read(); } float data1 = doc["temp"]; float data2 = doc["hum"]; Blynk.virtualWrite(V6, data1); Blynk.virtualWrite(V5, data2); } // if ( t < 30) { // digitalWrite(D0,HIGH); // } } //web server// ESP8266WebServer server(80); const char index_html[] PROGMEM = R"rawliteral( Trang Chu 43 Key: Message: )rawliteral"; const char dangnhap_html[] PROGMEM = R"rawliteral( Trang Chu 0; t ) { Serial.printf("[SETUP] WAIT %d \n", t); Serial.flush(); delay(1000); } 46 Serial.println("Setup 1"); WiFi.mode(WIFI_STA); WiFiMulti.addAP(ssid, pass); while (WiFi.softAP("esp8266", "12345678") == false) { Serial.print("nhap sai mat khau"); delay(300); } IPAddress myIP = WiFi.softAPIP(); server.on("/", TrangChu); server.on("/get1", getid); server.on("/get2", getmessage); server.begin(); Blynk.begin(auth, ssid, pass); timer.setInterval(2000, sendUptime); // timer1.setInterval(1000L, blinkLedWidget); // pinMode(D0,OUTPUT); // digitalWrite(D0,HIGH); } void loop() { delay(500); server.handleClient(); int rainState = digitalRead(rainPin) ; // rainState = root ["rain"]; // check if the pushbutton is pressed If it is, the buttonState is HIGH: if (rainState == && lastState == 0) { Serial.print("RAIN\n"); lastState = 1; digitalWrite(ledPin, HIGH); 47 // wait for WiFi connection if ((WiFiMulti.run() == WL_CONNECTED)) { std::unique_ptr client(new BearSSL::WiFiClientSecure); // client->setFingerprint(fingerprint); client->setInsecure(); for (int i = 0; i < (int) sizeof(key); i++) { thongbao(key[i], message); } } } else if (rainState == && lastState == 1) { lastState = 0; // turn LED off: digitalWrite(ledPin, LOW); } // read the state of the pushbutton value: delay(500); Blynk.run(); timer.run(); // timer1.run(); } Code cảm biến #include "DHT.h" //#include "homephone.h" #include // Chân DATA nối với PD0 #define SOIL_MOIST_1_PIN A1 // Chân PE4 nối với cảm biến độ ẩm // Relay, nút nhấn #define PUMPW_ON A2 //Nút có sẵn kit 48 #define PUMPW_PIN #define PUMPS_ON A3 //Nút có sẵn kit #define PUMPS_PIN 12 #define DHTPIN #define DHTTYPE DHT11 // DHT 11 #include #include SoftwareSerial a(5, 6); // Biến lưu giá trị cảm biến float humDHT; float tempDHT; int soilMoist; int DRY_SOIL = 40; int WET_SOIL = 60; // Biến lưu trạng thái bơm boolean pumpWaterStatus = 0; boolean pumpPesStatus = 0; int timePumpOn = 5; // Thời gian bật bơm nước // Biến cho timer long sampleTimingSeconds = 10; // ==> Thời gian đọc cảm biến (s) long startTiming = 0; long elapsedTime = 0; // Khởi tạo cảm biến DHT dht(DHTPIN, DHTTYPE); // Khởi tạo LCD LiquidCrystal_I2C lcd(0x27, 16, 2); void setup() { pinMode(PUMPW_PIN, OUTPUT); pinMode(PUMPS_PIN, OUTPUT); pinMode(PUMPW_ON, INPUT_PULLUP); // Button pinMode(PUMPS_ON, INPUT_PULLUP); // Button aplyCmd(); 49 // Khởi tạo cổng serial baud 115200 Serial.begin(115200); a.begin(115200); Serial.println("TTCS"); lcd.init(); lcd.setCursor(0, 1); lcd.print("Xin chao ong chu"); // Bắt đầu đọc liệu readSensors(); // Khởi tạo đọc cảm biến startTiming = millis(); // Bắt đầu đếm thời gian lcd.clear(); lcd.setCursor(0, 1); lcd.print("Vui long cho "); } void loop() { // Khởi tạo timer elapsedTime = millis() - startTiming; readLocalCmd(); if (elapsedTime > (sampleTimingSeconds * 1000)) { readSensors(); printData(); showDataLCD(); autoControlPlantation(); startTiming = millis(); } // / } int getSoilMoist() 50 { int i = 0; int anaValue = 0; for (i = 0; i < 10; i++) // { anaValue += analogRead(SOIL_MOIST_1_PIN); //Đọc giá trị cảm biến độ ẩm đất delay(50); // Đợi đọc giá trị ADC } anaValue = anaValue / (i); anaValue = map(anaValue, 1023, 0, 0, 100); //Ít nước:0% ==> Nhiều nước 100% return anaValue; } void readSensors(void) { tempDHT = dht.readTemperature(); //Đọc nhiệt độ DHT11 humDHT = dht.readHumidity(); //Đọc độ ẩm DHT11 soilMoist = getSoilMoist(); //Đọc cảm biến độ ẩm đất } void showDataLCD(void) { lcd.setCursor(0, 1); lcd.print("DO.AM% = "); lcd.print(humDHT); lcd.println("% " ); lcd.setCursor(1, 0); lcd.print("NH.DO = "); lcd.print(tempDHT); lcd.println("*C "); delay(5000); lcd.clear(); 51 lcd.setCursor(0, 1); lcd.print(" AM.DAT% = "); lcd.print(soilMoist); lcd.println(" % " ); delay(5000); lcd.clear(); lcd.setCursor(0, 1); lcd.print(" BOM.NC = "); lcd.print(pumpWaterStatus); lcd.println(" " ); delay(1000); } void printData(void) { // IN thơng tin hình Serial.print("Do am: "); Serial.print(humDHT); Serial.print(" %\t"); Serial.print("Nhiet do: "); Serial.print(tempDHT); Serial.print(" *C\t"); Serial.print(" %\t"); Serial.print("Do am dat: "); Serial.print(soilMoist); Serial.println(" %"); } /*************************************************** Hàm bật bơm nước ****************************************************/ void turnPumpOn() { digitalWrite(PUMPW_PIN, LOW); pumpWaterStatus = 1; 52 showDataLCD(); delay (timePumpOn * 1000); digitalWrite(PUMPW_PIN, HIGH); pumpWaterStatus = 0; showDataLCD(); } / **************************************************************** Hàm đọc trạng thái bơm kiểm tra nút nhấn (Nút nhấn mặc định mức "CAO"): ************************************************************* ***/ void readLocalCmd() { int digiValue = debounce(PUMPW_ON); if (!digiValue) { pumpWaterStatus = !pumpWaterStatus; showDataLCD(); aplyCmd(); } digiValue = debounce(PUMPS_ON); if (!digiValue) { pumpPesStatus = !pumpPesStatus; showDataLCD(); aplyCmd(); } } /*************************************************** Thực điều khiển bơm ****************************************************/ void aplyCmd() { 53 if (pumpWaterStatus == 1) digitalWrite(PUMPW_PIN, LOW); if (pumpWaterStatus == 0) digitalWrite(PUMPW_PIN, HIGH); if (pumpPesStatus == 1) digitalWrite(PUMPS_PIN, LOW); if (pumpPesStatus == 0) digitalWrite(PUMPS_PIN, HIGH); } /*************************************************** Hàm kiểm tra trạng thái phím bấm ****************************************************/ boolean debounce(int pin) { boolean state; boolean previousState; const int debounceDelay = 60; previousState = digitalRead(pin); for (int counter = 0; counter < debounceDelay; counter++) { delay(1); state = digitalRead(pin); if (state != previousState) { counter = 0; previousState = state; } } return state; } /*************************************************** Chức tự động tưới tiêu ****************************************************/ void autoControlPlantation() { // - BƠM NƯỚC // 54 if (soilMoist < DRY_SOIL ) { turnPumpOn(); } } 55 ... thuật, ứng dụng vào thực tế để nâng cao chất lượng sống tốt Vì chúng em lựa chọn đề tài: ‘‘Nghiên cứu, phát triển hệ thống nơng nghiệp thơng minh’’ phần hiểu có giải pháp thiết thực giúp bà nông... kiện họ thời gian thực Họ nhận thơng tin chi tiết nhanh, dự đốn vấn đề trước chúng xảy đưa định sáng suốt cách phòng tránh chúng Ngồi ra, giải pháp IoT nơng nghiệp cho phép thực quy trình sản... phố cứu cánh, cung cấp nguồn thực phẩm trái rau tươi ngắn hạn cho công dân thành thị Các hệ thống nơng nghiệp chu trình khép kín thơng minh cho phép người ta trồng thực phẩm khắp nơi, siêu thị,

Ngày đăng: 11/04/2021, 09:51

TỪ KHÓA LIÊN QUAN

w