Cloud-Based Vehicle Telemetry and Parking Spot Management System
- Project Overview
This project simulates an autonomous vehicle transmitting real-time sensor data to the cloud. The system will process this data to provide a dynamic map of parking spot availability and analyze historical trends. This architecture will give you practical experience with serverless computing, real-time data processing, database management, and IoT services. 2. Project Layout & Architecture
The system follows a classic event-driven, serverless architecture. The data flows from a simulated vehicle "device" through an ingestion layer, is processed by business logic, and is then stored and visualized.
Device Simulation: A Python script running on your local machine will act as the "vehicle device." It will generate mock sensor data (e.g., GPS coordinates, ultrasonic sensor readings) and publish it to an AWS IoT topic.
Data Ingestion: AWS IoT Core acts as the secure gateway, ingesting the data from the simulated device. An IoT Rule will be configured to take the incoming JSON payload and forward it to a real-time processing stream.
Real-time Processing: AWS Kinesis Data Streams receives the data from the IoT Rule. This service allows for high-throughput, real-time processing of streaming data. A consumer application (a Lambda function) will read from the Kinesis stream.
Business Logic & Data Storage:
An AWS Lambda function will be triggered by the Kinesis stream. This function will contain the core business logic.
The Lambda function will check the sensor data to determine if a parking spot is occupied or free.
It will then update the status of the parking spot in an AWS DynamoDB table, which is optimized for high-performance key-value lookups (ideal for checking spot availability).
The raw telemetry data will be stored in a separate, lower-cost AWS S3 bucket for long-term storage and future analysis.
Data Visualization:
An AWS API Gateway endpoint will be configured to provide a REST API for the frontend.
An AWS Lambda function (separate from the data processing one) will be triggered by the API Gateway to query the DynamoDB table and return the current parking spot status.
A simple static website (HTML, CSS, JS) hosted on an AWS S3 bucket will consume this API and display a live map of parking availability.
-
Key AWS Services Used
AWS IoT Core: Securely connects and manages devices. You'll use it to ingest the simulated vehicle data.
AWS Lambda: The core of the serverless architecture. You'll use it for processing data from Kinesis and serving data to the web application.
Amazon Kinesis Data Streams: For scalable, real-time data ingestion and processing.
Amazon DynamoDB: A fast, serverless NoSQL database for storing and retrieving real-time parking spot status.
Amazon S3: Used as a durable and cost-effective data lake for long-term storage of raw telemetry data and for hosting the static website.
Amazon API Gateway: Exposes your Lambda function as a REST API for the frontend to consume.
AWS IAM: Crucial for managing access and permissions between all the services. You will practice creating and managing roles with appropriate policies.
Amazon CloudWatch: For monitoring logs and metrics to ensure your application is running correctly.
-
Required Open Source Repositories & Technical Dependencies
Python: The core language for the simulation script and Lambda functions.
AWS CLI: Essential for interacting with AWS from your command line.
Boto3: The official AWS SDK for Python, which you will use to interact with AWS services from your Python scripts.
MQTT Client: You will need a Python library like paho-mqtt to publish messages to AWS IoT Core.
Git: For version control.
This project is a great way to put your skills to the test and directly apply the knowledge you're gaining from the certification. Let me know if you would like me to write the Python script to simulate the vehicle or provide a sample Lambda function.