Skip to content

Manual tolls = traffic jams! This IoT system uses RFID tags & online verification for faster payments, reducing congestion & frustration.

Notifications You must be signed in to change notification settings

AadityaPanda/ITSS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

24 Commits
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿš— IoT Toll System Supervisor

IEEE Paper License Arduino ESP32

Transformative IoT and Blockchain-based Automated Toll Collection System

This project implements an ESP32 and Arduino Uno powered automated toll collection system that combines IoT sensors with blockchain technology for secure, transparent, and reliable vehicle authentication and payment processing.


๐Ÿ“‹ Table of Contents


๐ŸŽฏ Overview

The IoT Toll System Supervisor revolutionizes traditional toll collection by implementing a fully automated, IoT-enabled system that:

  • Eliminates manual intervention through RFID-based vehicle authentication
  • Ensures secure transactions using blockchain technology principles
  • Provides real-time monitoring via Google Sheets integration
  • Enhances user experience with instant gate operation and transparent billing

๐Ÿ—๏ธ System Architecture

graph TD
    A[Vehicle Approaches] --> B[RFID Scanner]
    B --> C[Arduino Uno Processing]
    C --> D{Valid RFID?}
    D -->|Yes| E[Gate Opens]
    D -->|No| F[Access Denied]
    E --> G[ESP32 Data Processing]
    G --> H[Google Sheets Logging]
    H --> I[Transaction Complete]
Loading

๐Ÿ“„ Research Publication

This project is backed by peer-reviewed research published in IEEE Xplore:

๐Ÿ“– "IoT and Blockchain-based Automated Toll Collection System"

Abstract: This paper proposes a transformative solution for automated toll collection systems by integrating Internet of Things (IoT) and blockchain technology. The model aims to address challenges such as security breaches, lack of transparency, and unreliable transactions in current toll systems. Leveraging real-time data from IoT and the decentralised nature of blockchain, the proposed approach enhances security, ensures transparency, and improves overall reliability.

๐Ÿ“ Publication Details:

  • Conference: 2024 International Conference on Communication, Computing and Energy Efficient Technologies (I3CEET)
  • Conference Dates: September 20-21, 2024
  • IEEE Xplore Date: May 13, 2025
  • Electronic ISBN: 979-8-3315-4158-3
  • Print ISBN: 979-8-3315-4159-0
  • ๐Ÿ”— Read Full Paper

โœจ Key Features

Feature Description Technology
๐Ÿ” Secure Authentication RFID-based vehicle identification MFRC522 Module
๐Ÿšช Automated Gate Control Servo motor-operated barrier system Servo Motor + Arduino
๐Ÿ“Š Real-time Data Logging Cloud-based transaction recording ESP32 + Google Sheets API
๐Ÿ”Š Audio Feedback Customizable alerts for system status Buzzer Module
๐Ÿ“ฑ Mobile Integration Real-time monitoring capabilities WiFi + HTTP
๐Ÿ›ก๏ธ Security Validation Authorized-only access control Database Validation

๐Ÿ› ๏ธ Components Required

๐Ÿ–ฅ๏ธ Microcontrollers

  • ESP32 Development Board - IoT connectivity and data processing
  • Arduino Uno R3 - Main control unit for sensors and actuators

๐Ÿ“ก Sensors & Modules

  • MFRC522 RFID Module - Vehicle identification
  • 16x2 LCD Display with I2C - Status display
  • SG90 Servo Motor - Gate mechanism
  • Active Buzzer Module - Audio alerts

๐Ÿ”Œ Connectivity & Power

  • Jumper wires (Male-to-Male, Male-to-Female)
  • Breadboard or PCB
  • 5V Power Supply
  • USB cables for programming

โšก Hardware Setup

๐Ÿ”— Connection Diagram

ESP32 โ†โ†’ Arduino Uno (Serial Communication)
   โ†“
