This project implements a near real-time telemetry logging pipeline for the PERRINN 424 EV using Unity and an Apache stack. It collects telemetry data from the Unity simulation, streams it via Kafka, processes it via the Apache stack, and stores it in Cassandra for further analysis.
Before running the telemetry pipeline, you need the following:
-
Unity Project with Kafka Telemetry Module
- GitHub: project-424-unity
- The
KafkaTelemetry2module is located at:project-424-unity/Assets/Features/Telemetry RT Streaming/KafkaTelemetry2.cs - Currently, the module is only available in this fork until a pull request is merged into the main project.
-
Telemetry Logging Infrastructure
- GitHub: project-424-datalogging-infra
- Contains the entire stack required for analysis.
Once you have downloaded both stacks:
-
Unity Simulation Preparation
- Once you've downloaded the Unity Simulation, go into the directory in step 1, and modify the localhost:9092 entry with the IP of the machine you are running on.
- Or, if you're running both on the same machine, there's no need for modifications.
- Ensure that the
Emit Telemetrycheckbox is ticked.
-
Telemetry Logging Infrastructure
- Run
docker-compose up -d
- Run
Once you enter Unity and hit play, it will automatically start sending data to the Kafka instance. You'll be able to see them in the Kafka UI. You can then go ahead and write Flink jobs to grab from Kafka, transform, and send to Cassandra.
- Custom Go microservice that pulls data from Kafka, initializes tables in Cassandra and processes in real-time.