Rozwój części interfejsu (frontend) w C+LVGL według makiet w Figma
Wymagana jest realizacja interfejsu aplikacji zgodnie z makietami w Figma na stosie LVGL + C dla Raspberry Pi Zero 2W
Co to jest urządzenie
Raspberry Pi Zero 2W z zainstalowanym obrazem systemu, w którym już zintegrowano LVGL, standardowy interfejs graficzny Raspberry jest wyłączony, a urządzenia wejścia/wyjścia to:
- wyświetlacz 320x480 (sterownik zintegrowany)
- dotyk (zintegrowany w systemie, standardowy sterownik)
- klawiatura membranowa (podłączana przez SPI, API\SDK będzie dostarczone)
- czujnik pomiarowy podłączany przez USB (nie musisz z nim pracować ani realizować protokołu wymiany, będziemy pracować albo z symulatorem czujnika, albo po prostu w kodzie wirtualnie będziesz zakładał, że dane zostały otrzymane).
Co należy zrobić
- Zrealizować interfejs z Figma na urządzeniu z użyciem biblioteki LVGL i języka programowania C (realizacja interfejsu graficznego i logiki). Interfejs musi być w pełni funkcjonalny (wszystkie przejścia między ekranami, wprowadzanie i wyświetlanie wartości, praca z archiwum itp.), ale nie trzeba pracować z rzeczywistymi danymi. Na przykład, realizujesz przycisk "Zapisz" pomiaru, realizujesz interfejs archiwum zapisanych pomiarów, przy tym przycisku zapisz i podczas przeglądania pomiaru po prostu umieszczasz funkcje-zastępniki, które to symulują, w przyszłości tam zostanie dopisany potrzebny kod.
- Komunikacje (wifi, usb, Novotest lab) - na tym etapie nie trzeba w pełni realizować wymiany, wystarczy w pełni zrealizowany interfejs z przeglądem sieci/urządzenia i połączeniem/sparowaniem + programowe zastępniki do podłączenia zewnętrznych bibliotek i/lub uruchomienia zewnętrznego aplikacji i/lub późniejszej realizacji wymiany w C/LVGL.
- Zapisywanie wyników pomiarów w archiwum urządzenia (pamięć) i ich odczyt z archiwum (pamięci) (przegląd zapisanych w Archiwum pomiarów) urządzenia na ekranie urządzenia. Wystarczy, że zrealizujesz interfejs zgodnie z makietami i pozostawisz zastępniki, które symulują zapis na dysk i odczyt z dysku.
- Zapewnić 30 FPS podczas pracy interfejsu. To uzyskuje się automatycznie przy pracy na wskazanym stosie, ale trzeba to wymaganie sformalizować, ponieważ na pewno znajdą się tacy, którzy będą mogli sprawić, że stabilne rozwiązanie przestanie działać stabilnie.
Podsumowując, wynikiem Twojej pracy jest w pełni makieta interfejsu urządzenia zgodnie z Figma, ze wszystkimi ekranami, ze wszystkimi przejściami między ekranami i symulacją wyjścia wartości.
Wynik rozwoju
- Działająca aplikacja na stosie LVGL\C, FPS nie mniej niż 30.
- W aplikacji w pełni zrealizowany interfejs zgodnie z Figma (graficzny i logika działania). Pomiar, kalibracje, archiwum na urządzeniu (zapisywanie, przegląd), ustawienia urządzenia - wszystkie ekrany, wszystkie przejścia między ekranami, symulacja wyjścia wszystkich wartości.
- Komunikacje (USB, Wifi), Archiwum i inne tryby, gdzie wymagane są rzeczywiste dane fizyczne - interfejs - zrealizowany w pełni, dane używasz sam wirtualne + funkcje zastępniki, symulujące odbiór i przesył danych.
Makiety Figma nie są udostępniane publicznie. Jeśli czujesz się na siłach i przede wszystkim masz doświadczenie w realizacji podobnych projektów na wyżej wymienionym stosie - proszę napisz wiadomość prywatną z zapytaniem, podam link i udostępnię dostęp do przeglądania makiet. Bardzo pożądane jest, aby od razu w tym zapytaniu podać przykłady realizacji czegoś podobnego w istocie lub w stosie, albo opisać doświadczenie w rozwoju podobnych projektów.
Dla zrozumienia interfejsu w zasadzie podaję kilka wariantów okien (łącznie będzie ich około pięćdziesięciu).
Pomiar

Archiwum

Ustawienia

