project final (1).pptx hwusksjjsjsusysys

AtharvaShende9 25 views 29 slides Jul 25, 2024
Slide 1
Slide 1 of 29
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29

About This Presentation

The Power of Your Transcendental Mind


Slide Content

Department of Electronics and Telecommunication Engineering VIII SEMESTER – B SECTION Session: 2022-23 "   Real Time Weather determining and monitoring system using IOT  " Presented by:- GROUP NO-21 Shantanu Shende -62 Ved Dadhe-67 Janhavi Kolhe-09 Samiksha Khapre-25 Sakshi Nitnaware-24 Atharva Shende-46 Project Guide:- Avinash Lambat

TITLE OF THE PROJECT “  Real Time Weather determining and monitoring system using IOT   ” 

PROBLEM STATEMENT To design and implement real-time weather determining and monitoring system using IOT.

OBJECTIVE An IOT application is used to monitor the environment that helps monitor the environmental condition of any local area or a surrounding area . To design a compact and portable device that can be installed in any location to collect weather data To use IoT technology to enable real-time data collection and analysis, providing users with up-to-date weather information. To provide an interface for users to access the weather information collected by the device. To ensure that the device is durable and can withstand harsh weather conditions. To develop machine learning algorithms to analyze the data collected from the sensors and provide accurate and reliable weather information.

LITERATURE SURVEY " IoT -Based Weather Monitoring System for Smart Agriculture" by S. S. Ali et al. (2020) The paper " IoT -Based Weather Monitoring System for Smart Agriculture" by S. S. Ali et al. (2020) proposes an IoT -based system for monitoring weather conditions in smart agriculture. The system is designed to measure temperature, humidity, and soil moisture levels in real-time using IoT sensors and transmit the data to a cloud-based server for analysis and decision-making. Hardware used: The system comprises of an Arduino board, a Wi-Fi module, and various sensors including DHT11 for temperature and humidity, and soil moisture sensor for measuring soil moisture. The data collected from the sensors is sent to a cloud server using MQTT protocol, and a web interface is used to display the real-time data to the user. Uses : The proposed system allows farmers to make informed decisions based on the weather conditions and soil moisture levels, which can significantly improve crop yields and reduce water usage. The system also helps farmers to remotely monitor the weather conditions in their fields, which can save time and increase efficiency.

The paper "An Internet of Things based environmental monitoring system for smart agriculture" by Muhammad Tariq Mahmood presents an IoT-based system for environmental monitoring in smart agriculture. The system uses various sensors to collect environmental data such as temperature, humidity, soil moisture, and light intensity, and transmits it wirelessly to a cloud server. The data is then processed and analyzed using machine learning techniques to provide insights and recommendations for crop management. Hardware used: Wi-Fi module for wireless communication which is also used as microcontroller . The software components include Arduino IDE for programming the boards, ThingSpeak platform for cloud data storage, and MATLAB for data analysis and machine learning. The system was tested in a greenhouse environment and the results showed that it was able to provide accurate and timely data on the environmental conditions of the crops. The machine learning algorithms used were also able to predict crop growth and yield with high accuracy. The system has the potential to improve crop management practices and increase crop yield in smart agriculture. "An Internet of Things based environmental monitoring system for smart agriculture" by Muhammad Tariq Mahmood

PROPOSED SYSTEM

BLOCK DIAGRAM

Circuit diagram

FLOW CHART

SYSTEM MODULES And SENSORS :         ESP8266 is a Wi-Fi-enabled system-on-chip module developed by the Espressif system. It's generally used for the development of IoT( Internet of Things) embedded operations but finds it’s application in various fields related to electronics.         ESP8266 comes with capabilities of         •2.4 GHz of Wi-Fi (802.11 b/ g/ n, that supports WPA and WPA2),         • General-purpose input/ affair ( 16 GPIO),          •Inter-Integrated Circuit( I ² C) journal communication protocol,         • Analog-to-digital conversion (10-bit ADC)         • Journal supplemental Interface ( SPI) journal communication protocol,         • I ² S(Inter-IC Sound) interfaces with DMA( Direct Memory Access)( participating legs with GPIO)         • UART( on devoted legs, plus a transmit- only UART can be enabled on GPIO2), and palpitation- range modulation( PWM).         It uses a 32-bit RISC CPU rested on the Tensilica Xtensa L106 running at 80 MHz ( or sometimes to 160 MHz). It has a 64 KB charge ROM, 64 KB instruction RAM and 96 KB data RAM. External flash memory can be entered through SPI. ESP8266 module is a provident standalone wireless transceiver that can be used for end-point IoT developments. To communicate with the ESP8266 module, the microcontroller needs to use sets of AT commands. Microcontroller communicates with ESP8266- 01 modules using UART having specified Baud rate.

Temperature and Humidity Module : Temperature / Humidity sensor (DHT) measures the values of and periodically based on the period with digital signal output. The Temperature / Humidity sensor (DHT11) is given by 3 pins identified as VCC connected to the 5V of Arduino, GND connected to Arduino GND, and DATA pin connected to the digital pin of Arduino board. DHT sensor is constructed of resistive type element that reads humidity and negative temperature coefficient NTC element. It uses a capacitive humidity instrument and a thermistor to measure the surrounding air. The sensor demonstrate sensitivity, reliability, stability, high response and can be found in a low cost.  1.Temperature range: 0-50°c /+ /-2°c  2.Humidity range: 20-80/ +/-2°c  3.Sampling rate: 1Hz (one reading every second)  4. Body size: 15.5mm*12mm*5.5mm  5. Operating voltage: 3-5 V.  6. Max current during measure: 2.5mA

Pressure Module : The BMP 180 sensor records actual barometric pressure (station pressure) and not the sea level. It is a digital module. No analog pins are required RAIN GAUGE MODULE : Rain gauges generally measure the precipitation in millimetres in height collected on each square meter during a certain period, equivalent to litres per square metre . Water Level Depth Detection Sensor for Rain Gauge. It is an instrument used by meteorologists and hydrologists to gather and measure the amount of liquid precipitation over an area in a predefined period of time. It calculates the amount of liquid present in the container and computes volume and gives the capacity to with the container is filled. A Tipping bucket module is being proposed in this module.

CO-ORDINATE MODULE : A geographic coordinate system is a system that uses a three-dimensional spherical surface to determine locations on the Earth. Locations north of the equator have positive Latitudes that range from 0 to +90 degrees, while locations south of the equator have negative latitudes that range from 0  to -90 degrees. But Longitude lines run north-south. They converge at the poles. And its X coordinates are between -180 and +180 degrees. Open-source software tools are being used to store data collected from the Arduino. Data collected is stored in databases and can be easily retrieved when required. Pre-defined time stamps are set so that continuous storage of data is not hampered. Analytical models are used to infer further conclusions based on the results obtained from the sensors. 

Code to program Ardino Uno : #include <ESP8266WiFi.h> #include < WiFiClientSecure.h > #include < TinyGPS ++.h> // #include < SoftwareSerial.h > #include " DHT.h " #include <Adafruit_BMP280.h> #include < Wire.h > #include < SPI.h > #include < Adafruit_GFX.h > #include <Adafruit_SSD1306.h> #define DHTTYPE DHT11 // type of the temperature sensor const int DHTPin = 5; //--> The pin used for the DHT11 sensor is Pin D1 = GPIO5 DHT dht ( DHTPin , DHTTYPE); //--> Initialize DHT sensor, DHT dht ( Pin_used , Type_of_DHT_Sensor ); TinyGPSPlus gps ; // SoftwareSerial SerialGPS (3, 1);  const int led = 0; #define SCREEN_WIDTH 128 // OLED display width, in pixels #define SCREEN_HEIGHT 64 // OLED display height, in pixels

const int sda= 4;​ //const int scl= 5;​ #define BMP280_I2C_ADDRESS  0x76​ Adafruit_BMP280 bmp;​ String string_pressure;​ float p;​ ​ ​ // Declaration for SSD1306 display connected using I2C​ #define OLED_RESET     -1 // Reset pin​ #define SCREEN_ADDRESS 0x3C​ Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);​ ​ #define water_sensor A0​ int w=0;​ float l , Longitude;​ ​ #define  ON_Board_LED  2  //--> Defining an On Board LED, used for indicators when the process of connecting to a  wifi  router​ ​ const char* ssid = "Sid"; //--> Your wifi name or SSID.​ const char* password = "eyantra@bs15"; //--> Your wifi password.​

