Open-F1 adalah klien waktu langsung F1 open source.
openf1-console adalah aplikasi TUI yang menggunakan OpenF1.Data untuk menampilkan layar waktu langsung selama sesi, dan merekam data untuk replay sesi di masa depan.
Perpustakaan OpenF1.Data disediakan untuk memfasilitasi konektivitas dengan aliran data waktu hidup F1, dan menangani semua pemrosesan data yang masuk. Ini juga memungkinkan untuk aliran "simulasi", di mana aliran data yang direkam sebelumnya dapat diputar kembali untuk memungkinkan pengembangan/pengujian yang mudah.
Sorotan fitur:

openf1-consoleProyek ini sangat terinspirasi oleh Proyek FastF1 oleh Theoehrly. Mereka melakukan banyak pekerjaan yang memahami aliran Signalr yang berasal dari Layanan Pengaturan Waktu Langsung F1. Kunjungi proyek mereka jika Anda ingin melakukan analisis data apa pun pada acara F1 sebelumnya, atau kumpulkan data waktu langsung menggunakan modul mereka.
openf1-console openf1-console tersedia sebagai alat dotnet dari Nuget, yang berarti dapat dipasang di seluruh sistem hanya dengan menjalankan:
# Install globally using the -g flag
dotnet tool install -g openf1-console
# Assuming the dotnet tools directory is on your path, simply execute openf1-console
openf1-console Metode ini disarankan karena mudah untuk menjaga agar aplikasi diperbarui menggunakan dotnet tool update -g openf1-console .
Eksekusi mandiri melekat pada setiap rilis GitHub. Unduh yang dapat dieksekusi untuk OS/arsitektur sistem Anda dan cukup jalankan secara langsung. Daftar artefak tersedia di halaman rilis untuk rilis terbaru.
# Download the latest executable (in this case for osx-arm64)
curl https://github.com/JustAman62/open-f1/releases/latest/download/openf1-console-osx-arm64 -o ./openf1-console -L
# Execute openf1-console to start the TUI
./openf1-console # Checkout the git repository
git clone [email protected]:JustAman62/open-f1.git
# Run the console project with `dotnet run`
dotnet run --project OpenF1.Console/OpenF1.Console.csprojopenf1-console Seperti dijelaskan di atasSession SStart Live Session .Timing Tower T Timing Selama sesi, data timing yang diatasi akan ditulis ke ~/open-f1/data/<session-name> . Ini akan memungkinkan tayangan ulang data yang direkam di masa depan ini.
Data untuk sesi yang direkam sebelumnya harus disimpan di direktori ~/open-f1/data/<session-name> . Data sampel dapat ditemukan di folder data sampel repo ini. Untuk menggunakan data sampel ini, salin salah satu folder ke ~/open-f1/data dan kemudian akan terlihat pada langkah 4 di bawah ini.
openf1-console Seperti dijelaskan di atasSession SStart Simulation .Timing Tower T Timing F1 menyediakan file data waktu statis untuk sesi yang sudah selesai. Data ini dapat diunduh dan dikonversi menjadi format yang sama digunakan openf1-console untuk menyimpan data yang direkam secara langsung.
openf1-console import <year> listopenf1-console import <year> list --meeting-key <meeting-key>openf1-console import <year> --meeting-key <meeting-key> --session-key <session-key> Semua data sesi, baik secara langsung maupun pra-rekaman, dikirim ke Channel yang bertindak sebagai queue yang tertunda. Setelah penundaan singkat, titik data ditarik dari antrian dan diproses, yang mengarah ke pembaruan pada layar waktu. Jumlah penundaan ini dapat diubah dengan tindakan Delay M / N saat berada di layar waktu. Tahan ⇧ Pergeseran untuk mengubah penundaan dengan 30 detik, bukan 5. Saat menggunakan openf1-console selama sesi langsung, Anda mungkin ingin meningkatkan keterlambatan ini menjadi sekitar ~ 50 detik (angka aktual dapat bervariasi) agar sesuai dengan penundaan siaran dan hindari dimanjakan tentang tindakan yang akan datang.
Sesi Simulasi Mulai dengan penundaan yang dihitung sama dengan jumlah waktu antara awal sesi aktual dan sekarang. Ini berarti Anda dapat mengurangi keterlambatan dengan aksi Delay N untuk maju cepat melalui sesi.
Ada kursor global yang dikendalikan dengan tindakan Cursor ▼ / ▲ . Apa yang dilakukan kursor ini tergantung pada layar, misalnya dapat digunakan di layar Tower Timing untuk menggulir pesan kontrol ras, atau untuk memilih driver di menara untuk melihat interval komparatif.
OpenF1 dapat dikonfigurasi menggunakan file config.json sederhana, melalui baris perintah saat startup, atau menggunakan variabel lingkungan. Konfigurasi JSON akan dimuat dari ~/open-f1/config.json .
| JSON Path | Baris perintah | Variabel Lingkungan | Keterangan |
|---|---|---|---|
dataDirectory | --data-directory | OPENF1_DATADIRECTORY | Direktori di mana data timing JSON dibaca atau ditulis dari. |
verbose | -v|--verbose | OPENF1_VERBOSE | Apakah logging verbose harus diaktifkan. Default: false . Nilai: true atau false . |
apiEnabled | --with-api | OPENF1_APIENABLED | Apakah aplikasi harus mengekspos API di http: // localhost: 61937. Default: false . Nilai: true atau false . |
OpenF1.Data menulis log menggunakan implementasi ILogger standar. Log klien SignalR juga diteruskan ke ILoggerProvider standar.
Saat menjalankan log openf1-console tersedia di dua tempat:
Logs . Log dapat digulir pada layar ini, dan tingkat log minimum yang ditampilkan dapat diubah dengan tindakan Minimum Log Level M.~/open-f1/logs . Level log default diatur ke Information . Logging verbose lebih banyak dapat diaktifkan dengan opsi konfigurasi verbose .
F1 Waktu langsung dialirkan menggunakan SignalR 2 . OpenF1.Data hanya terhubung ke titik akhir ini, berlangganan umpan data, dan mendengarkan pesan. Ini berlangganan "topik" berikut:
HeartbeatExtrapolatedClockTopThreeTimingStatsTimingAppDataWeatherDataTrackStatusDriverListRaceControlMessagesSessionInfoSessionDataLapCountTimingDataCarData.zPosition.zChampionshipPredictionTeamRadio Semua acara yang diterima oleh klien waktu langsung akan ditulis ke Data Directory yang dikonfigurasi, lihat lihat Konfigurasi untuk detailnya. File akan ditulis ke subdirektori bernama menggunakan nama sesi saat ini, misalnya ~/open-f1/data/Jeddah_Race/ . Di direktori ini, dua file akan ditulis:
subscribe.txt berisi data yang diterima pada waktu berlangganan (yaitu ketika klien waktu langsung terhubung ke stream)live.txt berisi log apend dari setiap pesan yang diterima di aliran Kedua file ini diperlukan untuk simulasi/replay di masa mendatang. IJsonTimingClient mendukung memuat file -file ini dan memprosesnya dengan cara yang sama seperti data langsung. Poin data akan diputar ulang secara real time, menggunakan penundaan yang dihitung.
Monitor waktu sektor dan kesenjangan, lihat pesan kontrol balapan baru -baru ini, tangkap perubahan posisi, amati strategi pit, dan banyak lagi dengan tampilan menara timing standar.

