Ensure that your system has the correct permissions and dependencies before running the application.
- A Linux-based operating system
- Python 3.x installed
pip
(Python package installer)- Access to hardware ports (e.g., serial ports)
To use serial ports, your user account must belong to the dialout
group.
- Open a terminal and run:
groups
- If
dialout
is not listed in the output, add your user to the group:sudo usermod -a -G dialout $USER
After modifying group memberships, a system restart is required to apply the changes.
Navigate to your project directory and install the required Python packages:
pip install -r requirements.txt
This will install all dependencies listed in requirements.txt
.
Once everything is set up, execute your Python script:
python car_entry.py
Your environment should now be properly configured to run the application.
The parking management system uses RFID cards for payment processing.
- Rate: 200 RWF per hour (minimum 1 hour)
- Payment Method: RFID cards linked to license plates
- Balance Storage: Each RFID card stores both the license plate number and available balance
To add funds to an RFID card:
# Navigate to the topup directory
cd payment/topup
# Upload the topup.ino sketch to your Arduino
# Then run the serial monitor to interact with the system
The topup system will:
- Prompt you to place an RFID card
- Ask for a license plate number (7 characters max)
- Request the balance amount to add to the card
When a vehicle exits the parking:
# Navigate to the payment directory
cd payment
# Run the payment processing script
python process_payment.py
The payment process:
- Reads the RFID card associated with the vehicle
- Calculates parking duration and amount due
- Verifies sufficient balance on the card
- Deducts the payment and updates the card balance
- Updates payment status in the system database