UI на ESP32 своими руками при помощи LVGL

แชร์
ฝัง
  • เผยแพร่เมื่อ 21 พ.ย. 2023
  • kirill.ivanychev.tilda.ws
    Помогу создать прототип электронного устройства как Разработчик или Консультант
    🔥 В ЭТОМ ВИДЕО я покажу как быстро создать UI для вашего проекта на чипах ESP32 используя заготовку проекта на базе LVGL версии 7.11.
    ТАЙМ КОДЫ
    -------------------------------------
    0:06 Вспоминаем про SquareLine Studio
    1:05 Состав экрана моего проекта
    1:45 Где взять демо-проект lv_port_esp32
    3:17 Настраиваю свой проект на работу с LVGL
    5:16 Создаю базу кода LVGL в моем проекте
    8:17 Создаю виджеты. Описание LVGL
    11:41 Привязываю UI к светодиоду
    12:30 Тест
    🔀 LINKS
    -------------------------------------
    Демо-проект на GitHub:
    github.com/lvgl/lv_port_esp32
    Описание виджетов на сайте LVGL:
    docs.lvgl.io/7.11/
    🔀 ЧЕМ МОГУ ПОМОЧЬ
    -------------------------------------
    Создать прототип умного устройства: kirill.ivanychev.tilda.ws
    Помогу быстро въехать в разработку на ESP32: kirill.ivanychev.tilda.ws/coac...
    kirill.ivanychev.tilda.ws
    🤝 ПОДДЕРЖИ МОЙ ПРОЕКТ
    -------------------------------------
    donate.stream/ot_idei_do_zheleza
    #arduino #отидеидожелеза #easyeda #ESP32