//----------------------------------------Host & httpsPort​ const char* host = "script.google.com";​ const int httpsPort = 443;​ //----------------------------------------​ ​ WiFiClientSecure client; //--> Create a WiFiClientSecure object.​ ​ String GAS_ID = "AKfycbwpNcfNmC2OJgp1Z3yYYV_rFQamDtSdnff62UMS16U3iAPMmMtN7B8MIB3MYGNNgTfG"; //--> spreadsheet script ID​ ​ void setup() {​   // put your setup code here, to run once:​   Serial.begin(115200);​   delay(500);​ ​ //  SerialGPS.begin(9600);​ //  Serial.println();​ ​ dht.begin();  //--> Start reading DHT11 sensors​   delay(500);​   ​   WiFi.begin(ssid, password); //--> Connect to your WiFi router​   Serial.println("");​ ​

pinMode ( water_sensor , INPUT);​    pinMode ( ON_Board_LED,OUTPUT ); //--> On Board LED port Direction output​    digitalWrite ( ON_Board_LED , HIGH); //--> Turn off Led On Board​    pinMode (led, OUTPUT);​ ​  //----------------------------------------Wait for connection​    Serial.print ("Connecting");​   while ( WiFi.status () != WL_CONNECTED) {​      Serial.print (".");​     //----------------------------------------Make the On Board Flashing LED on the process of connecting to the  wifi  router.​      digitalWrite ( ON_Board_LED , LOW);​     delay(250);​      digitalWrite ( ON_Board_LED , HIGH);​     delay(250);​     //----------------------------------------​   }​   //----------------------------------------​ digitalWrite(ON_Board_LED, HIGH); //--> Turn off the On Board LED when it is connected to the wifi router.​   Serial.println("");​   Serial.print("Successfully connected to : ");​   Serial.println(ssid);​   Serial.print("IP address: ");​   Serial.println(WiFi.localIP());​   Serial.println();

Wire.begin (4, 5);​   while( bmp.begin (BMP280_I2C_ADDRESS) == 0)​   {​      Serial.println ("BMP280 not connected!!");​     while(1);​   }​     // initialize the OLED object​   if(! display.begin (SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS)) {​      Serial.println (F("SSD1306 allocation failed"));​     for(;;); // Don't proceed, loop forever​   }​   //Clear the buffer​    display.clearDisplay ();​ ​  client.setInsecure ();​ }​ ​ void loop() {​   // Reading temperature or humidity takes about 250 milliseconds!​   // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)​   int h = dht.readHumidity();​   // Read temperature as Celsius (the default)​   float t = dht.readTemperature();​   float p = bmp.readPressure();​   int w= analogRead(water_sensor);​   if(w>350)

{​     digitalWrite(led, HIGH);​     delay(250);​     digitalWrite(led, LOW);​     delay(250);​   }​   digitalWrite(led, LOW);​ //   Check if any reads failed and exit early (to try again).​   if (isnan(h) || isnan(t)) {​     Serial.println("Failed to read from DHT sensor !");​     delay(500);​     return;​   }​ display.setTextSize (1);​    display.setTextColor (WHITE);​    display.setCursor (0,5);​    display.println ("Temperature: "+String(t));​    display.display ();​   // delay(2000);​   //  display.setTextSize (1);​   //  display.setTextColor (WHITE);​    display.setCursor (0,20);​    display.println ("Humidity: "+String(h));​    display.display ();​   ​

// delay(2000);​​   display.setCursor(0,35);​​   display.println("Pressure: "+String(p,2));​​   display.display();​​   display.clearDisplay();​​ ​​ if(Serial.available() > 0)​     if (gps.encode(Serial.read()))​     {​       if (gps.location.isValid())​       {​         l = gps.location.lat();​         Serial.println("GPS:"+String(l));​ //        LatitudeString = String(Latitude , 6);​         float Longitude = gps.location.lng();​ //        LongitudeString = String(Longitude , 6);​       }}​   String Temp = "Temperature : " + String(t) + " °C";​   String Humi = "Humidity : " + String(h) + " %";​   String pressu = "Pressure : " + String(p) + "hpa";​   Serial.println(Temp);​   Serial.println(Humi);​   Serial.println(pressu);​   Serial.println(w);​   //Serial.println(l);​

sendData (t, h, p, w, l); //--> Calls the  sendData  Subroutine​ }​ ​ // Subroutine for sending data to Google Sheets​ void  sendData (float  tem , int hum, float  pres , int  watval , float lati) {​    Serial.println ("==========");​    Serial.print ("connecting to ");​    Serial.println (host);​   ​ //----------------------------------------Connect to Google host​   if (!client.connect(host, httpsPort)) {​     Serial.println("connection failed");​     return;​   }​   //----------------------------------------​ ​   //----------------------------------------Processing data and sending data​ String string_temperature =  String(tem);​   // String string_temperature =  String(tem, DEC); ​   String string_humidity =  String(hum, DEC); ​   //String string_gps= String(lati, 6);​   String string_pressure = String(pres, 2);​   String string_water = String(watval);​   String string_gps = String(lati, 6);

//Serial.println("GPS:"+String(lati, 6));​   String url = "/macros/s/" + GAS_ID + "/exec?temperature=" + string_temperature + "&humidity=" + string_humidity + "&pressure=" + string_pressure + "&water=" + string_water + "&gps=" + string_gps;​   Serial.print("requesting URL: ");​   Serial.println(url);​ client.print(String("GET ") + url + " HTTP/1.1\r\n" +​          "Host: " + host + "\r\n" +​          "User-Agent: BuildFailureDetectorESP8266\r\n" +​          "Connection: close\r\n\r\n");​ ​   Serial.println("request sent");​   //----------------------------------------​ ​   //----------------------------------------Checking whether the data was sent successfully or not​   while (client.connected()) {​     String line = client.readStringUntil('\n');​     if (line == "\r") {​       Serial.println("headers received");​       break;​     }​

}​   String line = client.readStringUntil('\n');​   if (line.startsWith("{\"state\":\"success\"")) {​     Serial.println("esp8266/Arduino CI successfull!");​   } else {​     Serial.println("esp8266/Arduino CI has failed");​   }​   Serial.print("reply was : ");​   Serial.println(line);​   Serial.println("closing connection");​   Serial.println("==========");​   Serial.println();​   //----------------------------------------​ }​

IMPLEMENTATION The real-time weather determining and monitoring system using IoT works by collecting data from various sensors such as temperature, humidity, pressure, rain gauge, and GPS module. The collected data is then processed and analyzed using a microcontroller such as Arduino or ESP8266. The system uses WiFi or GSM communication to transmit the data to a cloud server, where it can be stored, processed, and accessed remotely. The system can be accessed through a web interface or a mobile application, providing users with real-time weather updates. The system can be customized and scaled according to the user's requirements, with the flexibility to add or remove sensors as needed. Overall, the real-time weather determining and monitoring system using IoT provides a cost-effective and efficient solution for monitoring weather conditions in real-time and making informed decisions based on data.

Testing

CONCLUSION Arduino Uno was successful in fetching data from sensors i.e. DHT11 that will compute the temperature and humidity. The data from DHT11 is being sent to the open-source database used to store data at regular intervals. It is displayed in graphical/bar plots for easy understanding. ata was extracted in graphical formats like bar graphs, line graphs, column graphs etc.

REFERENCES [1] Laskar, M. Rahaman, R. Bhattacharjee, M. Sau Giri, and P. Bhattacharya. "Weather forecasting using Arduino based cube-sat." Procedia Computer Science 89 (2016): 320-323. [2] Jitendra Singh , Rehan Mohammed , Mradul Kankaria , Roshan Panchal, Sachin Singh , Rahul Sharma, “Arduino Based Weather Monitoring System”, International Journal of Advanced in Management, Technology and Engineering Sciences 3, vol. 8, 2018. [3] Shubham R. Vilayatkar , Vaibhav R. Wankhade, Pranjali G. Wangekar , Nikhil S. Mundane. “IoT Based Weather Monitoring System using Raspberry Pi.” International Research Journal of Engineering and Technology (IRJET) 1, vol. 06, 2019. [4] Hardeep Saini, Abhishek Thakur, Satinderpar Ahuja, Nitant Sabharwal, Naveen Kumar,”Arduino Based Automatic Wireless Weather Station with Remote Graphical Application and Alerts" , International Research Journal of Engineering and Technology 4, no. 5 (2017): 3184-3189 [5] Gheorghe, A. C., and M. S. Chiran. "Raspberry Pi Based Weather Station." The Scientific Bulletin of Electrical Engineering Faculty 18, no. 2 (2018): 63-66.  [6] Yashaswi Rahut , Rimsha Afreen, and Divya Kamini. "Smart weather monitoring and real time alert system using IoT." (2018). [7] Rao, Bulipe Srinivas, K. Srinivasa Rao, and N. Ome . "Internet of Things (IoT) based weather monitoring system." International Journal of Advanced Research in Computer and Communication Engineering 5, no. 9 (2016): 312-319. [8] Robu : https://robu.in/

THANK YOU