VDA5050 Visualizer V2


VDA5050 Visualizer Neden Gerekli?

Daha önce bir fleet manager geliştiren birçok mühendis gibi ben de MQTT Explorer kullanıyordum. Ancak bu uygulama her ne kadar pratik ve kullanışlı olsa da, bazı durumlarda tüm sorunlarımızı çözmüyor. Bunun temel nedeni, MQTT Explorer’ın sadece anlık ve kısa mesajları görüntülemek için tasarlanmış olmasıdır.

Bu eksiklikleri fark ettikten sonra, tamamen web tarayıcısı üzerinde çalışan ilk VDA5050 Visualizer versiyonunu geliştirdim. Bu süreçte, ihtiyacım olan önemli özellikleri projeye dahil etmeye özen gösterdim. Örneğin:

State mesajları birçok farklı alan içeriyor ve bunları tek tek aramak yerine, ayrı sekmeler halinde görmek çok daha pratik. (Örneğin, actionStates alanı gibi). Bu nedenle, state mesajlarının daha okunaklı bir şekilde gösterilmesini sağlayan bir özellik ekledim.

Tüm robotların bir arada görselleştirilmesi, action’ların harita üzerinde gösterilmesi gibi özellikler, JSON verilerini okumaktan çok daha anlaşılır hale getiriyor.

İlk versiyon, bu ve benzeri birçok ihtiyacı karşılasa da, önemli bir problem vardı: Bu uygulamayı kullanabilmek için MQTT broker’ınızın verileri WebSocket üzerinden paylaşması gerekiyordu. Bunun temel sebebi ise modern web tarayıcılarının native MQTT protokolünü desteklemiyor olmasıydı.

Native MQTT Desteği İçin Electron Geçişi

Bu problemi çözmek için geçtiğimiz hafta bir araştırmaya girdim ve çözüm olarak Electron kullanarak web uygulamasını bir masaüstü uygulamasına dönüştürmeye karar verdim.

İlk prototip yalnızca native MQTT desteği sunuyordu, ancak ben tarayıcı tabanlı VDA5050 Visualizer’ın da çalışmaya devam etmesini istiyordum. Bu nedenle, farklı iki versiyon geliştirmek yerine tek bir uygulama içerisinde her iki protokolü de destekleyen bir yapı kurmaya karar verdim.

Bununla birlikte, projeyi daha da kullanışlı hale getirmek için birkaç yeni özellik ekledim.

Yeni Özellikler

WebSocket ve Native MQTT Desteği:

  • Artık hem WebSocket tabanlı MQTT hem de native MQTT destekleniyor.
  • Tarayıcı sürümünde sadece WebSocket MQTT aktifken, masaüstü uygulamasında her iki protokol de seçilebilir durumda.

Robot Geçmişi:

  • Her robot için bir history bölümü eklendi ve buradan son 5 mesaj görüntülenebiliyor.

Robot Filtreleme ve Arama:

  • Robotlar sayfalandırılabilir hale getirildi ve arama özelliği eklendi.
  • Artık tek bir robota odaklanmak istediğinizde, tüm listeyi gezmek zorunda kalmayacaksınız.

Order Durumu Takibi:

  • Normalde bir order’ın ilerlemesini anlamak için kaç node’un tamamlandığını manuel olarak kontrol etmek gerekiyordu.
  • Artık progress bar sayesinde bir order’ın durumu görsel olarak takip edilebiliyor.

Mesaj Kopyalama:

  • JSON mesajları tek tıkla kopyalanabiliyor.

VDA5050 Versiyonları Birlikte İzlenebiliyor:

  • V1 ve V2 versiyonları aynı anda görüntülenebiliyor.

Ve belki burada unuttuğum birkaç küçük ek özellik daha…

Katkıda Bulunmak İster misiniz?

Uygulamanın farklı işletim sistemlerine derlenmesi gerekiyor. Ben Ubuntu ve MacOS (ARM) için derlemeleri sağlayabilirim.

Eğer diğer işletim sistemlerine derlemek veya projeye katkıda bulunmak isterseniz, bana LinkedIn veya e-posta üzerinden ulaşabilirsiniz.