Yer İstasyonu Yazılımı (Ground Station)

📌 Hakkında
Bu proje, Teknofest Roket Yarışması kapsamında geliştirilen roketin uçuş verilerini (telemetri) anlık olarak almak, görselleştirmek ve kaydetmek için tasarlanmış profesyonel bir yer istasyonu yazılımıdır. Roket ve faydalı yükten gelen telemetri verilerini gerçek zamanlı olarak alır, TEKNOFEST'in resmi yer istasyonuna aktarır ve görselleştirir.
📸 Ekran Görüntüleri
Ana Kontrol Paneli |
Port Bağlantı Ayarları |
✨ Özellikler
- Gerçek Zamanlı Veri Görselleştirme
- İrtifa, hız, ivme ve sıcaklık grafikleri
- Gyro (açısal hız) verileri
- Sensör değerlerinin anlık gösterimi
- Harita Entegrasyonu
- Folium kütüphanesi ile interaktif harita
- Roket ve faydalı yük konumlarının canlı takibi
- Seri Port İletişimi
- XBee/LoRa modülleri üzerinden veri okuma
- Ayarlanabilir baud rate ve port seçenekleri
- TEKNOFEST Veri Formatı
- Resmi protokole uygun paket oluşturma ve checksum hesaplama
- Durum Takibi
- Roket durumunu (Rampa, Yükselme, Paraşüt, İniş) izleme
- Manuel paraşüt tetikleme kontrolleri
🛠 Gereksinimler
Proje aşağıdaki Python kütüphanelerini kullanır (detaylar için requirements.txt):
Python 3.7+PyQt5: Grafik Arayüz (GUI)PySerial: Seri Port iletişimiFolium: HaritaPyQtGraph: Gerçek zamanlı grafiklerPyQtWebEngine: Harita motoru
📥 Kurulum & Çalıştırma
-
Repoyu Klonlayın:
git clone https://github.com/bahattinyunus/Teknofest_roket_Yer_istasyonu_yazilimi.git cd Teknofest_roket_Yer_istasyonu_yazilimi -
Bağımlılıkları Yükleyin:
pip install -r requirements.txt -
Uygulamayı Başlatın:
python main.py(Alternatif olarak
python yeristasyonu.py)
🎯 Kullanım
- Port Ayarları: Menüden COM portunu ve Baud Rate'i seçip "Bağlan" deyin.
- İzleme: Bağlantı sonrası veriler grafiklere ve haritaya otomatik akar.
- Kontrol: Paraşüt tetikleme butonları aktif hale gelir.
🗂️ Dosya Yapısı
├── main.py # Ana uygulama dosyası
├── yeristasyonu.py # Ana pencere UI mantığı
├── bağlantı_penceresi.py # Port ayarları mantığı
├── data.py # Veri paketleme ve protokol
├── assets/ # Görsel varlıklar (Banner vb.)
└── requirements.txt # Bağımlılık listesi
🎓 Teknik Detaylar
- Mimari: MVC (Model-View-Controller) yapısı
- İş Parçacığı: Thread-safe veri işleme ve GUI güncelleme
🤝 Katkıda Bulunma
Katkılarınızı bekliyoruz! Lütfen CONTRIBUTING.md dosyasını inceleyin.
📄 Lisans
Bu proje MIT Lisansı ile korunmaktadır. Detaylar için LICENSE dosyasına bakınız.
🔗 İlgili Projeler
Bu proje Teknofest Roket Yarışması için geliştirilmiştir. ⭐ Projeyi beğendiyseniz yıldız vermeyi unutmayın! ⭐