ความคิดเห็น • 23

  • @alexshield1429
    @alexshield1429 6 หลายเดือนก่อน +2

    Спасибо! надеюсь будет продолжение с более сложным примером и при помощи SquareLine Studio

  • @ruslanmaksimenko9493
    @ruslanmaksimenko9493 6 หลายเดือนก่อน +2

    Канал изобилует темой ESP32.
    Пожалуй подпишусь)

  • @vetaliv4696
    @vetaliv4696 17 วันที่ผ่านมา

    Неожиданно 😂. Тулчейн в виндус 🤣

  • @smokecustom
    @smokecustom 3 หลายเดือนก่อน +1

    Пожалуйста, шушуть добавьте задержку к звуковой дорожке, рассинхрон с картинкой ломает мозг, а тема-то крайне интересная, оторваться не могу!

  • @m3izm3iz85
    @m3izm3iz85 4 หลายเดือนก่อน +1

    Здравствуйте! Скажите пожалуйста, можно ли управлять esp32 через яндекс колонку по протоколу zigbee

    • @kirill-ivanychev
      @kirill-ivanychev  4 หลายเดือนก่อน

      Да, можно.
      Esp32-h2 и ESP32-C6 разработаны для этой цели.

    • @m3izm3iz85
      @m3izm3iz85 4 หลายเดือนก่อน +1

      @@kirill-ivanychev спасибо большое за ответ!

  • @Amigo5946
    @Amigo5946 หลายเดือนก่อน +2

    советую GUI-Guider от NXP как редактор UI и генератор кода LVGL

    • @kirill-ivanychev
      @kirill-ivanychev  หลายเดือนก่อน +1

      Он может генерировать код для ESP32?

    • @Amigo5946
      @Amigo5946 หลายเดือนก่อน +2

      @@kirill-ivanychev без разницы какой камень, он генерирует несколько фалов с UI и калбеками действий. Копируешь в свой проект просто

  • @OpenFrimeTVcom
    @OpenFrimeTVcom 6 หลายเดือนก่อน +2

    вот это я понимаю контент, а не все эти ваши Ардуино))

  • @user-ul5ds9uv8u
    @user-ul5ds9uv8u 5 หลายเดือนก่อน +1

    Я завел LVGL на esp32-s3 с дисплеем, у которого разрешение 800х480. Итог - 4 fps (((
    Сейчас в поисках SoC, на котором LVGL заведется без тормозов и без linux

    • @kirill-ivanychev
      @kirill-ivanychev  5 หลายเดือนก่อน

      Вы можете попробовать экран с параллельным интерфейсом, у которого скорость обмена в 8-10 раз выше чем у SPI.
      SPI экраны на такое разрешение используют, если нужно получить более дешёвый вариант системы и требования к быстродействию системы не высоки

    • @user-ul5ds9uv8u
      @user-ul5ds9uv8u 5 หลายเดือนก่อน

      @@kirill-ivanychev экран с параллельным интерфейсом.
      Я разместил график на весь экран, который постоянно обновлялся, поэтому LVGL перерисовывал весь фреймбуфер целиком.
      Фреймбуфер лежал во внешней RAM и перекачивался в дисплей через DMA.
      Как вариант можно попробовать параллельную отрисовку и закачку фреймбуфера в дисплей. Для этого потребуется буфер-качели. Но что-то мне подсказывает, что оно того не стоит, производительность особо не вырастет.
      Я уже все пересмотрел на ютубе по lvgl, везде тормоза, и единственная baremetal железка, которая тянет эту библиотеку - это плата на allwinner v3s. На одном канале пользователь завел на ней freertos + lvgl. На этой же плате запускают linux + lvgl, но производительность графики при этом падает.
      Такие дела.

    • @gt540gfx
      @gt540gfx 5 หลายเดือนก่อน

      У всех stm есть параллельный интерфейс и экранов под него полно, скорость передачи ограничена экранами, но она там все равно большая, ибо параллельно 16 бит. У esp32s3 тоже есть параллельный интерфейс но в ее случае почти все ножки на него уйдут. Еще лучше в плане графики это RGB интерфейс по ножкам тоже самое теже же 16 бит, но изображение хранится в самом МК что дает больше возможностей в плане слоев, прозрачности но памяти оперативной нужно много …. А для spi хорошо только 320х240, уже 320х480 кадров 8 дает всего. Если кнопки еще куда не шло, а вот графики такое себе

    • @user-ul5ds9uv8u
      @user-ul5ds9uv8u 5 หลายเดือนก่อน

      ​@@gt540gfxя все это знаю и работал с разными дисплейными интерфейсами, вплоть до LVDS, MIPI, и eDP. SPI, I2С я даже никогда не рассматривал. На таких камнях, как ESP, при работе с большим разрешением и сложной графикой максимум что можно сделать - это перекачивать готовые картинки на экран. Так работают дисплеи DWIN, например. Ну а для того, чтобы отрисовывать графику программно с LVGL нужен мощный камень. Я закономерно получил 4 fps esp32-s3 на дисплее с разрешением 800х480. На stm32f103 я работал с монохромным дисплеем 160х128. Та же беда, главный тормоз - это заполнение фреймбуфера, отрисовка в нем шрифтов и графических примитивов.
      В итоге я пришел к выводу, что плавную красивую графику на дохлом железе не отрисуешь. Если нет GPU, всегда упираешься в герцы. Устройства, с плавным качественным GUI сделаны в основном на Android на соответствующем железе.

    • @Amigo5946
      @Amigo5946 หลายเดือนก่อน

      @@kirill-ivanychev вот взял себе ESP32S3 с 800*480 дисплеем, интерфейс парраллельный, пример от ESP запустил, дико лагает, на СТМ32 гораздо лучше работает, либо пример кривой, хотя там по сути только настройка интерфейса и описание 2х функция работы с экраном, либо есп для UI такое себе

  • @hellohost7870
    @hellohost7870 6 หลายเดือนก่อน +1

    Это фронтенд?

    • @kirill-ivanychev
      @kirill-ivanychev  6 หลายเดือนก่อน

      Можно и так назвать