-
Dzień dobry.
Mam doświadczenie w pracy z różnymi systemami: zarówno wbudowanymi, jak i stacjonarnymi. Zrobiłem mały program demonstracyjny. Ale ponieważ mój "rpi" jest jeszcze w drodze, pracowałem z tym, co miałem pod ręką: sieciowy mini komputer (SNC Hi3516). Ponieważ mini komputer nie ma wyjść wideo, oprogramowanie demonstracyjne zostało podzielone na dwie części:
1. Na mini komputerze uruchomiony jest graficzny klient - zawiera logikę, używa LVGL, a zawartość bufora graficznego wysyła do serwera graficznego.
2. Zwykły komputer PC pełni rolę serwera graficznego i wysyła zdarzenia z myszy.
Ponieważ linki w ofertach nie są mile widziane, mogę wysłać je w wiadomości prywatnej.
Koszt i terminy zależą od makiet i wymagań dotyczących realizacji: dokładnie tak samo lub aby była taka sama funkcjonalność.
Na przykład strona "Measurements" używa widżetu typu koło, ale z stałymi elementami po bokach - pierwszy i setny. W LVGL nie ma dokładnie takiego widżetu, jest tylko "koło". Ale to nie problem, można zrobić widżet jak na makiecie, składając go z "prymitywów" LVGL.
… Mogę wstępnie ocenić to tak:
1. Strona "Memory & Archive": 100-200 zł.
2. Strona "Measurements": 500-700 zł.
Pod "stroną" rozumie się zarówno obraz, jak i towarzyszący użyteczny kod.
Termin - około miesiąca.
> Zapewnić 30 FPS podczas pracy interfejsu.
#if LV_DEF_REFR_PERIOD > 33
# error "Nie baw się. Zostaw 30 klatek/s."
#endif
-
744 6 0 Cześć!
Już realizowałem dwa zamówienia, w których opracowywałem interfejs graficzny na LVGL dla kontrolerów waveshare esp32, które konfigurowałem do pracy z 30-45 fps (zdjęcia i filmy z projektów do oceny mogę przesłać na prywatną wiadomość). Mam również duże doświadczenie w tworzeniu interfejsów graficznych w C++ Qt i golang fyne (algorytm realizacji interfejsów w LVGL i tych dwóch frameworkach jest bardzo podobny). Nie będzie dla mnie trudne po prostu przenieść wizualizację z figmy na kod C/LVGL.
Mogę rozpocząć rozwój interfejsu na symulatorze, aby nie tracić czasu. Jednak do ostatecznego oddania projektu, gwarancji 30-60 FPS i poprawnej pracy klawiatury membranowej (przez SPI może nie zawsze działać poprawnie) fizycznie potrzebuję samego urządzenia. Już miałem takie doświadczenie pracy przez emulator: ładowanie oprogramowania i konfigurowanie parametrów MK zdalnie, aby wszystko działało - to było bardzo stresujące zarówno dla mnie, jak i dla zleceniodawcy, szczególnie przy niestabilnym internecie przez przerwy w dostawie prądu, dlatego w poprzednich projektach wszyscy zleceniodawcy bezpośrednio wysyłali mi swoje MK przez NP (odpowiednio ja również odsyłałem je z powrotem przez NP).
Koszt mojej pracy ustaliłem warunkowo, ponieważ na razie nie zapoznałem się z zakresem Twojego zadania.
Będę bardzo zadowolony z dalszej pracy nad Twoim projektem!!!
Aktualne zlecenia dla freelancerów w kategorii C i C++
Rewersowe inżynieria konsolowych narzędzi do ankietowania kontrolerów SSD (Flash ID)1. Cel pracy Wydzielenie interfejsu programowania aplikacji (API) do interakcji z kontrolerami SSD/NVMe z dostarczonego zestawu narzędzi konsolowych (Phison, Silicon Motion, Realtek, Maxiotek, Marvell, JMicron itd.). Wynikiem ma być działający kod w języku C/C++ lub dokładna… C i C++, Aplikacje desktopowe ∙ 6 dni 19 godzin temu ∙ 6 ofert |
Opracowanie mapy nasion Minecraft Java / przeglądarki nasion dla strony internetowejOpracowanie mapy nasion Minecraft Java / Podgląd nasion dla strony internetowejOpis projektu Potrzebne jest opracowanie narzędzia opartego na przeglądarce Mapa nasion Minecraft Java / Podgląd nasion, które będzie działać na naszej stronie i pozwoli użytkownikowi wprowadzić… C i C++, Układ HTML i CSS ∙ 7 dni 2 godziny temu ∙ 15 ofert |
Porównawcza analiza efektywności oprogramowania dostosowanego (v2.2-field) i oprogramowania referencyjnego (Meshtastic v2.x)
83 PLN
Porównawcza analiza efektywności oprogramowania dostosowanego (v2.2-field) i oprogramowania referencyjnego (Meshtastic v2.x) na identycznej platformie sprzętowej (ESP32 + SX1268, 2W) według kryteriów zasięgu, przepustowości, stabilności łącza i zużycia energii. Przeprowadzić… C i C++, C# ∙ 11 dni 9 godzin temu ∙ 2 oferty |