Оглавление:

ESP32 Photo Clock: 9 шагов (с изображениями)
ESP32 Photo Clock: 9 шагов (с изображениями)

Видео: ESP32 Photo Clock: 9 шагов (с изображениями)

Видео: ESP32 Photo Clock: 9 шагов (с изображениями)
Видео: Делаем крутую фоторамку с часами на ESP32, M5Stack или esp8266 2024, Ноябрь
Anonim
Image
Image
ESP32 Фото Часы
ESP32 Фото Часы

В этой инструкции показано, как использовать ESP32 и ЖК-дисплей для создания фоточасов. По-японски это называется Бидзин Токэй (美人 時 計).

Шаг 1. Что такое BiJin ToKei?

Что такое BiJin ToKei?
Что такое BiJin ToKei?

BiJin ToKei (美人 時 計), начиная с 2009 года, они находят, что различные красоты проводят время отчета табло времени каждую минуту. BiJin ToKei предоставляет версию веб-приложения и мобильного приложения. По прошествии этих лет вы можете найти множество вариантов в сети.

Ссылка:

www.bijint.com

ja.wikipedia.org/wiki/BIJIN%26Co.

itunes.apple.com/us/app/bijin-tokei-plus/i…

deadoralive.wikia.com/wiki/Bijin_Tokei

twitter.com/search?q=%23bijintokei

Шаг 2: Почему ESP32?

Почему ESP32?
Почему ESP32?

Изначально BiJin ToKei предоставляет версию веб-приложения и мобильного приложения. Это красивые часы, но очень сложно использовать экран рабочего стола или мобильный телефон в качестве часов в долгосрочной перспективе.

Как насчет ESP32 и крошечного ЖК-дисплея, он стоит всего около 10 долларов, эта цена вполне оправдана.

Шаг 3: подготовка

Подготовка
Подготовка
Подготовка
Подготовка
Подготовка
Подготовка

Плата ESP32

Любая плата разработки ESP32 с контактами SPI должна быть в порядке.

ЖК-дисплей

ESP32_TFT_Library может поддерживать ILI9341, ILI9488, ST7789V и ST7735. На этот раз я использую 2,4-дюймовый ЖК-дисплей ST7789V, номер модели JLX240-00302-BN. Эта модель предназначена только для SPI, поэтому у нее всего 10 контактов (на самом деле 9 контактов). Это может облегчить пайку.

Обновление: я также попробовал ЖК-дисплей с диагональю 3,2 дюйма, номер модели JLX320-00202.

Выставочная витрина

Вы можете повторно использовать любой старый материал в руке в качестве простой подставки, например мобильный стенд. У меня в руке сломанный держатель для именной бирки, он идеально подходит для этой работы!

Другие

Резистор на 10 Ом и медный провод с покрытием.

Шаг 4: Дизайн

Дизайн
Дизайн

Фото часы требуют возможности отображать фото. Фотография на www.bijint.com находится в формате JPG, поэтому мне нужна библиотека для декодирования и отображения JPG. Я давно ищу соответствующую библиотеку, пока ESP32 не стал популярным.

ESP32 - это первый чип для любителей, у которого есть полноценное решение для отображения изображений в формате-j.webp

Итак, этот проект начинается с ESP32_TFT_library Лобориса.

Вот последовательность действий программы:

  1. Подключить WiFi
  2. Узнать текущее время по протоколу NTP
  3. Составьте строку часа и минуты, чтобы сформировать URL-адрес изображения текущего времени, а затем извлеките его с www.bijint.com каждую минуту.
  4. Сохраните файл изображения-j.webp" />
  5. Показать файл jpg

Обновление: последний код также поддерживает прямое декодирование HTTP-ответа-j.webp

