1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

ỨNG DỤNG IOT vào vườn ươm (có code)

51 609 13

Đ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 51
Dung lượng 2,91 MB

Nội dung

ỨNG DỤNG IOT vào vườn ươm (có code)

ĐỒ ÁN TỐT NGHIỆP ỨNG DỤNG IOT VÀO VƯỜN ƯƠM THƠNG MINH MỤC LỤC DANH MỤC CÁC HÌNH VẼ V DANH MỤC CÁC TỪ VIẾT TẮT VI CHƯƠNG MỞ ĐẦU .1 1.1 GIỚI THIỆU 1.2 MỤC ĐÍCH 1.3 Ý NGHĨA THỰC TIỄN CHƯƠNG GIỚI THIỆU VỀ INTERNET OF THINGS 2.1 GIỚI THIỆU 2.2 ĐẶC ĐIỂM NỔI BẬT CỦA IOT 2.3 ỨNG DỤNG CHƯƠNG NỘI DUNG ĐỀ TÀI 10 3.1 SĨNG VƠ TUYẾN VÀ SĨNG WIFI 10 3.1.1 Sóng vơ tuyến 10 3.1.2 Sóng wifi 10 3.2 SƠ ĐỒ KHỐI .11 3.3 LƯU ĐỒ GIẢI THUẬT .12 3.4 LỰA CHỌN LINH KIỆN .13 3.4.1 Module Node MCU ESP8266 13 3.4.2 Cảm biến nhiệt độ độ ẩm: DHT22 16 3.4.3 Cảm biến độ ẩm đất 18 3.4.4 Sự ảnh hưởng nhiệt độ, độ ẩm, độ ẩm đất tới thực vật 20 CHƯƠNG THI CÔNG PHẦN CỨNG VÀ LẬP TRÌNH 21 4.1 THI CÔNG PHẦN CỨNG 21 4.2 LẬP TRÌNH 23 CHƯƠNG KẾT QUẢ 24 5.1 GIÁM SÁT HỆ THỐNG VƯỜN ƯƠM TỪ XA 24 5.1.1 Giám sát thông qua web 24 5.1.2 Giám sát qua app điện thoại 27 5.2 ĐIỀU KHIỂN TỪ XA QUA APP BLYNK 30 5.3 CHẾ ĐỘ TỰ ĐỘNG TƯỚI TƯỚI TIÊU 31 5.4 ĐIỀU KHIỂN BẰNG TAY VÀ CHỨC NĂNG ĐỌC DỮ LIỆU TỨC THỜI 31 CHƯƠNG KẾT LUẬN VÀ NHẬN XÉT 33 6.1 KẾT LUẬN .33 6.2 HƯỚNG PHÁT TRIỂN .33 TÀI LIỆU THAM KHẢO 34 PHỤ LỤC A ….35 DANH MỤC CÁC HÌNH VẼ HÌNH 2-1: IOT ĐƯỢC ỨNG DỤNG TRONG CUỘC SỐNG [2] .5 HÌNH 2-2: IOT ĐƯỢC ỨNG DỤNG TRONG NHIỀU LĨNH VỰC [3] HÌNH 3-1: SƠ ĐỒ KHỐI 11 HÌNH 3-2: LƯU ĐỒ GIẢI THUẬT 12 HÌNH 3-3: MODULE NODE MCU ESP8266 [4] .14 HÌNH 3-4: SƠ ĐỒ CHÂN NODE MCU ESP8266 [4] 15 HÌNH 3-5: CẢM BIẾN DHT22 [6] 16 HÌNH 3-6: CẢM BIẾN ĐỘ ẨM ĐẤT [6] 18 HÌNH 4-1: SƠ ĐỒ NGUYÊN LÝ CỦA MẠCH 21 HÌNH 4-2: SƠ ĐỒ MẠCH VẼ BẰNG PHẦN MỀM FRITZING 22 HÌNH 4-3: BOARD MẠCH CHÍNH 22 HÌNH 5-1: THIẾT LẬP BIỂU ĐỒ TRÊN WEB THINGSPEAK 25 HÌNH 5-2: HIỂN THỊ DỮ LIỆU LÊN WEB Ở DẠNG BIỂU ĐỒ 26 HÌNH 5-3: DỮ LIỆU TRÊN WEB ĐƯỢC XUẤT DƯỚI DẠNG FILE EXCEL 27 HÌNH 5-4: THIẾT LẬP HIỂN THỊ ĐỘ ẨM TRÊN APP BLYNK 28 HÌNH 5-5: HIỂN THỊ DỮ LIỆU LÊN APP BLYNK 29 HÌNH 5-6: ĐIỀU KHIỂN BƠM VÀ ĐÈN TỪ XA TRÊN APP BLYNK 30 DANH MỤC CÁC TỪ VIẾT TẮT IEEE Institute of Electrical and Electroics Enginers IoT Internet of Things IPv4 Internet Protocl version IPv6 Internet Protocl version Json JavaScript Object Noation SOC System on Chip UART Universal Asynchrnous Receiver – Transmitter 4G Fourth-generation Wifi Wirless Fidelity ĐỒ ÁN TỐT NGHIỆP Trang 1/48 CHƯƠNG MỞ ĐẦU 1.1 Giới thiệu Trong bối cảnh phát triển chóng mặt cơng nghệ đại Internet of Things, hầu hết người quan tâm mạng internet Vai trò ngày phát triển mạnh mẽ Mọi người có nhu cầu kết nối vào mạng lưới internet toàn cầu Mọi người nghe qua Internet of Thing (viết tắt IoT), khái niệm nói khơng xa lạ với người quan tâm đến cơng nghệ Sau xin chia sẻ dự án ứng dụng IoT mảng nơng nghiệp, để hình dung rõ tầm quan trọng Internet of Things thời đại IoT xu hướng phát triển nông nghiệp hệ mới, đáp ứng tiêu chuẩn sản xuất sản phẩm có chất lượng Với nơng nghiệp nước ta cần nhiều công ty nghiên cứu, phát triển mạnh mẽ sản phẩm ứng dụng vào nông nghiệp đại, giúp cho nông nghiệp Việt Nam ngày lên IoT đời mục đích phục vụ cho nơng nghiệp, ứng dụng vào sống ngày người Nó mang lại chất lượng sản phẩm giá thành nhiều lợi ích mà IoT mang đến cho nông nghiệp Đây lý mà chọn đề tài “Ứng Dụng IoT Vào Vườn Ươm Thông Minh” làm đồ án tốt nghiệp, đề tài giúp tơi tìm hiểu rõ cơng nghệ, điện tử xu hướng phát triển mạng lưới IoT Đây xu hướng quan trọng, công nghệ đại phát triển tồn cầu, đem lại thiết bị thông minh ảnh hưởng đến nhu cầu đời sống người Tuy nhiên có rủi ro mặt bảo mật, thông tin quyền cá nhân người, với rủi ro bờ rào chặn tốc độ phát triển IoT [1] 1.2 Mục đích Thiết kế hệ thống giám sát điều khiển thiết bị khu vườn qua mạng internet, cảm biến nhiệt độ, độ ẩm độ ẩm đất có nhiệm vụ đọc liệu Ứng Dụng IoT Vào Vườn Ươm Thông Minh ĐỒ ÁN TỐT NGHIỆP Trang 2/48 môi trường Các liệu hiển thị lưu trữ webserver, app điện thoại để người dùng quan sát điều khiển từ xa thông qua mạng Wifi 3G, 4G Dùng điện thoại SmartPhone điều khiển máy bơm, đèn từ xa qua mạng internet từ cảm biến làm nhiệm vụ đọc thông tin liệu mơi trường Hệ thống cảm biến có khả đọc gửi phản hồi nhanh thay đổi điều kiện môi trường chế độ tự động hoạt động mức ngưỡng cho phép mà người lập trình thiết lập Thiết kế hệ thống có độ xác có khả hoạt động tốt với giá thành tương đối rẻ Đóng góp thúc đẩy phát triển nhà nơng, ngồi đề tài giúp tơi học hỏi, hiểu biết nhiều công nghệ IoT, xu hướng giải pháp cơng nghệ có quy mơ lớn toàn cầu [2] 1.3 Ý nghĩa thực tiễn Ứng dụng khoa học công nghệ đại giúp nông nghiệp nước ta phát triển vượt bậc so với nước giới Những hệ to lớn mà mang lại cho kinh tế Việt Nam, IoT đóng vai trò định nơng nghiệp, vườn ươm thông minh với quy mô vừa lớn Chính nhờ tiện lợi điều khiển từ xa, đơn giản, dễ sử dụng mà giá thành thấp, tiết kiệm chi phí tính hiệu tương đối tốt Ứng dụng IoT mang lại giá trị to lớn cho nhà nông, giúp nông nghiệp tăng trưởng nhanh, giúp người kiểm sốt trang trại cơng tác, du lịch nơi xa Hiện nay, Việt Nam có nhiều cơng ty phát triển mơ hình IoT với quy mô lớn để giám sát khu vườn ươm họ [3] Ứng Dụng IoT Vào Vườn Ươm Thông Minh ĐỒ ÁN TỐT NGHIỆP Trang 3/48 CHƯƠNG GIỚI THIỆU VỀ INTERNET OF THINGS 1.4 Giới thiệu Internet of Things (IoT), mạng lưới vạn vật kết kết nối internet nghĩa mạng lưới thiết bị kết nối với nhau, với internet thông qua địa IP Khi vật người mạng lưới cung cấp định danh riêng, tất có khả truyền tải, trao đổi thông tin qua mạng Không cần tương tác trực tiếp người với người, người với máy tính Phát triển IoT kết hợp công nghệ truyền tải không dây, công nghệ vi điện tử đặc biệt mạng internet Một động vật trang trại gắn chip sinh học để theo dõi, xe gắn cảm biến dùng để báo xe chạy tốc độ chip theo dõi báo cố xe hư hỏng vật thể tự nhiên hay nhân tạo định danh địa IP, cunng cấp khả truyền nhận liệu qua mạng internet Bây giờ, mạng lưới IoT liên kết máy với ngành công nghiệp lượng thành dây chuyền sản xuất Các sản phẩm tạo tích hợp máy, đồng thời kết hợp việc phân tích sở liệu coi thông minh Các thách thức đề cập đến IoT giá thành thiết bị, lượng pin, vùng phủ sóng kết nối, có thêm hai thách thức tính đa dạng độ linh hoạt Độ linh hoạt cần thiết có nhiều thiết bị IoT kết nối tốc độ diễn nhanh tốc độ kết băng rộng di động cho phép Chính độ linh hoạt phần quan trọng Về tính đa dạng đặc biệt quan trọng, mật độ kết nối thiết bị IoT không đồng tạo lưu lượng lớn đột ngột với số cells hệ thống Tình trạng người dùng smartphone chung kỳ vọng vùng phủ sóng dung lượng, họ cảm thấy thoả mãn ứng dụng hoạt động tốt nơi đâu có nhu cầu Với kết nối IoT yêu cầu trở nên phức tạp Ứng Dụng IoT Vào Vườn Ươm Thông Minh ĐỒ ÁN TỐT NGHIỆP Trang 4/48 hơn, đa dạng hơn, công suất cường độ lớn hơn, nên đòi hỏi nhà mạng phải nâng cao tầm quản lý vận hành hệ thống mạng tốt Để triển khai IoT thành công bền vững tương lai, cần phải cân nhắc đến yếu tố tảng phần mềm, hệ sinh thái ngành, q trình chuẩn hóa công nghệ giải tất vấn đề khách hàng lo lắng có liên quan đến đảm bảo an tồn tính cá nhân Hình 2-1: IoT ứng dụng sống [2] Sự đời ngành công nghiệp ô tô rõ ràng đặt yêu cầu cho hệ sinh thái tồn nhiều lĩnh vực có liên quan với Cùng kết nối, nguồn liệu thông tin, nhiều bên hưởng chế độ dịch vụ chăm sóc khách hàng Bao gồm cơng ty phát triển ứng dụng xe, công ty bảo hiểm, công ty quản lý phần mềm quan vận hành giao thông, đường bộ, đường sắt [2] 1.5 Đặc điểm bật IoT  Đặc tính thơng minh Ứng Dụng IoT Vào Vườn Ươm Thơng Minh ĐỒ ÁN TỐT NGHIỆP Trang 5/48 Tính thơng minh, máy móc dễ dàng nhận biết, phản hồi lại mơi trường xung quanh, tự điều khiển thân mà không cần đến kết nối mạng Tuy nhiên, thời đại công nghệ người ta bắt đầu nghiên cứu việc kết hợp hai khái niệm IoT tự điều khiển gọp thành thể thống Trong tương lai IoT nhiều mạng lưới gồm thực thể thơng minh, có khả tự tổ chức hoạt động độc lập tùy vào tình huống, mơi trường, để trao đổi thơng tin, kết nối liệu với Việc tích hợp trí tuệ thông minh vào IoT, giúp cho thiết bị, máy móc, phần mềm thu thập phân tích liệu điện tử người, tương tác với thiết bị thơng minh Từ người phát tri thức có liên quan đến sống  Kiến trúc dựa vào kiện Các thiết bị, máy móc mạng lưới IoT gửi thông tin phản hồi dựa theo chuỗi kiện diễn lúc hoạt động song song với thời gian thực Các nhà nghiên cứu nhận định mạng lưới gồm cảm biến thành phần đơn giản IoT  Thực thể phức tạp Trong giới phát triển cơng nghệ, IoT mang tính chất phức tạp bao gồm số lượng lớn đường liên kết thiết bị, máy móc với hệ thống  Về kích thước Trong mạng lưới IoT lên tới số lượng khổng lồ đối tượng kết nối vào mạng lưới internet, theo dõi dịch chuyển, thay đổi đối tượng  Vấn đề không gian thời gian Ứng Dụng IoT Vào Vườn Ươm Thông Minh ĐỒ ÁN TỐT NGHIỆP Trang 32/48 **************** #define DRY_SOIL 10 #define WET_SOIL 85 #define COLD_TEMP #define HOT_TEMP 15 40 #define TIME_PUMP_ON 15 #define TIME_LAMP_ON 15 // TIMER // #define READ_BUTTONS_TM 1L #define READ_SOIL_HUM_TM 10L #define READ_AIR_DATA_TM 10L #define DISPLAY_DATA_TM 18L #define SEND_UP_DATA_TM 22L #define AUTO_CTRL_TM 24L #define SEND_THINGSPEAK_TM 180L //Token Blynk wifi*** char auth[] = "df2c6e102f1c40b5a847e68b951b67c0"; char ssid[] = "HoaiAnh."; char pass[] = "22334455"; Ứng Dụng IoT Vào Vườn Ươm Thông Minh ĐỒ ÁN TỐT NGHIỆP Trang 33/48 String apiKey = "4AXV3O7HUK32MKJM"; const char* server = "api.thingspeak.com"; ************ float humDHT = 0; float tempDHT = 0; int soilMoist = 0; boolean pumpStatus = 0; boolean lampStatus = 0; int timePumpOn = 10; //** Biến cho timer long sampleTimingSeconds = 3; long startTiming = 0; long elapsedTime = 0; WiFiClient client; // Khởi tạo cho timer SimpleTimer timer; // Khởi tạo cho cảm biến ************** DHT dht(DHTPIN, DHTTYPE); Ứng Dụng IoT Vào Vườn Ươm Thông Minh ĐỒ ÁN TỐT NGHIỆP Trang 34/48 void setup() { pinMode(PUMP_PIN, OUTPUT); pinMode(LAMP_PIN, OUTPUT); pinMode(PUMP_ON_BUTTON, INPUT_PULLUP); pinMode(LAMP_ON_BUTTON, INPUT_PULLUP); pinMode(SENSORS_READ_BUTTON, INPUT_PULLUP); aplyCmd(); Serial.begin(115200); Serial.println("Hi!"); ********************* dht.begin(); Blynk.begin(auth, ssid, pass); WiFi.begin(ssid, pass); PUMP.off(); LAMP.off(); startTimers(); } void loop() { timer.run(); Blynk.run(); Ứng Dụng IoT Vào Vườn Ươm Thông Minh ĐỒ ÁN TỐT NGHIỆP Trang 35/48 } /*************** * Control Blynk ******************** BLYNK_WRITE(3) { int i = param.asInt(); if (i == 1) { pumpStatus = !pumpStatus; aplyCmd(); } } BLYNK_WRITE(4) { int i = param.asInt(); if (i == 1) { lampStatus = !lampStatus; Ứng Dụng IoT Vào Vườn Ươm Thông Minh ĐỒ ÁN TỐT NGHIỆP Trang 36/48 aplyCmd(); } } void getSoilMoist(void) { int i = 0; soilMoist = 0; for (i = 0; i < 10; i++) // { soilMoist += analogRead(SOIL_MOIST_1_PIN); delay(50); } soilMoist = soilMoist / (i); soilMoist = map(soilMoist, 1023, 0, 0, 100); } void getDhtData(void) { tempDHT = dht.readTemperature(); humDHT = dht.readHumidity(); if (isnan(humDHT) || isnan(tempDHT)) Ứng Dụng IoT Vào Vườn Ươm Thông Minh ĐỒ ÁN TỐT NGHIỆP Trang 37/48 { Serial.println("Failed to read from DHT sensor!"); return; } } void printData(void) { 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(" %"); } /******************** Ứng Dụng IoT Vào Vườn Ươm Thông Minh ĐỒ ÁN TỐT NGHIỆP Trang 38/48 Read status ******************* void readLocalCmd() { boolean digiValue = debounce(PUMP_ON_BUTTON); if (!digiValue) { pumpStatus = !pumpStatus; aplyCmd(); } digiValue = debounce(LAMP_ON_BUTTON); if (!digiValue) { lampStatus = !lampStatus; aplyCmd(); } digiValue = debounce(SENSORS_READ_BUTTON); if (!digiValue) { getDhtData(); Ứng Dụng IoT Vào Vườn Ươm Thông Minh ĐỒ ÁN TỐT NGHIỆP Trang 39/48 getSoilMoist(); printData(); } } /*********************** Control pump & lamp ************************ void aplyCmd() { if (pumpStatus == 1) { Blynk.notify("Canh bao: BOM ON"); digitalWrite(PUMP_PIN, LOW); PUMP.on(); } else { digitalWrite(PUMP_PIN, HIGH); PUMP.off(); } if (lampStatus == 1) Ứng Dụng IoT Vào Vườn Ươm Thông Minh ĐỒ ÁN TỐT NGHIỆP Trang 40/48 { Blynk.notify("Canh bao: DEN ON"); digitalWrite(LAMP_PIN, LOW); LAMP.on(); } else { digitalWrite(LAMP_PIN, HIGH); LAMP.off(); } } /**************************** Check Status button ***************************** boolean debounce(int pin) { boolean state; boolean previousState; const int debounceDelay = 60; previousState = digitalRead(pin); Ứng Dụng IoT Vào Vườn Ươm Thông Minh ĐỒ ÁN TỐT NGHIỆP Trang 41/48 for (int counter = 0; counter < debounceDelay; counter++) { delay(1); state = digitalRead(pin); if (state != previousState) { counter = 0; previousState = state; } } return state; } /********************** * Autocontrol *********************** void autoControlPlantation(void) { if (soilMoist < DRY_SOIL) { turnPumpOn(); Ứng Dụng IoT Vào Vườn Ươm Thông Minh ĐỒ ÁN TỐT NGHIỆP Trang 42/48 } if (tempDHT < COLD_TEMP) { turnLampOn(); } } /************************** * Pump Timer void turnPumpOn() { pumpStatus = 1; aplyCmd(); delay (TIME_PUMP_ON * 1000); pumpStatus = 0; aplyCmd(); } /*********************** * Lamp Timer ************************ Ứng Dụng IoT Vào Vườn Ươm Thông Minh ĐỒ ÁN TỐT NGHIỆP Trang 43/48 void turnLampOn() { lampStatus = 1; aplyCmd(); delay (TIME_LAMP_ON * 1000); lampStatus = 0; aplyCmd(); } /****************/ Begin Timers *****************/ void startTimers(void) { timer.setInterval(READ_BUTTONS_TM * 1000, readLocalCmd); timer.setInterval(READ_AIR_DATA_TM * 1000, getDhtData); timer.setInterval(READ_SOIL_HUM_TM * 1000, getSoilMoist); timer.setInterval(SEND_UP_DATA_TM * 1000, sendUptime); timer.setInterval(AUTO_CTRL_TM * 1000, autoControlPlantation); Ứng Dụng IoT Vào Vườn Ươm Thông Minh ĐỒ ÁN TỐT NGHIỆP Trang 44/48 timer.setInterval(DISPLAY_DATA_TM * 1000, printData); timer.setInterval(SEND_THINGSPEAK_TM * 1000, sendThingSpeak); } /***************************************************/ * Send data to Blynk **************************************************/ void sendUptime() { Blynk.virtualWrite(10, tempDHT); Blynk.virtualWrite(11, humDHT); Blynk.virtualWrite(12, soilMoist); } void sendThingSpeak () { if (client.connect(server, 80)) { //server thingspeak "184.106.153.149" api.thingspeak.com // Gửi liệu lên thingspeak field1 field2 String postStr = apiKey; postStr += "&field1="; Ứng Dụng IoT Vào Vườn Ươm Thông Minh ĐỒ ÁN TỐT NGHIỆP Trang 45/48 postStr += String(humDHT); postStr += "&field2="; postStr += String(tempDHT); postStr += "&field3="; postStr += String(soilMoist); postStr += "\r\n\r\n\r\n"; client.print("POST /update HTTP/1.1\n"); client.print("Host: api.thingspeak.com\n"); client.print("Connection: close\n"); client.print("X-THINGSPEAKAPIKEY: " + apiKey + "\n"); client.print("Content-Type: application/x-www-form-urlencoded\n"); client.print("Content-Length: "); client.print(postStr.length()); client.print("\n\n"); client.print(postStr); Serial.print("Humidity: "); Serial.print(humDHT); Serial.print(" % Temperature:"); Serial.print(tempDHT); Serial.print(" oC Soilmoist:"); Ứng Dụng IoT Vào Vườn Ươm Thông Minh ĐỒ ÁN TỐT NGHIỆP Trang 46/48 Serial.print(soilMoist); Serial.println("% send to Thingspeak"); } client.stop(); Serial.println("Waiting…"); } Ứng Dụng IoT Vào Vườn Ươm Thông Minh ... phủ nhận hiệu mang lại cho đời sống, nhu cầu người [3] Ứng Dụng IoT Vào Vườn Ươm Thông Minh ĐỒ ÁN TỐT NGHIỆP Trang 8/48 Ứng Dụng IoT Vào Vườn Ươm Thông Minh ĐỒ ÁN TỐT NGHIỆP Trang 9/48 CHƯƠNG NỘI... board mạch Ứng Dụng IoT Vào Vườn Ươm Thông Minh ĐỒ ÁN TỐT NGHIỆP Trang 20/48 Hình 4-10: Sơ đồ mạch vẽ phần mềm fritzing Hình 4-11: Board mạch 1.12 Lập trình Ứng Dụng IoT Vào Vườn Ươm Thông Minh... phát triển ứng dụng xe, công ty bảo hiểm, công ty quản lý phần mềm quan vận hành giao thông, đường bộ, đường sắt [2] 1.5 Đặc điểm bật IoT  Đặc tính thông minh Ứng Dụng IoT Vào Vườn Ươm Thông

Ngày đăng: 08/03/2019, 22:26

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w