Arduino Uno Connections:
โ”œโ”€โ”€ RFID (MFRC522)
โ”‚   โ”œโ”€โ”€ SDA โ†’ Pin 10
โ”‚   โ”œโ”€โ”€ SCK โ†’ Pin 13
โ”‚   โ”œโ”€โ”€ MOSI โ†’ Pin 11
โ”‚   โ”œโ”€โ”€ MISO โ†’ Pin 12
โ”‚   โ””โ”€โ”€ RST โ†’ Pin 9
โ”œโ”€โ”€ Servo Motor โ†’ Pin 6
โ”œโ”€โ”€ Buzzer โ†’ Pin 7
โ””โ”€โ”€ LCD (I2C)
    โ”œโ”€โ”€ SDA โ†’ A4
    โ””โ”€โ”€ SCL โ†’ A5

๐Ÿ“‹ Pin Configuration Table

Component Arduino Pin ESP32 Pin Notes
RFID SDA 10 - SPI Slave Select
RFID SCK 13 - SPI Clock
RFID MOSI 11 - SPI Master Out
RFID MISO 12 - SPI Master In
RFID RST 9 - Reset Pin
Servo PWM 6 - PWM Control
Buzzer 7 - Digital Output
LCD SDA A4 - I2C Data
LCD SCL A5 - I2C Clock
Serial RX 0 TX (GPIO1) Communication
Serial TX 1 RX (GPIO3) Communication

Circuit Diagram


๐Ÿ”„ System Workflow

๐Ÿšฆ Operation Flow

flowchart TD
    Start([System Ready]) --> Scan[RFID Card Detected]
    Scan --> Check{Valid Card?}
    Check -->|โœ… Yes| Display[Show Vehicle ID on LCD]
    Check -->|โŒ No| Deny[Access Denied + Buzzer]
    Display --> Gate[Open Gate + Success Tone]
    Gate --> Send[Send Data to ESP32]
    Send --> Log[Log to Google Sheets]
    Log --> Wait[Wait 3 seconds]
    Wait --> Close[Close Gate]
    Close --> Start
    Deny --> Start
Loading

๐Ÿ“ Step-by-Step Process

  1. ๐Ÿ” Detection Phase

    • Vehicle approaches toll booth
    • RFID scanner activates and reads card
  2. ๐Ÿ” Authentication Phase

    • Arduino validates RFID against database
    • System determines access permission
  3. โšก Action Phase

    • Valid: Gate opens, LCD shows vehicle info
    • Invalid: Access denied, error buzzer sounds
  4. ๐Ÿ“Š Logging Phase

    • ESP32 receives transaction data
    • Information logged to Google Sheets with timestamp
  5. ๐Ÿ”„ Reset Phase

    • Gate closes after delay
    • System returns to ready state

Flowchart


๐Ÿš€ Installation Guide

๐Ÿ“‹ Prerequisites

  • Arduino IDE (Version 1.8.13 or higher)
  • ESP32 Board Package installed in Arduino IDE
  • Google Account for Sheets integration
  • WiFi Network for ESP32 connectivity

๐Ÿ“š Required Libraries

Arduino Uno Libraries:

# Install via Arduino Library Manager
- Wire.h (Built-in)
- LiquidCrystal_I2C.h
- Servo.h (Built-in)
- MFRC522.h
- SPI.h (Built-in)
- SoftwareSerial.h (Built-in)

ESP32 Libraries:

# Install via Arduino Library Manager
- WiFi.h (Built-in)
- HTTPClient.h (Built-in)
- TimeLib.h

๐Ÿ”ง Step-by-Step Setup

1. Hardware Assembly

1. Connect components according to wiring diagram
2. Double-check all connections
3. Ensure stable power supply to both boards

2. Code Upload

# Upload Arduino Uno Code
1. Select Board: "Arduino Uno"
2. Select correct COM Port
3. Upload the Arduino sketch

# Upload ESP32 Code  
1. Select Board: "ESP32 Dev Module"
2. Select correct COM Port
3. Upload the ESP32 sketch

3. Google Sheets Configuration

  1. Create Google Sheet:

    - Create new Google Sheet
    - Set up columns: Date, Time, Vehicle_UID, Status
    
  2. Deploy Apps Script:

    // Create Google Apps Script web app
    // Set permissions to "Anyone can access"
    // Copy web app URL for ESP32 code
  3. Update ESP32 Code:

    // Replace with your Google Apps Script URL
    const char* serverName = "YOUR_GOOGLE_SCRIPT_URL_HERE";
    
    // Replace with your WiFi credentials
    const char* ssid = "YOUR_WIFI_SSID";
    const char* password = "YOUR_WIFI_PASSWORD";

