Skip to content

Repository files navigation

Türkçe English

ProjectWheel — Gyro Pedal & Steering Wheel Gamepad

İki Android telefonun jiroskop (ivmeölçer) verilerini kullanarak, bilgisayarda sanal Xbox 360 gamepad (gaz/fren pedalı + direksiyon) oluşturan entegre bir sürücü sistemidir.

Telefonları yere/sürüş standına sabitleyip eğerek gaz ve fren pedallarını kontrol eder, fiziksel bir direksiyon simidini ise X ekseni olarak oyuna yansıtır. Bağlantı WiFi, USB (ADB) veya Bluetooth Classic (Serial SPP) üzerinden kurulabilir.

Özellikler

  • Çift telefon desteği — bir telefon gaz, diğeri fren pedalı olarak atanır.
  • Üç bağlantı yöntemi
    • WiFi — telefon ve bilgisayar aynı ağda.
    • USB (ADB)adb reverse ile düşük gecikme.
    • Bluetooth Classic (Serial SPP) — Windows "Gelen COM Portu" üzerinden kablosuz.
  • Fiziksel güç tuşu (ekran kapatma) desteği — Android Foreground Service + Partial Wake Lock sayesinde ekran kapalıyken bile sensör okuma ve veri iletimi kesintisiz sürer.
  • Uzaktan kalibrasyon (Sıfır Noktası Ayarla) — WebUI üzerinden pedalları tek tıkla sıfırla.
  • Ölü bölge (deadzone), hassasiyet (sensitivity), aktivasyon noktası, eğim yönü ayarları — gaz ve fren için ayrı ayrı.
  • Direksiyon ölü bölgesi ve yumuşak (smooth) ölçekleme.
  • Canlı WebUI kontrol paneli — pedal/direksiyon durumu, eksen değerleri, kalibrasyon.

Ekran Görüntüleri

💻 WebUI Kontrol Paneli

WebUI Kontrol Paneli

📱 Mobil İstemci Akışı

Bağlantı Ayarları Pedal Seçimi Gaz Aktif Fren Aktif

Teknoloji Yığını

Katman Teknoloji
Mobil uygulama Flutter (Dart)
Sensör okuma sensors_plus (ivmeölçer)
Arka plan servisi flutter_background + wakelock_plus
Bluetooth flutter_blue_classic (RFCOMM/SPP)
web_socket_channel (WebSocket)
Sunucu Python + FastAPI + Uvicorn
Sanal gamepad vgamepad (ViGEm)
Seri port (Bluetooth) pyserial
Fiziksel direksiyon okuma ctypes + Win32 winmm.dll

Dosya Yapısı

.
├── backend_app.py           # FastAPI sunucusu (gamepad + WebSocket + serial)
├── run_backend.bat          # Windows başlatma betiği
├── build_apk.bat            # Flutter APK derleme betiği
├── settings.json            # Çalışma zamanı ayarları
├── requirements.txt         # Python bağımlılıkları
├── templates/
│   ├── dashboard.html       # WebUI kontrol paneli
│   └── pedal.html           # Telefon web istemcisi (opsiyonel)
└── gyro_pedal_app/          # Flutter mobil uygulaması
    ├── lib/main.dart        # Ana uygulama kodu
    ├── pubspec.yaml
    └── android/             # Android platform dosyaları

Kurulum

1. Bilgisayar (Backend)

Gereksinimler:

pip install -r requirements.txt

Sunucuyu başlat:

run_backend.bat

Ardından tarayıcıdan kontrol paneline erişin: http://localhost:8000

2. Telefon (Flutter Uygulaması)

cd gyro_pedal_app
flutter pub get
flutter build apk --release

Üretilen APK: gyro_pedal_app/build/app/outputs/flutter-apk/app-release.apk

Hazır APK'yı backend çalışırken doğrudan indirebilirsiniz: http://localhost:8000/download/gyro-pedal.apk

Bağlantı Kılavuzu

WiFi

  1. Telefon ve bilgisayarı aynı ağa bağlayın.
  2. Uygulamada WiFi seçip bilgisayarın yerel IP'sini girin (örn. 192.168.1.100).
  3. Bağlan deyin ve pedalları atayın.

USB (ADB)

  1. Telefonda USB Hata Ayıklama'yı açın.
  2. run_backend.bat çalışırken adb reverse tcp:8000 tcp:8000 otomatik kurulur.
  3. Uygulamada USB modunu seçin.

Bluetooth Classic (Serial SPP)

  1. Telefonu bilgisayarla Bluetooth üzerinden eşleştirin.
  2. Windows'ta: Bluetooth Ayarları → Diğer Bluetooth Seçenekleri → COM Bağlantı Noktaları → Ekle → "Gelen" ile bir COM portu oluşturun (örn. COM3).
  3. WebUI'deki Bluetooth COM Portu alanına bu portu yazın.
  4. Uygulamada Bluetooth seçip bilgisayarınızı listeden seçin.

Veri Kaynakları & Sorumluluk Reddi

Bu proje tamamen yerel çalışır; üçüncü taraf bir API'ye bağımlı değildir. Tüm sensör verileri kullanıcının kendi telefonlarından gelir ve yerel ağ içinde kalır. Sanal gamepad emülasyonu ViGEmBus sürücüsü üzerinden yapılır; kullanım yalnızca yasal simülasyon/oyun amaçlıdır.

Lisans

Bu proje MIT Lisansı ile lisanslanmıştır.

Değişiklik Günlüğü

Ayrıntılı sürüm geçmişi için CHANGELOG.md dosyasına bakın.

About

Iki Android telefonun jiroskop verisiyle sanal Xbox 360 gamepad (gaz/fren pedali + direksiyon) olusturan surucu sistemi.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages