This project realizes a solution for smart parking, i.e. a system for parking monitoring. It is realized specially for parkings reserved to disabled people, but it can be applied to other situations, as pay and display parking or non-parking areas.
The parking lot have a sensor on the ground that can communicate to a server whether the place is free or taken, and if it is taken, the system can figure out if the vehicle is authorized or not. Through an app, someone can check where there are free parking in that moment, and finally it will be possible to calculate some statistics, for example how many parkings are free or occupied or not allowed, divided for areas, days, time slots..
Step 1: What You Need
- an Intel® Edison kit
- a transparent plastic box (.dxf file can be found in the GitHub repository)
- a LCD display 16x2
- a infrared proximity sensor
- a bluetooth tag for every authorized car
- a little car
Step 2: Understanding the System
A bluetooth tag will be given to each person that will need a reserved parking.
When a car occupies the parking lot, the proximity sensor will understand it, and the system will search for the beacon of that car. This tag transmit every 100 ms his universally unique identifier (UUID), which consists in an alphanumeric long string. After that, the system will connect to the server, just to find if it is an authorized beacon or not. The monitor will be red if it’s not allowed, or green if everything went well. If the parking lot is free, it will be displayed on the web application.
Step 3: Source Code
All the source code used, is available in our GitHub repository: https://github.com/VeronaFabLabRepo/intelmaker16_...
- the code for Intel® Edison
- the code of the web application
The MySQL database is structured as follows:
ISP_parks ( parkID (int 11) PRIMARY_KEY, name (varchar 45), latitude (double), longitude (double) ) for the parking lots
ISP_users ( userID (int 11) PRIMARY_KEY, name (varchar 45), beaconID (varchar 45), timeStart (datetime), timeFinish (datetime) ) for every user
ISP_register ( ID (int 11) PRIMARY_KEY, parkID (int 11), userID (int 11), state (int 11), timeStart (datetime), timeFinish (datetime), beaconID (varchar 45), plate (varchar 45) ) which records the parking
The requests put and post to the server work as in Figure1 and a scheme on how the software on Intel® Edison works is in Figure2.