Perun - deska rozdzielcza samochodu

Stworzyliśmy rozbudowane, bogate w animacje demo interfejsu HMI dla samochodowej deski rozdzielczej, wykorzystując technologie Qt i Kotlin. Rozwiązanie zostało wdrożone zarówno w systemie Android, jak i w dedykowanym systemie Linux opartym na Yocto.

Qt frameworkYocto

O demie

BRANŻA

Motoryzacja / wbudowane systemy HMI

STOS TECHNOLOGICZNY

Qt 6 · QML · Kotlin Jetpack Compose · Yocto · Android

DOCELOWY SPRZĘT

Toradex Verdin iMX8M Plus

ZAKRES PRAC

Tworzenie wbudowanych interfejsów graficznych | Projektowanie UX/UI | Porównanie rozwiązań wieloplatformowych

Perun to interfejs HMI samochodowej deski rozdzielczej, który nasz zespół stworzył w ramach wewnętrznego projektu. Te samą aplikacje zaimplementowaliśmy dwukrotnie - w Qt 6/QML na dedykowanym systemie Linux opartym na Yocto oraz w Kotlinie na Androidzie. Projekt powstał na potrzeby naszego raportu porównującego technologie Qt i Android.

Wyzwanie projektu

  • Dwukrotne stworzenie tego samego samochodowego interfejsu HMI przy zachowaniu spójności wizualnej i identycznego sposobu działania obu wersji.
  • Przygotowanie środowiska systemowe dla obu platform docelowych - skompilowanie dedykowanego obrazu systemu Linux opartego na Yocto oraz własną wersję Androida, aby uruchomić ten sam interfejs HMI na każdej z nich.
  • Staranne zoptymalizowanie obu aplikacji, tak aby porównanie Qt i Androida było rzetelne i miarodajne.
  • Niemal wszystkie elementy graficzne stworzyliśmy od podstaw - niestandardowe wskaźniki, maskowane wskaźniki poziomu, animowane ścieżki i stylizowane widżety - bez korzystania z gotowych komponentów.

Kluczowe funkcje aplikacji

Prędkościomierz łączy animowaną wskazówkę analogową z dużym, cyfrowym odczytem prędkości, zapewniając kierowcy czytelną informację już na pierwszy rzut oka. Podświetlana skala dynamicznie reaguje na aktualną prędkość, a wskaźnik biegu dostarcza dodatkowych informacji w tym samym, kompaktowym widoku.

Ekran statusu pojazdu prezentuje widok samochodu z góry, pokazując symulowany stan drzwi i bagażnika, ciśnienie w oponach, kondycję akumulatora oraz temperaturę silnika. Wskaźniki animują się wraz ze zmianą danych - między innymi przy otwieraniu i zamykaniu drzwi oraz zmianie stanów systemowych OK/NOK - zapewniając czytelny podgląd aktualnego statusu pojazdu.

Wokół centralnego prędkościomierza rozmieszczono szesnaście wskaźników statusowych i ostrzegawczych obejmujących systemy wsparcia kierowcy, bezpieczeństwa, oświetlenia oraz funkcje pojazdu, takie jak tempomat, asystent utrzymania pasa ruchu czy ABS. Wskaźniki, sterowane symulowanymi danymi z rzeczywistych scenariuszy, dynamicznie prezentują aktywne funkcje, ostrzeżenia i usterki. Podświetlane kierunkowskazy zapewniają dodatkowo czytelną informację o kierunku jazdy.

Sekcja ta wizualizuje symulowane dane pojazdu, w tym moc wyjściową, zużycie energii, poziom naładowania baterii, przewidywany zasięg oraz status ładowania. Animowane, maskowane wskaźniki prezentują bieżące wartości w kW i kWh, a wskaźnik baterii łączy procent pozostałego naładowania z szacowanym zasięgiem pojazdu.

Panel nawigacji prezentuje zaplanowaną trasę w formie dynamicznie rysowanej ścieżki, a animowany znacznik pojazdu pokazuje jego postęp oraz kierunek jazdy. Ekran wyświetla również najważniejsze informacje o podróży, w tym pozostały dystans, czas trwania przejazdu oraz szacowany czas dotarcia do celu.

Raport PDF

Aplikację opracowaliśmy zarówno w Qt, jak i na Androidzie z wykorzystaniem Kotlin Jetpack Compose, aby sprawdzić, jak obie platformy radzą sobie w identycznych warunkach. Wyniki są ekscytujące.

Zapoznaj się z pełnym raportem i porównaj oba stosy technologiczne pod kątem nakładu pracy, responsywności interfejsu, zużycia zasobów oraz praktycznych kompromisów związanych z wdrożeniem na sprzęcie wbudowanym.

  • Na podstawie rzeczywistych testów wydajnościowych
  • Konkretne dane zamiast opinii
PRZECZYTAJ RAPORT QT VS ANDROID

Przedsmak wyników

Stabilne 59 FPS

Qt utrzymywało stabilne około 59 FPS, podczas gdy wersja na Androida osiągała około 32 FPS na tym samym sprzęcie. Płynne przejścia bez widocznych przycięć animacji.

34% wykorzystania procesora

Średnie wykorzystanie procesora przez aplikację Qt wynosiło około 34%, w porównaniu z około 41% w przypadku Androida. Pozostawia to więcej zasobów na realizację innych zadań, w tym funkcji o krytycznym znaczeniu dla bezpieczeństwa.

10 sekund do pełnego uruchomienia

Wersja Qt działająca w systemie Yocto wyświetlała aplikacje po około 10 sekundach. To niemal cztery razy szybciej niż wersja na Androida, której uruchomienie zajmowało około 40 sekund. Ma to kluczowe znaczenie w systemach, w których ekran musi być dostępny niemal natychmiast.

109 MB pamięci

Wersja Qt zajmowała około 109 MB pamięci, podczas gdy aplikacja na Androida wykorzystywała około 161 MB. W przypadku wdrożeń obejmujących dużą liczbę urządzeń każdy megabajt może wpływać na wybór sprzętu i całkowity koszt rozwiązania.

Wspierane platformy

  • Zweryfikowano i przetestowano na: Toradex Verdin iMX8M Plus, NXP i.MX 8M Plus Processor, Quad-core Arm Cortex-A53 @ 1.8 GHz + Cortex-M7 @ 800 MHz
  • Android OS i własny obraz Yocto Linux
  • Dowolna platforma embedded Linux obsługująca Qt6 i wyposażona w sterownik wyświetlacza z obsługą OpenGL
  • Dowolna platforma desktopowa (macOS / Linux / Windows)

Autorski projekt w Figmie

Każdy element deski rozdzielczej Perun został zaprojektowany przez nasz zespół w Figmie. Rozbudowany wizualnie interfejs w ciemnej stylistyce, oparty na wielowarstwowych gradientach, subtelnych cieniach, podświetlanych wskaźnikach i płynnych animowanych przejściach. Odwzorowanie tych efektów z zachowaniem ostrości i płynności na sprzęcie wbudowanym to moment, w którym projektowanie spotyka się z inżynierią. Właśnie taki poziom dopracowania zapewniamy kompleksowo - od koncepcji po wdrożenie.

Oferujemy również projektowanie UI/UX jako niezależną usługę, dopasowaną do produktu, marki i docelowej platformy sprzętowej.

POROZMAWIAJMY

Porozmawiajmy o Twoim projekcie

Łukasz Kosiński

Łukasz Kosiński

CEO, Somco Software

Na co dzień pracujemy z Qt i oprogramowaniem wbudowanym. Trzykrotnie otrzymałem tytuł Qt Champion.

Wiadomości wysłane przez ten formularz trafiają bezpośrednio do mojej skrzynki odbiorczej. Czytam je i odpowiadam na nie - zazwyczaj w ciągu jednego dnia roboczego.

Połącz się ze mną na LinkedIn

Administratorem danych osobowych jest Somco Software sp. z o.o., ul. Gen. Ottokara Brzozy-Brzeziny 13, 05-220 Zielonka, KRS: 855688. Dane osobowe przetwarzane są w celu udzielenia odpowiedzi na pytanie zawarte w formularzu kontaktowym. Więcej informacji, w tym opis praw przysługujących osobom, których dane dotyczą, jest dostępnych w klauzuli informacyjnej.