KENMAST Mobil Uygulama: CANopen Protokolü kullanarak Telefondan Veri İzleme

Merhaba, ben Mehmet Altunbaş. Kütahya Dumlupınar Üniversitesi Bilgisayar Mühendisliği öğrencisiyim. 2025 yaz döneminde Elfatek Elektronik bünyesinde gerçekleştirdiğim yazılım stajında, KENMAST  isimli mobil uygulamanın geliştirilmesi üzerine çalıştım. Bu yazıda, staj süresince elde ettiğim deneyimleri ve geliştirdiğimiz uygulamanın teknik detaylarını paylaşmak istiyorum.


📌 Projenin Amacı

KENMAST, endüstride kullanılan CAN Bus tabanlı cihazların USB üzerinden mobil cihazlara bağlanarak yönetilmesi, izlenmesi ve konfigüre edilmesi amacıyla geliştirilen bir uygulamadır. Böylece kullanıcılar, masaüstü bilgisayar yerine doğrudan Android cihazları üzerinden cihazlarını kolayca yönetebilirler.


🔧 Çalışma Konularım

Stajım boyunca proje kapsamında hem teknik geliştirmeler hem de arayüz tasarımları üzerinde çalıştım. Öne çıkan başlıklar şunlardı:

  • Flutter & Dart ile Mobil Uygulama Geliştirme
    Tek kod tabanı sayesinde hem Android hem iOS uyumlu uygulama geliştirme imkânı sunan Flutter üzerinde çalışarak UI/UX deneyimi kazandım.

  • USB-OTG ile Haberleşme
    Android cihazlarda OTG desteği kullanılarak Delocan cihazı ile doğrudan iletişim sağladım. Bunun için usb_serial kütüphanesini projeye entegre ettim ve seri port haberleşmesini yönettim.

  • CANopen ve CANBus Protokolü
    Endüstride yaygın olarak kullanılan bu iletişim protokollerini araştırdım ve mobil uygulamaya entegre ettim. Özellikle Object Dictionary yapısı ve SDO/PDO mesajları üzerine yoğunlaştım.

  • Gerçek Zamanlı Veri Takibi (RollingTrace)
    CAN mesajlarının anlık olarak izlenebilmesi için RollingTrace ekranını geliştirdim. Kullanıcı, gelen verileri canlı şekilde görebiliyor, kaydedebiliyor ve daha sonra analiz edebiliyor.

  • EDS/DCF Dosya Yönetimi
    Cihazların tanımlayıcı dosyalarını (EDS/DCF) uygulamaya entegre ederek cihaz bilgilerini dinamik olarak gösterebilen bir sistem geliştirdim.

  • Çoklu Dil ve Güvenlik
    Uygulamaya çoklu dil desteği ekledim ve cihaz bağlantısında güvenliği artırmaya yönelik optimizasyonlar yaptım.


🎨 Arayüz Geliştirmeleri

Kullanıcı deneyimini iyileştirmek için:

  • Bağlantı ayarları sayfası (baud rate, parity, stop bit ayarları)

  • CAN mesaj izleme ekranı (Rolling Trace & Fixed Trace)

  • Kaydedilen veriler sayfası ve paylaşım özelliği

  • Device Settings menüsü (CANopen komut butonları: Start, Stop, Reset, Pre-Operational)

tasarımlarını hayata geçirdim.


🚀 Kazandığım Deneyimler

Bu staj sayesinde yalnızca mobil yazılım geliştirmeyi değil, aynı zamanda endüstriyel haberleşme standartlarını da öğrenme fırsatım oldu. Şu konularda kendimi geliştirdim:

  • Flutter ile platform bağımsız mobil geliştirme

  • USB-OTG tabanlı cihaz haberleşmesi

  • CANopen protokolü ve DCF/EDS dosyalarının kullanımı

  • Gerçek zamanlı veri işleme ve görselleştirme

  • Proje yönetimi, problem çözme ve ekip çalışması


🎯 Sonuç

Elfatek Elektronik’te yaptığım bu staj, bilgisayar mühendisliği eğitimimde edindiğim teorik bilgileri gerçek bir projede uygulama fırsatı sundu. Endüstriyel alanda kullanılan bir ürünün geliştirilmesine katkı sağlamak benim için çok değerli bir deneyim oldu.

Gelecekte yazılım alanında çalışırken bu tecrübemin hem teknik anlamda hem de iş disiplininde bana yol göstereceğine inanıyorum.