Gunakan kursor yang dikendalikan oleh tindakan Cursor ▼ / ▲ di layar Timing Tower untuk memilih driver tertentu (dalam hal ini Norris) untuk melihat interval relatif antara driver itu dan yang lainnya. Ini berguna untuk menentukan di mana pengemudi akan jatuh setelah pemberhentian, atau melihat jendela pit saat dipotong.
Selain itu, kesenjangan antara driver yang dipilih dan yang ada di sekitar mereka selama empat lap terakhir akan ditampilkan di bagian bawah layar. Ini memungkinkan Anda untuk dengan mudah melihat celah yang berkembang dari waktu ke waktu dan mengevaluasi seberapa cepat pengemudi dapat mengejar atau menarik diri.

Pantau waktu sektor langsung/terbaik, celah, ban, dan penghapusan pangkuan dengan mudah dengan menara waktu khusus untuk sesi non-ras.

Halaman Race Control menunjukkan semua pesan kontrol balapan untuk sesi tersebut, bersama dengan data sesi lainnya seperti cuaca.

Di halaman Timing by Lap , Anda dapat menggunakan kursor yang dikendalikan oleh tindakan Cursor ▼ / ▲ untuk melihat snapshot historis menara timing di akhir setiap putaran. Pandangan ini akan menunjukkan perubahan posisi selama putaran itu, dan perubahan relatif dalam celah dan interval. Menggulir melalui putaran memungkinkan Anda membangun gambaran tentang bagaimana perlombaan berlangsung.

Dengarkan klip radio tim dari kapan saja di sesi ini, dan gunakan model ML lokal (Whisper) untuk menuliskan audio sesuai permintaan.

Open-F1 tidak resmi dan tidak terkait dengan cara apa pun dengan perusahaan Formula 1. F1, Formula Satu, Formula 1, FIA Formula Satu Kejuaraan Dunia, Grand Prix dan Tanda Terkait adalah tanda perdagangan dari Formula Satu Lisensi BV