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.
- 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:
Temperature and humidity real time chart
- 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
- 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.
- Arduino
- DHT11 Sensor
- Connecting wires
- BreadBoard
- 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.
- Clone the repository:
git clone git@github.com:jamalabdi2/IoT-Temperature-And-Humidity-Monitoring-System.git
- Navigate to the server directory and install dependencies:
cd server npm install
- Navigate to the server directory and install dependencies:
cd server npm install
- Navigate to the server directory and install dependencies:
cd server npm install
- Navigate to the server directory and install dependencies:
cd server npm install
- Start the Node.js server:
npm run dev
-
Navigate to the client directory and install dependencies:
cd client npm install
-
Start the React application:
npm start
- 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.