Дизайн относительно деталей:

  1. Wi-Fi и подключение к Интернету не на 100% надежны, и я не хочу, чтобы часы зависали в неподходящее время, поэтому при возникновении какой-либо ошибки (например, сбой поиска DNS, сбоя NTP, сбоя загрузки) программа запускает перезапуск и делает это снова.
  2. Каждая минута единовременного снимка означает 1440 снимков в день, встроенная вспышка ESP32 не может вместить сотни мегабайт снимков. Таким образом, часы не могут предварительно выбрать все изображения, но они могут каждый раз извлекать изображение, отображать его, а затем очищать.
  3. Флэш-память легко изнашивается от последующей перезаписи, поэтому программа меняет файлы кэша, чтобы избежать записи в одно и то же место каждую минуту.
  4. Размер изображения больше, чем разрешение ЖК-дисплея, поэтому для отображения необходимо уменьшить изображение до половины.
  5. Встроенная настройка часового пояса ESP-IDF работает не так, как ожидалось, поэтому требуется настроить часовой пояс с помощью специального кода.
  6. Время загрузки файла требует 10-50 секунд (зависит от размера файла и сети), поэтому я увеличил время на 20 секунд (настраивается) от реального времени, чтобы преодолеть эту задержку.

Шаг 5: Загрузите, скомпилируйте, прошейте и запустите программу

Загрузите, скомпилируйте, прошейте и запустите программу
Загрузите, скомпилируйте, прошейте и запустите программу

Настройка ESP-IDF (если еще не):

  • Руководство по установке Windows
  • Руководство по установке Mac OS
  • Руководство по установке Linux

Загрузите исходный код здесь:

github.com/moononournation/ESP32_BiJin_ToK…

Конфигурация:

сделать menuconfig

  • config последовательный порт

    1. выберите "Serial Flasher Config"
    2. выберите "Последовательный порт по умолчанию"
    3. заполните последовательный порт платы ESP32, например COM6 в Windows; /dev/cu. SLAB_USBtoUART в macOS
  • конфигурация WiFi

    1. выберите "Конфигурация BiJin Tokei"
    2. введите свои собственные «WiFi SSID» и «WiFi Password»

Настройка

Модифицировал "partitions.csv", отрегулировал размер хранилища. (максимум 0x100000 для 2M и 0x300000 для 4M)

хранилище, данные, spiffs, 0x100000, 0xF0000, Изменен "main / bijin_tokei.c"

определить, сколько файлов кеша будет использоваться, в зависимости от размера хранилища SPIFFS. Или установите значение 0 для прямого декодирования HTTP-ответа-j.webp" />

#define CACHE_COUNT 0

Выберите и раскомментируйте один из URL-адресов TOKEI LIST или введите свой собственный URL-адрес:

статический константный символ * REQUEST_FORMAT =

Скомпилируйте, прошейте и запустите программу:

сделать монитор вспышки

Шаг 6: пайка

Паяльные работы
Паяльные работы
Паяльные работы
Паяльные работы
Паяльные работы
Паяльные работы

Наклейте плату ESP32 на заднюю часть ЖК-дисплея и припаяйте медным проводом с покрытием.

Подключение очень простое, но контакты ЖК-дисплея обычно очень тонкие, будьте осторожны, не перепутайте их.

Вот сводка подключения:

ESP32 GND -> ЖК-дисплей -ve

-> LCD LED -ve ESP32 3v3 -> LCD + ve -> резистор 10 Ом -> LCD LED + ve ESP32 GPIO16 -> LCD RS (DC) ESP32 GPIO23 -> LCD SDA (SPI MOSI) ESP32 GPIO05 -> LCD CS ESP32 GPIO17 -> ЖК-дисплей RST ESP32 GPIO18 -> ЖК-дисплей CL (SPI CLK)

Советы: для линии электропередачи требуется более толстый провод для прохождения тока, но для фиксации положения требуется больше усилий; в других сигнальных линиях можно использовать более тонкий провод, что облегчит пайку.

Шаг 7. Установите ЖК-дисплей на подставку

Установите ЖК-дисплей на подставку
Установите ЖК-дисплей на подставку
Установите ЖК-дисплей на подставку
Установите ЖК-дисплей на подставку
Поставьте ЖК-дисплей на подставку
Поставьте ЖК-дисплей на подставку

Убедитесь, что программа работает правильно, а затем закрепите на подставке.

Шаг 8: Счастливое время

Счастливое время!
Счастливое время!

Пришло время разместить его на рабочем столе и показать другу, что вы сделали!

Шаг 9: Что дальше?

  • Попробуйте другую вариацию BiJin ToKei
  • Произвольный поворот выбранных вариантов
  • Портной сделал свои фотографии
  • Отображение времени крупным шрифтом в случае, если картинка не загрузилась
  • Попробуйте больший экран, например ili9488 (320 x 480)

Рекомендуемые: