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.
BRANŻA
Motoryzacja / wbudowane systemy HMISTOS TECHNOLOGICZNY
Qt 6 · QML · Kotlin Jetpack Compose · Yocto · AndroidDOCELOWY SPRZĘT
Toradex Verdin iMX8M PlusZAKRES PRAC
Tworzenie wbudowanych interfejsów graficznych | Projektowanie UX/UI | Porównanie rozwiązań wieloplatformowychPerun 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.
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.
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.
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.
Ś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.
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.
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.
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.
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