Mühendislik dünyasında "laboratuvarda çalışıyor" cümlesi, yolculuğun henüz küçük bir bölümünün tamamlandığını gösteren tatlı bir yanılsamadır. Gerçek sınav, cihazın belediye otobüsünün motor dairesine monte edildiği ve zor saha koşullarında veri üretmeye başladığı anda başlar.
Bu yazıda, M4 Core'un ilk pilot uygulamasında gerçek filo verisiyle karşılaştığımızda edindiğimiz saha derslerini ve bu zorlukları nasıl kalıcı mühendislik çözümlerine dönüştürdüğümüzü paylaşıyoruz.
İlk Pilot: Gerçek Filo Verisiyle Çalışmanın Öğrettikleri
Simülatör üzerinde her şey kusursuz görünüyordu. Mimari saniyede binlerce CANBUS mesajını normalize ediyor, MQTT ile buluta aktarıyor ve gösterge panellerinde temiz grafikler üretiyordu. Ancak ilk 10 araçlık filomuz trafiğe çıktığı gün, gerçek dünya laboratuvarın öğretemeyeceği net dersler verdi.
1. Bağlantı: "Always On" Bir Hayaldir
Laboratuvarda bağlantı kopmasını edge-case kabul edersiniz; sahada ise bu bir normdur.
- Sorun: Tünel girişleri, baz istasyonu geçişleri ve düşük kapsama bölgelerinde paket kayıpları.
- Çözüm: Store-and-Forward katmanını yeniden tasarladık. Yerel SQLite tamponu ile veriyi "teslim edilmedi" durumunda saklayıp bağlantı geri geldiğinde önceliklendirilmiş kuyrukla güvenli biçimde ilettik.
2. Elektromanyetik Gürültü ve "Hayalet" Mesajlar
Masa üstü CAN simülasyonu ile elektrikli otobüs üzerindeki gerçek hat davranışı aynı değildir.
- Sorun: Motor yüklenmelerinde CAN hattında parazit kaynaklı anlamsız mesajlar.
- Çözüm: Yazılım katmanına dijital düşük geçişli filtreler ekledik; fiziksel olarak imkansız sıçramaları anomali kabul ederek eledik.
3. GPS ve "Şehir Kanyonları" Etkisi
Binalar arası sinyal yansıması, araç konumunu harita üzerinde yanlış noktalara taşıyabiliyor.
- Sorun: Durak giriş-çıkış algoritmalarında yanlış alarmlar.
- Çözüm: Dead Reckoning yaklaşımıyla CAN hız verisi ve IMU yön bilgisini GPS ile birleştirip Kalman filtresi uyguladık.
4. CPU ve Isınma: Fanlı Soğutma Lüksü Yoktur
Laboratuvar ortamı kontrollüdür; araç içi telemetri kutusu ise yaz sıcağı ve kapalı metal bölmelerde çalışır.
- Sorun: Isınma kaynaklı performans düşüşü ve veri kaybı riski.
- Çözüm: Ağır servisleri optimize ederek daha verimli dillere taşıdık; CPU kullanımını dramatik şekilde düşürdük ve pasif soğutma altında stabil çalışma sağladık.
5. İnsan Faktörü: Sürücü Davranışı
Veri, sadece teknik bileşenlerden etkilenmez; kullanıcı davranışı da kritik bir değişkendir.
- Gözlem: Bazı durumlarda cihazın beslemesine veya GPS antenine müdahale girişimleri.
- Çözüm: Tamper Detection ekledik. Güç kesildiğinde dahili batarya ile merkeze sinyal gönderen ve GPS körlüğünü müdahale olarak raporlayan mantık kurduk.
Sonuç: Sahadan Gelen Bilgelik
İlk pilot bittiğinde elimizde laboratuvardakinden çok farklı bir ürün vardı: daha dayanıklı, daha şüpheci ve daha akıllı. En kritik dersimiz şuydu: IoT projelerinde başarı, en sofistike algoritmayı yazmak değil; en kötü saha koşulunda bile anlamlı ve sürekli veri üretebilmektir.