Skip to content

shivammmmg/Smart-Urban-Environmental-Monitoring-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

21 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸŒ† Smart Urban Environmental Monitoring System (Arduino + Java + Firmata4J)

An integrated environmental monitoring system that collects and visualizes real-time data for light, sound, temperature, humidity, and pressure using the Grove Beginner Kit, Arduino, and Java with Firmata4J and JFreeChart.
The project aims to demonstrate how technology can contribute to sustainable smart city solutions.


🎯 Objective
To design and implement a smart system that monitors key urban environmental parameters β€” including noise, light intensity, temperature, humidity, and air pressure β€” while triggering visual or sound alerts and displaying real-time graphs for data-driven urban management.


🧩 Features

  • 🌑️ Real-time measurement of temperature, humidity, and pressure
  • πŸ’‘ Light sensor triggers LED when brightness exceeds threshold
  • πŸ”Š Sound sensor generates alerts for excessive noise levels
  • πŸ“Š Dynamic data visualization using JFreeChart
  • 🧠 Multi-sensor data processing and event-driven responses
  • πŸ–₯️ Integrated Java GUI for live graphing and logging

βš™οΈ Hardware Components

Component Description
Grove Light Sensor Measures ambient light levels
Grove Sound Sensor Detects noise intensity
Grove Temperature & Humidity Sensor Monitors environmental conditions
Grove Pressure Sensor Measures atmospheric pressure
LEDs Provide visual output indicators
Arduino UNO (Grove Kit) Central microcontroller
Laptop (Arduino IDE + IntelliJ) Software processing and visualization

🧰 Hardware Setup


Figure 1: Full setup with Grove kit, sensors, and laptop interface.


πŸ’» Software Overview

Languages & Tools

  • Arduino IDE – Firmware programming
  • Java (IntelliJ IDEA) – Data processing and visualization
  • Firmata4J – Serial communication between Arduino and Java
  • JFreeChart – Graph plotting for live sensor data

Key Files

File Description
Main.java Main class controlling sound and light sensors
SoundSensor.java Reads data from the sound sensor
LightSensor.java Reads data from the light sensor
LineGraph.java Displays real-time sound and light readings
TemperatureAndHumiditySensor.java Monitors temperature and humidity
AirPressureSensorExample.java Measures pressure and temperature
SensorController.java Processes sensor input data
DataProcessor.java Handles data computation and analysis
GraphPanel.java Displays temperature, humidity, and pressure graphs

🧩 System Flowcharts

Figure 2: Flowcharts showing event-driven logic for each sensor module.

πŸ“Š Sensor Data Graphs

πŸ”Š Sound Intensity


Figure 3: Real-time sound level graph with threshold alerts.

πŸ’‘ Light Intensity


Figure 4: Light intensity graph with LED activation feedback.

🌑️ Temperature & Humidity


Figure 5: Temperature and humidity readings visualized in JFreeChart.

🌬️ Pressure Sensor


Figure 6: Pressure and temperature correlation graph.


πŸ§ͺ Testing

  • Verified sensor readings against known references
  • Simulated sound and light changes for alert validation
  • Ensured accurate data refresh in real-time graph displays

πŸŽ“ Learning Outcomes

  • πŸ’‘ Improved understanding of event-driven programming in Java
  • πŸ”§ Enhanced skills in sensor integration and calibration
  • 🧠 Gained experience in object-oriented software design
  • 🧰 Strengthened debugging and testing techniques

πŸ§‘β€πŸ’» Author

Shivam Gupta
πŸŽ“ B.Eng. Software Engineering @ York University
πŸ“§ [email protected]
πŸ”— LinkedIn β€’ Portfolio


πŸ“š References

About

πŸŒ† Smart Urban Environmental Monitoring System built using Arduino, Java, and Firmata4J. Monitors real-time temperature, humidity, pressure, sound, and light data with graph visualization, LED alerts, and event-driven responses β€” designed for sustainable smart city applications.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors