The United States is a car culture and most Americans have to own a car to commute to work and get around. As a result of that fact, parking lots are everywhere. You don't just need a parking spot for your car at home, but also at work and every other place you go. In Jackson, Wyoming, for example, there are 27.1 parking spots for every household. Despite that, private parking lots are common and owners need a way to ensure that only authorized vehicles enter the lot. For a university project, Codrin used a Raspberry Pi to create a system that detects unauthorized vehicles.
The traditional method of keeping unauthorized vehicles out of parking lots and garages is to issue decal stickers and have parking attendants ticket or tow any vehicle that doesn't have a decal. But that requires a lot of labor. It is also easy for unscrupulous car owners to fabricate fake decals. Codrin's system solves those problems with intelligent monitoring. It uses a camera to look at every car that enters or exits a parking area. When a car enters, the system checks the license plate against a database of authorized vehicles. If the vehicle isn't authorized, the system will notify an attendant. It also knows how full the parking area is, so unauthorized vehicles can be excused if plenty of parking is available.
In Codrin's write-up, they focus on the hardware side of the system — the part that monitors the parking lot entrance. The other two parts of the system, the backend server and the user interface, aren't discussed in detail. The hardware consists of a Raspberry Pi 4 Model B single-board computer (SBC), a Raspberry Pi Camera V2, an Arduino Nano board, an HC-05 Bluetooth module, and an HC-S04 sonar sensor. The Arduino and sonar sensor detect when a car passes through the parking lot's entrance. The Arduino then notifies the Raspberry Pi via Bluetooth. From there, the Raspberry Pi snaps a photo of the car. Plate Recognizer software then finds the car's license plate and reads it.
If this system were complete and in-use, the license plate number would be sent to the backend server, which would check it against a database of authorized vehicles. It's a simple DIY solution to a common problem. There are, of course, similar commercial products on the market. But it's always great to see a student using affordable hardware to achieve the same results.