4. System Testing

โœ… Power on both Arduino and ESP32
โœ… Check serial monitor for connection status
โœ… Test with authorized RFID tag
โœ… Verify gate operation and LCD display
โœ… Confirm data logging in Google Sheets

๐Ÿ’ป Code Architecture

๐Ÿ”ง Arduino Uno - Main Controller

Core Responsibilities:

  • ๐Ÿ” RFID card scanning and validation
  • ๐Ÿšช Servo motor gate control
  • ๐Ÿ“บ LCD status display management
  • ๐Ÿ”Š Buzzer alert system
  • ๐Ÿ“ก Serial communication with ESP32

Key Functions:

void setup()           // Initialize components
void loop()            // Main program loop  
void checkRFID()       // Scan and validate RFID
void operateGate()     // Control gate servo
void displayStatus()   // Update LCD display
void sendToESP32()     // Transmit data via serial

๐ŸŒ ESP32 - IoT Gateway

Core Responsibilities:

  • ๐Ÿ“ถ WiFi connectivity management
  • ๐Ÿ“Š Data processing and validation
  • โ˜๏ธ Google Sheets API integration
  • โฐ Timestamp generation
  • ๐Ÿ”„ HTTP request handling

Key Functions:

void setup()           // Initialize WiFi and components
void loop()            // Listen for Arduino data
void connectWiFi()     // Establish WiFi connection
void logToSheets()     // Send data to Google Sheets
void validateUID()     // Check UID format

๐Ÿ“ธ Project Gallery

๐Ÿ› ๏ธ Hardware Setup

Hardware Setup

Complete system assembly showing Arduino Uno, ESP32, RFID module, servo gate, and LCD display

๐Ÿ“ฑ Mobile Integration

Mobile App

Real-time monitoring interface showing transaction logs and system status

๐ŸŽฅ System Demonstration

Demo.Video.mp4

Live demonstration of complete toll collection process from RFID scan to data logging


๐Ÿ”ฎ Future Roadmap

๐Ÿš€ Phase 1: Enhanced Security

  • Blockchain Integration - Implement decentralized transaction validation
  • Encryption Protocol - Add AES encryption for data transmission
  • Multi-factor Authentication - Combine RFID with biometric verification

๐Ÿ’ณ Phase 2: Payment Integration

  • Digital Wallets - Support for UPI, PayPal, cryptocurrency
  • Dynamic Pricing - Peak hour and congestion-based toll calculation
  • Subscription Models - Monthly/yearly toll passes

๐Ÿ“Š Phase 3: Analytics & AI

  • Traffic Analytics - Real-time traffic flow analysis
  • Predictive Maintenance - AI-powered system health monitoring
  • Revenue Optimization - Machine learning for toll pricing

๐ŸŒ Phase 4: Smart Infrastructure

  • 5G Connectivity - Ultra-low latency communication
  • Edge Computing - Local processing for faster response
  • Smart City Integration - Connect with city-wide traffic management

๐Ÿค Contributing

We welcome contributions to improve the IoT Toll System! Here's how you can help:

๐Ÿ› ๏ธ Development Setup

1. Fork the repository
2. Clone your fork locally
3. Create a feature branch
4. Make your changes
5. Test thoroughly
6. Submit a pull request

๐Ÿ“ Contribution Guidelines

  • Follow Arduino coding standards
  • Include comments for complex logic
  • Test all hardware connections
  • Update documentation for new features
  • Ensure backward compatibility

๐Ÿ› Bug Reports

  • Use GitHub Issues for bug reports
  • Include system specifications
  • Provide detailed error descriptions
  • Add photos/videos if helpful

๐Ÿ“ž Support & Contact


๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


โญ If this project helped you, please give it a star on GitHub!

Built with โค๏ธ for the future of smart transportation

About

Manual tolls = traffic jams! This IoT system uses RFID tags & online verification for faster payments, reducing congestion & frustration.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages