Разработка интерфейсной части (frontend) на C+LVGL по макетам в Figma
Необходимо реализовать интерфейс приложения в соотвествии с макетами в Figma на стеке LVGL + C под Raspberry Pi Zero 2W
Что представляет собой устройство
Raspberry Pi Zero 2W с установленным образом системы, в котором уже интегрирован LVGL, отключен стандартный графический интерфейс Raspberry и есть следующие устройства ввода-вывода:
- дисплей 320х480 (драйвер интегрирован)
- тач (интегрирован в систему, стандартный драйвер)
- мембранная клавиатура (подключается по SPI, API\SDK будет предоставлен)
- измерительный датчик, подключаемый по USB (вам не нужно будет с ним работать и реализовывать протокол обмена, будем работать либо с имитатором датчика либо просто в коде виртуально будете считать, что данные получены).
Что нужно сделать
- Реализовать интерфейс из Figma на устройстве с использованием библиотеки LVGL и языка программирования С (реализация графического интерфейса и логики). Интерфейс должен быть полностью функционален (все переходы между экранами, ввод и отображение значений, работа с архивом и т.д.), но с реальными данными работать не нужно. Например, вы реализовываете кнопку "Сохранить" замер, реализовываете интерфейс архива сохраненных замеров, при этом по кнопке сохранить и при просмотрел замера просто ставите функции-заглушки, которые имитируют это, в дальнейшем там будет дописан нужный код.
- Коммуникации (wifi, usb, Novotest lab) - на данном этапе полноценно реализовывать обмен не нужно, достаточно просто реализованного полностью интерфейса с обзором сетей\устройство и подключением\сопряжением + программными заглушками для подключения внешних библиотек и\или запуска внешнего приложение и\или последующей реализации обмена на С\LVGL.
- Сохранение результатов замеров в архив устройства (память) и чтение их из архива(памяти) (просмотр сохраненных в Архив замеров) устройства на экране устройства. Вам достаточно реализовать интерфейс согласно макетов и оставить заглушки, которые имитируют запись на диск и чтение с диска.
- Обеспечить 30 FPS при работе интерфейса. Это получается автоматически при работе на указанном стеке, но нужно написать это требование формально, потому что обязательно найдутся те, кто сможет и тут сделать так, чтобы стабильное решение перестало работать стабильно.
Итого, результат вашей работы это полностью макет интерфейса прибора согласно фигма, со всеми экранами, со всеми переходами между экранами и имитацией вывода значений.
Результат разработки
- Работающее приложение на стеке LVGL\C, FPS не менее 30.
- В приложении полностью реализованный интерфейс согласно Figma (графический и логика работы). Измерение, калибровки, архив на устройстве(сохранение, посмотр), настройки устройства - все экраны, все переходы междку экранами, имитация вывода всех значений.
- Коммуникации (USB, Wifi), Архив и прочие режимы где требуются реальные физические данные - интерфейс - реализован полностью, данные используете сами фиртуальные + функции заглушки, иммитирующие получение и передачу данных.
Макеты Figma в открытый доступ не выкладываю. Если вы чувствуете в себе силы и главное имеете опыт реализации подобного на вышеуказанном стеке - прошу написать личное сообщение с запросом, я дам ссылку и предоставлю доступ для просмотра макетов. Очень желательно сразу же тут в запросе указать примеры реализаций чего то близкого по сути или по стеку либо описать опыт в разработке подобного.
Для понимания интерфейса в принципе даю несколько вариантов окон (всего будет полсотни).
Измерение

Архив

Настройки

