This is a simple IoT (Internet of Things) system built using a Raspberry Pi, various sensors (moisture, temperature, humidity), and actuators (water pump, drip system). The system consists of three main components: a Back-end server, a Front-end interface, and the Raspberry Pi IoT device.
MERN + Python
- Technology Stack: Node.js, MongoDB
- Description: The backend server is responsible for collecting data from the Raspberry Pi, handling user input via WebSocket, and storing data in a MongoDB database.
- Technology Stack: React.js
- Description: The frontend is a user interface built with React.js, using WebSocket connections to communicate with the backend. It displays real-time data and allows users to interact with the IoT system.
- Technology Stack: Python
- Description: The Raspberry Pi runs a Python script to communicate with the backend via HTTP POST requests and WebSockets. It collects data from various sensors and can trigger actuators based on user commands.
To set up and run this IoT system locally, follow these steps:
-
Backend Setup:
- Clone this repository.
- Navigate to the
serverdirectory. - Install the required Node.js packages by running
npm install. - Start the backend server with
nodemon.
-
Frontend Setup:
- Navigate to the
clientdirectory. - Install the necessary dependencies with
npm install. - Start the frontend with
npm start.
- Navigate to the
-
Raspberry Pi Setup:
- Set up your Raspberry Pi with Raspbian OS.
- Clone this repository on your Pi.
- Navigate to the
python-scriptsdirectory. - Run the
rpi-scripy-newscript on your Pi. - Also you have to interface all the sensors with GPIOs of pi
- you can also use Arduino to connect sensors and use serial communication between Pi and Arduino, code for this is in
rpi-scriptinpython-scriptsdirectory
- you can also use Arduino to connect sensors and use serial communication between Pi and Arduino, code for this is in

