Coder Social home page Coder Social logo

jayesh-jainx / iot-water-tank-monitoring-system-with-mobile-app-integration Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 0.0 18.93 MB

Monitor your water tank levels remotely with our IoT-based system. Get real-time updates on your mobile device via our dedicated app.

License: MIT License

C++ 100.00%
arduino cloud-integration data-visualization internet-of-things iot mobile-app monitoring-system mqtt real-time-monitoring remote-monitoring

iot-water-tank-monitoring-system-with-mobile-app-integration's Introduction

IoT Water Tank Monitoring System with Mobile App Integration ๐Ÿ’ง๐Ÿ“ฑ

This project demonstrates interfacing water level sensors with an ESP8266 (D1 R1) and controlling LEDs through Wi-Fi using the Blynk app. The LEDs indicate the water level, and the project includes integration with a water level depth detection sensor for precise readings.


Connection Diagram


                               _____________________
                              |          |          |
                              |    D2    |    D3    |
                              |__________|__________|
                              |          |          |
                              |    D6    |    D10   |
                              |__________|__________|            ____________
                              |          |          |           |            |
                              |    D1    |    GND   |---------- |  ESP8266   |
                              |__________|__________|  |        |____________|
                              |          |          |  |
                              |    A0    |   3.3v   |  |
                              |__________|__________|  |
                                  |          |         |
                                  |          |         |
                                  |          |         |         ____________
                                  |          |         |        |            |
                                  |__________|_________|________|   Sensor   |
                                                                |____________|
  • D2, D3, D6, D10: Pins connected to LEDs.
  • D1: Pin used to indicate connectivity.
  • A0: Analog pin connected to the water level depth detection sensor.
  • GND: Ground connection.
  • ESP8266: Wemos ESP8266 Wi-Fi Board (D1 R1)
  • Sensor: Water Level Depth Detection Sensor

Setup Steps ๐Ÿ› ๏ธ

Follow these steps to set up the circuit:

1. Circuit Connection

Connect the components as follows:

  • Connect LEDs (3.3V Red, Green, Blue, Yellow LEDs) to pins D2, D3, D6, and D10 on the ESP8266 board.
  • Connect pin D1 to indicate network and cloud connectivity.
  • Connect the negative (shorter) lead of each LED to the ground (GND) on the breadboard to complete the circuit.
  • Connect the water level depth detection sensor to pin A0, GND, and 3.3V on the ESP8266 board.

2. Components Required ๐Ÿงฐ

You will need the following components:

  • Wemos ESP8266 Wi-Fi Board (D1 R1): Microcontroller board.
    • Specifications:
      • Microcontroller: ESP8266 (D1 R1)
      • Clock Speed: 80MHz (up to 160MHz)
      • USB Converter: CH340G
      • Operating Voltage: 3.3V
      • Flash Memory: 4MB
      • Digital I/O: 11
      • Analog Inputs: 1
      • Communications: I2C, Serial, SPI
      • WiFi: Built-in
  • LEDs: For lighting effects.
    • Specifications:
      • Type: 3.3V LEDs (Red, Green, Blue, Yellow)
  • Water Level Depth Detection Sensor: For precise water level readings.
    • Specifications:
      • Operating Voltage: DC 3-5V
      • Operating Current: < 20mA
      • Sensor Type: Analog
      • Detection Area: 40mm x 16mm
      • Operating Temperature: 10ยฐC-30ยฐC
      • Humidity: 10% - 90% non-condensing
  • Female, Male to Male Jumper Wires: For connecting components.

For detailed connections and pinouts, refer to the component directories in the components folder.

Connecting LEDs on Breadboard ๐Ÿž๐Ÿ’ก

To connect LEDs on a breadboard, follow these steps:

  1. Insert the LEDs into the breadboard, ensuring the longer lead (positive) is on one side and the shorter lead (negative) is on the other side.
  2. Connect the positive (longer) lead of each LED to a digital pin on the ESP8266 board (D2, D3, D6, D10).
  3. Connect the negative (shorter) lead of each LED to the ground (GND) on the ESP8266 board.

For detailed specifications and connection diagrams of LEDs, refer to the LED component directory in the components folder.

Components ๐Ÿงฉ

Wemos ESP8266 Wi-Fi Board (D1 R1) ๐Ÿ’ก

This directory contains information about the ESP8266 microcontroller board.

Specifications

  • Microcontroller: ESP8266 (D1 R1)
  • Clock Speed: 80MHz (up to 160MHz)
  • USB Converter: CH340G
  • Operating Voltage: 3.3V
  • Flash Memory: 4MB
  • Digital I/O: 11
  • Analog Inputs: 1
  • Communications: I2C, Serial, SPI
  • WiFi: Built-in

For more details, refer to Wemos ESP8266 Wi-Fi Board (D1 R1) Details

LED ๐Ÿ’ก

This directory contains information about the LEDs used in the project.

Specifications

  • Type: 3.3V LEDs (Red, Green, Blue, Yellow)

For more details, refer to LED Details

Water Level Depth Detection Sensor ๐ŸŒŠ

This directory contains information about the water level depth detection sensor used in the project.

Specifications

  • Operating Voltage: DC 3-5V
  • Operating Current: < 20mA
  • Sensor Type: Analog
  • Detection Area: 40mm x 16mm
  • Operating Temperature: 10ยฐC-30ยฐC
  • Humidity: 10% - 90% non-condensing

For more details, refer to Water Level Depth Detection Sensor Details

Female, Male to Male Jumper Wires ๐Ÿš€

This directory contains information about the male to male jumper wires used in the project.

For more details, refer to Jump Wires Details

Breadboard ๐Ÿž

This directory contains information about the breadboard used in the project.

Specifications

  • Type: Full-size Breadboard
  • Total Holes: 830
  • Spacing: 2.54mm (0.1")
  • Dimension: 16.5x5.5cm
  • Common Rating: 1A @ 5V or 5 Watt

For more details, refer to Breadboard Details

Arduino Software and Blynk App ๐Ÿ“ฑ

Arduino Software

Before uploading the code to the ESP8266 board, make sure you have the Arduino software installed. You can download it from the Arduino website.

Blynk App Setup ๐Ÿ“ฑ

Blynk is a platform that allows you to build IoT applications easily. Follow these steps to set up Blynk with your ESP8266 project:

Web Interface Setup

  1. Go to the Blynk website and sign up for an account.
  2. Once logged in, create a new project and select the ESP8266 board.
  3. Configure the project settings and choose the appropriate connection type (Wi-Fi).
  4. Add widgets to the project dashboard to control the LEDs and monitor connectivity.

Variable Setup

  1. Create virtual pins in your Blynk project to communicate with the ESP8266.
  2. Assign each LED and connectivity indicator to a specific virtual pin.

Arduino Code Configuration

  1. Open the Arduino code file Water_Tank_Monitoring_System.ino from this repository.
  2. Include the Blynk library and configure the Wi-Fi credentials.
  3. Initialize Blynk with your authentication token and connect to the Blynk server.
  4. Map the virtual pins to the corresponding LEDs and connectivity indicators.
  5. Implement functions to handle LED control, monitor connectivity status, and read data from the water level depth detection sensor.

Mobile App Configuration

  1. Download and install the Blynk app from the App Store or Google Play.
  2. Log in to the Blynk app using your account credentials.
  3. Open the project created earlier in the web interface.
  4. Configure the app interface by adding buttons, sliders, or other widgets to control the LEDs and display water level readings.
  5. Create widgets to display the connectivity status of the ESP8266 and water level readings from the sensor.

Template Setup

  1. Create templates on the Blynk web interface for the project dashboard.
  2. Customize the templates with the desired layout and functionality, including widgets for controlling LEDs, displaying water level readings, and monitoring connectivity.
  3. Save the templates and ensure they are synchronized with the mobile app.

Running the Project

  1. Connect your ESP8266 board to power and ensure it is connected to the Wi-Fi network.
  2. Open the Blynk app on your mobile device and navigate to the project dashboard.
  3. Use the widgets to control the LEDs, monitor connectivity, and view water level readings.
  4. Test different scenarios and functionalities to ensure proper operation.

Screenshots ๐Ÿ“ธ

Output



Mobile Screenshot 1 Mobile Screenshot 2



Mobile Screenshot 3 Mobile Screenshot 4



Mobile Screenshot 5 Mobile Screenshot 6

License ๐Ÿ“

This project is licensed under the MIT License. Feel free to use, modify, and distribute this project for educational purposes.

Disclaimer: This project is intended for educational purposes only and should not be used in production environments without proper testing and validation.

iot-water-tank-monitoring-system-with-mobile-app-integration's People

Contributors

jayesh-jainx avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.