-
Добрый день.
Есть опыт работы с разными системами: и встроенными, и настольными. Сделал небольшую демонстрационную программу. Но т. к. моя "рпи" пока в пути,
то работал с тем, что есть под рукой: сетевой миникопьютер (СНК Hi3516). Поскольку миникомп не имеет видеовыходов, то демонстрационное ПО
разделено на две части:
1. на миникомпе запущен графический клиент - содержит логику, использует LVGL, а содержимое графического буфера отправляет графическому серверу.
2. обычный ПК выступает графическим сервером и отправляет события от мыши.
Поскольку ссылки в ставках не приветствуются, то могу отправить её в личном сообщении.
… Стоимость и сроки зависят от макетов и требований к реализации: точь в точь или чтобы такая же функциональность была.
Например, страничка "Measurements" использует виджет типа колеса, но с постоянными элементами по краяме - первый и сотый. В LVGL точно такого
виджета нет, есть только "колесо". Но, это не проблема, можно сделать виджет как на макете, составив его из "примитивов" LVGL.
Приблизительно могу оценить так:
1. Страничка "Memory & Archive": 100-200 грн.
2. Страничка "Measurements": 500-700 грн.
Под "страничкой" подразумевается как изображение, так и сопутствующий полезный код.
Срок - приблизительно месяц.
> Обеспечить 30 FPS при работе интерфейса.
#if LV_DEF_REFR_PERIOD > 33
# error "Не балуй. Оставь 30 кадр/с."
#endif
-
744 6 0 Здравствуйте!
Уже делал два заказа, где разрабатывал графический интерфейс на LVGL под waveshare esp32 контроллеры, которые я настраивал на работу с 30-45 фпс (фото видео проектов на оценку могу скинуть в личку). Так же имею большой опыт в создании графических интерфейсов на С++ Qt и golang fyne (у LVGL и этих двух фреймворков очень схожий алгоритм реализации интерфейсов). Для меня не будет сложным просто перенести визуал с фигмы на Си/LVGL код.
Могу начать разработку интерфейса на симуляторе, чтобы не терять время. Однако для финальной сдачи проекта, гарантии 30-60 FPS и корректной работы мембранной клавиатуры (по SPI она может не всегда работать корректно) мне физически необходимо само устройство. Уже имел такой опыт работы через эмулятор: загрузка прошивки и настройки параметров МК дистанционно чтоб все работало - это было очень стрессово как для меня, так и для заказчика, особенно с нестабильным интернетом через отключения света, поэтому в предыдущих проектах все заказчики мне на прямую отсылали свои МК по НП (соответственно я им отсылал обратно тоже по НП).
Стоимость моей работы поставил условную, так как пока не ознакомлен с объемом Вашей задачи.
Буду очень рад подальшей работе над Вашим проектом!!!
Актуальные фриланс-проекты в категории C и C++
Реверс-инжиниринг консольных утилит для опроса контроллеров SSD (Flash ID)1. Цель работы Выделение программного интерфейса (API) взаимодействия с контроллерами SSD/NVMe из предоставленного набора консольных утилит (Phison, Silicon Motion, Realtek, Maxiotek, Marvell, JMicron и др.). Результатом должно стать рабочий код на языке C/C++ или точная… C и C++, Десктопные приложения ∙ 5 дней 17 часов назад ∙ 6 ставок |
Разработка карты семян Minecraft Java / просмотрщика семян для сайтаРазработка карты семян Minecraft Java / Seed Viewer для сайтаОписание проекта Необходимо разработать браузерный инструмент Minecraft Java Seed Map / Seed Viewer, который будет работать на нашем сайте и позволит пользователю ввести семя Minecraft Java Edition и просмотреть… C и C++, HTML и CSS верстка ∙ 5 дней 23 часа назад ∙ 14 ставок |
Сравнительный анализ эффективности кастомного ПО (v2.2-field) и эталонного ПО (Meshtastic v2.x)
1000 UAH
Сравнительный анализ эффективности кастомного ПО (v2.2-field) и эталонного ПО (Meshtastic v2.x) на идентичной аппаратной платформе (ESP32 + SX1268, 2W) по критериям дальности, пропускной способности, стабильности линка и энергопотребления. Провести тесты с замерами с учетом… C и C++, C# ∙ 10 дней 6 часов назад ∙ 2 ставки |
Консультация и аудит текущего проекта на Odoo 19 Community EditionИщем Odoo разработчика — соло-разработчика с опытом разработки на Odoo 19 Community Edition, в том числе с использованием Claude Code. Нам нужен специалист, который успешно реализовал проекты в Odoo и имеет практический опыт разработки с использованием Claude Code. Важно:… C и C++, Javascript и Typescript ∙ 13 дней 8 часов назад ∙ 8 ставок |