[0:00]Hello, this is the final project for Group 5. My name is Matt and I'm joined by my teammates, Daniel and George. For our project, we chose to develop a smart parking system. The problem we identified that our system is solving is that current smart parking systems that exist today have a lot of issues. They're often inaccurate, they're expensive to maintain and implement. They're also not very efficient or easy to use. Furthermore, they're often not very secure or private, so your data could be compromised. There are some issues with the existing systems as well, such as their lack of integration with other smart city services. They often have limited scalability, meaning they can't handle a lot of cars. There's also no real time data processing, so it's not truly a smart parking system in a lot of cases. There's also the problem of environmental impact and the fact that a lot of these systems just aren't sustainable. For the purpose of this project, we chose to focus on the problem of accuracy, security, and scalability. We believe these three are the biggest issues with smart parking systems currently. Our proposed solution, our smart parking system, solves these problems by providing accurate and real time parking information to users through the use of IoT technology. We also have a secure and private system that protects user data and ensures compliance with data protection regulations. Our scalable and flexible architecture can be easily adapted to different parking environments, meaning it's able to handle both small and large parking lots or cities, for example. We're also designed to be environmentally friendly and sustainable by reducing traffic congestion and improving the overall efficiency of parking management. This is also a cost effective solution compared to many other systems available today. We're going to use a bunch of different hardware components. We're using Raspberry Pi 4 Model B as our main microcontroller. We have a Pi camera for capturing images of the parking spots. We're using ultrasonic sensors to detect vehicle presence, as well as an LED indicator to show whether a spot is open or not. We're using a micro servo motor for barrier control, and then a seven segment display to show the number of available parking spots. We're also using a bunch of different software components. The operating system we chose is Raspberry Pi OS Lite, which is a lightweight version of the Raspberry Pi OS. For the programming languages, we chose Python for most of the development, and we're also using an MQTT broker for communication between devices. We're using a Flask web framework for the web interface, and we're also going to be using OpenCV for image processing, specifically for detecting cars in the parking spots. Now, for the system architecture. Our design takes advantage of IoT by having various sensors and actuators on our Raspberry Pi. They're going to communicate with an MQTT broker, which is going to be running on an EC2 instance on AWS. It's going to relay all the information to a DynamoDB database that we also have running on AWS. The user is going to interact with the system through a web server. The web server is going to have two parts to it. We have a user facing website and an administrator dashboard, which is going to allow the administrator to see all the different devices connected to the system, as well as their status. The user is going to be able to see the parking lot information and also reserve parking spots. Now for a more detailed look at the system architecture, here's a block diagram of our system. As you can see, our system has two main parts to it. We have the car park system and then our cloud backend. The car park system consists of the Raspberry Pi. This is where all the sensors are going to be connected, such as the ultrasonic sensor, the Pi camera, and the LED. The Raspberry Pi is going to gather all this information and send it to our cloud backend via MQTT. The cloud backend is going to consist of the MQTT broker, our web server, and our DynamoDB database. As I mentioned before, this is all going to be hosted on AWS. The Raspberry Pi, in addition to sending data to the cloud, is also going to be receiving data. For example, if a user wants to reserve a spot, the Raspberry Pi will be notified of this and then it can update the parking lot to reflect this change. On this next slide, we have our network architecture for our system. We have the various IoT devices connected via Wi-Fi to a router. The router will then be connected to the internet, which will then connect to our AWS cloud. On AWS, we have our EC2 instance, which is going to be running our MQTT broker and web server. The web server is going to be interacting with the DynamoDB database, and the web server is also going to be accessible from the internet, meaning a user can access the website from their own computer or phone. We also have a Python script that's going to be running on the EC2 instance, that's going to act as a bridge between the MQTT broker and the DynamoDB database. So it's going to be taking all the messages from the MQTT broker and updating the database accordingly. This is a brief overview of our software architecture. So we're going to have the sensor modules, which are going to communicate with the Raspberry Pi. The Raspberry Pi will have a controller program that's going to read all the sensor data, and then it's going to publish it to our MQTT broker. The MQTT broker is going to have a database manager, which is then going to update our DynamoDB database. Our web server will be able to retrieve information from the database and then display it to the user. The web server will also be able to receive user commands, such as reserving a spot, and then it will publish those commands to the MQTT broker, which will then relay them to the Raspberry Pi to perform the action. Here's a look at the data flow within our system. This is a very important part of our project, as it shows how all the different components communicate with each other. First, the Raspberry Pi collects data from the sensors, so the ultrasonic sensor, the camera, and the LED. Then it processes the data using Python scripts. It uses OpenCV to analyze the images from the camera to detect if a car is present, and then it will publish this information to the MQTT broker. It's also going to publish whether an ultrasonic sensor has detected a car, and then also the state of the LED. The MQTT broker will then receive the data and publish it to the database manager. The database manager will then update the DynamoDB database with the new information. Our web server will then be able to retrieve this updated information from the database and display it to the user. The user can also send commands, such as reserving a spot, through the web server. This will then be sent to the MQTT broker, which will then relay the command to the Raspberry Pi to perform the action. Now, let's talk about some of the design considerations we took into account for this project. For the hardware, we decided to use the Raspberry Pi 4 because it has sufficient processing power and connectivity options for our project. We chose ultrasonic sensors for vehicle detection because they're cost effective and reliable. The Pi camera for image capture, because it integrates well with the Raspberry Pi. Then we chose the LED indicator, micro servo motor, and seven segment display for the user feedback and barrier control. For the software, we chose Python because it's a very versatile language and it's well supported on the Raspberry Pi. We also chose the MQTT broker because it's a lightweight messaging protocol that's ideal for IoT applications. We used Flask for our web framework because it's lightweight and easy to use. OpenCV for image processing, because it's a powerful library for computer vision tasks. And then we chose AWS for our cloud infrastructure because it offers a wide range of services and it's highly scalable and reliable. For example, DynamoDB and EC2 are great for this purpose. For security, we decided to use secure communication protocols such as SSL/TLS for all data transmission between devices and the cloud. We also have robust authentication and authorization mechanisms to control access to the system. So only authorized users can access the system. We also implemented data encryption for sensitive user information to protect against unauthorized access. We want to make sure that all user data is protected. We also have a firewall and intrusion detection systems to protect against cyber threats. So overall, our system is very secure. For scalability, our modular architecture allows for easy expansion and integration of additional parking spaces or new features. The use of cloud services such as AWS enables seamless scaling to accommodate a growing number of users and devices. And then our load balancing and distributed processing techniques ensure optimal performance and responsiveness, even under heavy usage. Now, let's talk about the results of our project. We developed a fully functional smart parking system prototype that accurately detects vehicle presence and provides real time parking availability information. We successfully integrated the hardware and software components, including the Raspberry Pi, sensors, camera, and web interface. We also implemented the secure data transmission and storage mechanisms, ensuring the privacy and integrity of user data. And then we developed a user friendly web interface for seamless interaction with the system. Overall, the system performs very well. It's very accurate and secure and scalable. Now, let's take a look at the future work for our project. We want to implement advanced features such as predictive parking availability, which is going to use machine learning algorithms to predict when a spot will be open. We also want to integrate with other smart city services, such as traffic management systems and public transportation for a more comprehensive solution. We also want to explore partnerships with parking operators and city authorities for real world deployment and wider adoption of our system. We also want to conduct further research into emerging technologies such as 5G and edge computing to enhance the performance and capabilities of our system. And then finally, we want to expand into more sustainable and eco friendly solutions for smart parking to reduce the environmental impact of parking. Thank you for listening to our presentation. We hope you enjoyed it. If you have any questions, please feel free to ask. Now, let's take a look at the demo for our project. Hello, everyone. This is a demo for our project. What we have here is a car park model which we built. It has three parking spots. Each parking spot has its own LED indicator for whether it's available or not, as well as an ultrasonic sensor. We also have a Raspberry Pi with a Pi camera, and this is going to be used to detect whether cars are present in the parking spot. We also have a servo motor which acts as a barrier. We also have a seven segment display which shows the total number of available parking spots. As you can see, right now it's three. Now we're going to put a car in the first parking spot. As you can see, the LED turned red and the seven segment display has been updated to show two available spots. Now we're going to put a car in the second parking spot. As you can see, the LED turned red again, and the seven segment display has been updated to show one available spot. Now we're going to put a car in the third parking spot. As you can see, the LED is red, and the seven segment display has been updated to show zero available spots. Now that we have all three spots occupied, we're going to remove the cars one by one. First, we're going to remove the first car. As you can see, the LED turned green, and the seven segment display has been updated to show one available spot. Now we're going to remove the second car. As you can see, the LED turned green again, and the seven segment display has been updated to show two available spots. Now we're going to remove the third car. As you can see, the LED is green, and the seven segment display has been updated to show three available spots. Now, let's take a look at the web interface. This is our web interface. It shows all the parking spots and whether they're available or not. As you can see, all three are available right now. This is also showing a live feed from the Raspberry Pi camera. We also have a barrier control, which is going to be used to open and close the barrier. Now we're going to open the barrier. As you can see, the barrier has been opened. We can also close it. And now it has been closed. Now we're going to put a car in the first parking spot. As you can see, the parking spot has been updated to show that it's occupied. We can also reserve a parking spot. Let's reserve the second parking spot. As you can see, it has been updated to show that it's reserved. Now we're going to put a car in the third parking spot. As you can see, it has been updated to show that it's occupied. Now we're going to remove the cars one by one. First, we're going to remove the first car. As you can see, the parking spot has been updated to show that it's available. Now we're going to unreserve the second parking spot. As you can see, it has been updated to show that it's available. Now we're going to remove the third car. As you can see, the parking spot has been updated to show that it's available. This is our web interface. Thank you for watching our demo.
Watch on YouTube
Share
MORE TRANSCRIPTS



