Intelligent parking system connected to firebase and managed by a realtime web application. The system has access card reading, parking availability, alarm system and real time monitoring.
Once authenticated in the system, this will be the page with information about the parking lot. All data is updated in real time.
All you need to do to configure the backend with your Firebase project is to go into the /ParkingApp/.env
directory and change the FIREBASE_API_KEY
and DATABASE_URL
variables
FIREBASE_API_KEY= ...
DATABASE_URL= ...
JWT_SECRET= ...
Then go to the /ParkingApp/src/frontend/src/script/firebase.js
directory and insert your database URL
const firebaseConfig = {
databaseURL: ""
};
Finally, go to the /ParkingApp/src/frontend/src/services/realtimeService.js
directory and insert your database URL
const DATABASE_URL = "";
- Reads the card and checks if it has a valid ID in the system. If authorized, a green LED will light up and a gate represented by a servo motor will open. If the card is declined 3 times, an alarm will sound and a red LED will flash.
- An LCD display will inform the driver whether there are available spaces or not. If there are none, the parking lot will be inaccessible.
- The parking space will be monitored by an infrared sensor
- All parking operations will be monitored through an Android application, which will inform: available parking spaces, ID of the last card used, ID of the last card declined, number of times the alarm was activated and system connection status.
Compenent | Component Pin | ESP32 Pin |
---|---|---|
fc-51 (Infrared Sensor) | out | GPIO17 |
fc-51 (Infrared Sensor) | VCC | 5V |
RFID-RC522 | SDA | GPIO4 |
RFID-RC522 | SCK | GPIO18 |
RFID-RC522 | MOSI | GPIO23 |
RFID-RC522 | MISO | GPIO19 |
RFID-RC522 | RST | GPIO15 |
RFID-RC522 | VCC | 3.3V |
LCD 20x4 (I2C) | SDA | GPIO21 |
LCD 20x4 (I2C) | SCL | GPIO22 |
LCD 20x4 (I2C) | VCC | 5V |
Servo | SCL | GPIO13 |
Servo | VCC | 5V |
Buzzer | pin2 | GPIO36 |
LED (Green) | anode | GPIO7 |
LED (Red) | anode | GPIO8 |