Skip to content

The project aims to develop an IoT-based real-time sensor data monitoring system that captures temperature and humidity data using a DHT11 sensor connected to an Arduino.

Notifications You must be signed in to change notification settings

jamalabdi2/IoT-Temperature-And-Humidity-Monitoring-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IoT-Based Smart Weather Monitoring System

Overview

The IoT-Based Smart Weather Monitoring System is designed to continuously monitor and display real-time temperature and humidity data. The system uses a combination of hardware (DHT11 sensor and Arduino Uno) and software (Node.js server and React frontend) to provide a comprehensive solution for weather monitoring.

Sensor data can be stored in a CSV file, JSON file, or MongoDB Atlas.

Features

  • Real-time Monitoring: Continuously monitors temperature and humidity.
  • Data Visualization: Displays real-time data using gauges and line charts.
  • WebSocket Communication: Ensures instant data updates. Dashboard: dashboard

Temperature and humidity real time chart charts

Technologies Used

Backend

  • Node.js: Server environment.
  • Express: Web framework for Node.js.
  • SerialPort: Library for reading from and writing to serial ports.
  • WebSocket: Enables real-time communication between the server and clients.
  • Moment.js: Library for parsing, validating, manipulating, and formatting dates.
  • MongoDB: For storing sensor data in Mongodb Atlas

Frontend

  • React: JavaScript library for building user interfaces.
  • Chart.js: JavaScript library for data visualization.
  • @mui/x-charts: Material-UI's charts library.
  • WebSocket: For real-time data updates.

Hardware

  • Arduino
  • DHT11 Sensor
  • Connecting wires
  • BreadBoard

Setup and Installation

Prerequisites

  • Node.js and npm installed.
  • React installed.
  • Arduino Uno with temperature and humidity sensors connected to a serial port.
  • You have three options for storing data: CSV file, JSON file, or MongoDB Atlas.
  • For the MongoDB option, ensure you have created an account and copied the MongoDB URI to paste it into the .env file.

Backend Setup

  1. Clone the repository:
    git clone git@github.com:jamalabdi2/IoT-Temperature-And-Humidity-Monitoring-System.git
    
  2. Navigate to the server directory and install dependencies:
    cd server
    npm install
      
  3. Navigate to the server directory and install dependencies:
    cd server
    npm install
  4. Navigate to the server directory and install dependencies:
    cd server
    npm install
  5. Navigate to the server directory and install dependencies:
    cd server
    npm install
    
  6. Start the Node.js server:
      npm run dev
    
    
    
    
    

Frontend Setup

  1. Navigate to the client directory and install dependencies:

    cd client
    npm install
    
  2. Start the React application:

    npm start
    

Usage

  • Ensure your hardware (microcontroller with sensors) is connected and configured correctly.
  • Start the backend and frontend servers.
  • Open the frontend application in your browser (usually at http://localhost:3000).
  • The dashboard will display real-time temperature and humidity data, along with historical data in line charts.

About

The project aims to develop an IoT-based real-time sensor data monitoring system that captures temperature and humidity data using a DHT11 sensor connected to an Arduino.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published