Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/spaghettifunk/f1-telemetry-system
App for visualising F1 2021 telemetries
https://github.com/spaghettifunk/f1-telemetry-system
clickhouse f1-2021 kafka telemetry vue
Last synced: about 1 month ago
JSON representation
App for visualising F1 2021 telemetries
- Host: GitHub
- URL: https://github.com/spaghettifunk/f1-telemetry-system
- Owner: spaghettifunk
- License: mit
- Created: 2022-03-26T20:17:09.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2022-04-17T18:56:22.000Z (over 2 years ago)
- Last Synced: 2024-10-02T09:26:31.930Z (about 2 months ago)
- Topics: clickhouse, f1-2021, kafka, telemetry, vue
- Language: TypeScript
- Homepage:
- Size: 430 KB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# f1-telemetry-system
App for visualising F1 2021 telemetries
## Architecture
The below diagram represents the architecture of the system
![Architecture](./docs/images/telemetry.png)
## Dependencies
Have `Go` installed.
Install `docker` and make sure `docker-compose` works as expected. I currently use 4 CPUs and 4GB of RAM to run the whole system.
I haven't automated the creation of the tables in Clickhouse yet, hence you need upload them manually. Without installing many small
components, I suggest to use [DBeaver](https://dbeaver.io/) to run queries into Clickhouse.# How to start
`docker-compose up -d` and wait for a couple of minutes that Kafka, Zookeeper and all the other systems are up and running.
Open your browser and go to `http://localhost:8080` and you should see Kowl appearing. If you check the project, a folder called `data/clickhouse` should have been creted. If not, please create one. This folder won't be pushed to Git.Open DBeaver (or whatever tool you chose) and run all the queries in the file `/configs/clickhouse/tables.sql`. Once you have done that, Clickhouse is ready to listen to Kafka on specific topics (check the SQL file for more info). Don't worry if data is not yet in kafka or the topics are not created yet. Clickhouse consumers are pretty smart.
You can now go to the `collector` folder and run `go run main.go --debug=[false/true]`. A message like the one below should appear.
```
2022/03/29 14:09:02 Initiating collection of packets on 0.0.0.0:20777
2022/03/29 14:09:02 Collecting events...
```Now, you should get the IP of your local machine in the local-network. In general it starts with `192.168.x.x`. Keep that IP address in mind since you'll need to put in the Telemetry settings on F1 2021.
Open F1 2021 and go to the Settings. Open the Telemtry settings and insert the IP address you saved before and use `20777` as port. **IMPORTANT:** your console needs to be in the same network as your laptop otherwise the discovery doesn't work.Once all the steps above are done, every time you press on a button you should see a JSON message appear on the console. Once you start a session, data will begin flooding towards your console. If everything went well, you should be able to query Clickhouse with `SELECT * FROM car_telemetry` or other tables and get some rows in it.