Оглавление:

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

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

Видео: Google Photo Clock: 7 шагов (с изображениями)
Видео: Урок 12. Красота! Добавляем изображения в Google Рисунки | Курс "Прототипы" 2024, Ноябрь
Anonim
Image
Image
Google Фото Часы
Google Фото Часы
Google Фото Часы
Google Фото Часы
Google Фото Часы
Google Фото Часы

В этой инструкции показано, как использовать ESP32 и ЖК-дисплей для создания цифровых часов с произвольным отображением фотографий в фоновом режиме каждую минуту. Фотографии взяты из вашего общего фотоальбома Google, просто введите ссылку для общего доступа. ESP32 выполнит эту работу;>

Шаг 1: Подготовка оборудования

Подготовка оборудования
Подготовка оборудования
Подготовка оборудования
Подготовка оборудования
Подготовка оборудования
Подготовка оборудования

ПОВТОРНОЕ ИСПОЛЬЗОВАНИЕ ОБОРУДОВАНИЯ ПРЕДЫДУЩЕГО ПРОЕКТА

Если вы выполнили предыдущие инструкции, вы можете повторно использовать оборудование для этого проекта и можете пропустить сборку оборудования:

  • https://www.instructables.com/id/Floating-Display/
  • https://www.instructables.com/id/COVID-19-WHO-Dash…

Плата для разработчиков ESP8266 / ESP32

Любая плата разработчика ESP8266 / ESP32 должна быть в порядке.

ЖК дисплей

Любой ЖК-дисплей с поддержкой Arduino_GFX подходит, вы можете найти поддерживаемый в настоящее время дисплей в файле readme на GitHub:

Макетная плата

Любой макет, который подходит для платы разработчика ESP и ЖК-дисплея.

Перемычка

Некоторые перемычки зависят от платы разработчика и расположения выводов ЖК-дисплея. В большинстве случаев достаточно 6-9 перемычек «папа-мама».

Шаг 2: Сборка оборудования

Сборка оборудования
Сборка оборудования
Сборка оборудования
Сборка оборудования
Сборка оборудования
Сборка оборудования
Сборка оборудования
Сборка оборудования

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

Вот пример сводки по подключению:

ESP8266 -> ЖК-дисплей

Vcc -> Vcc

GND -> GND GPIO 15 -> CS GPIO 5 -> DC (если есть) RST -> RST GPIO 14 -> SCK GPIO 12 -> MISO (опционально) GPIO 4 -> LED (если есть) GPIO 13 -> MOSI / ПДД

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

Vcc -> Vcc

GND -> GND GPIO 5 -> CS GPIO 16 -> DC (если есть) GPIO 17 -> RST GPIO 18 -> SCK GPIO 19 -> MISO (опционально) GPIO 22 -> LED (если есть) GPIO 23 -> MOSI / SDA

Шаг 3: Подготовка программного обеспечения

IDE Arduino

Загрузите и установите Arduino IDE, если вы еще этого не сделали:

www.arduino.cc/en/main/software

ESP8266 Поддержка

Следуйте инструкциям по установке, чтобы добавить поддержку ESP8266, если вы еще этого не сделали:

github.com/esp8266/Arduino

Загрузчик файловой системы Arduino ESP8266

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

github.com/esp8266/arduino-esp8266fs-plugi…

Поддержка ESP32

Следуйте инструкциям по установке, чтобы добавить поддержку ESP32, если вы еще этого не сделали:

github.com/espressif/arduino-esp32

Библиотека Arduino_GFX

Загрузите последние библиотеки Arduino_GFX: (нажмите «Клонировать или загрузить» -> «Загрузить ZIP»)

github.com/moononournation/Arduino_GFX

Импортируйте библиотеки в Arduino IDE. (Меню «Скетч» в Arduino IDE -> «Включить библиотеку» -> «Добавить библиотеку. ZIP» -> выбрать загруженный ZIP-файл)

Шаг 4. Настройка и загрузка

Настройка и загрузка
Настройка и загрузка
  1. Загрузите программу на GitHub: (нажмите «Клонировать или загрузить» -> «Загрузить ZIP»)
  2. Откройте GooglePhotoClock.ino с помощью Arduino IDE.
  3. Заполните настройки точки доступа WiFi в SSID_NAME и SSID_PASSWORD
  4. Заполните информацию о местном часовом поясе в GMT_OFFSET_SEC, DAYLIGHT_OFFSET_SEC и TZ
  5. Подготовьте общий альбом в Google Фото, создайте ссылку для публикации и заполните GOOGLE_PHOTO_SHARE_LINK
  6. Если вы не используете ЖК-дисплей ILI9341, закомментируйте строку 133 и раскомментируйте правильное объявление класса ЖК-дисплея.
  7. Подключите ESP Dev Board к компьютеру
  8. Нажмите кнопку Загрузить, чтобы скомпилировать и загрузить программу на ESP Dev Board.

Шаг 5: ESP8266 BearSSL CertStore

ESP8266 BearSSL CertStore
ESP8266 BearSSL CertStore
ESP8266 BearSSL CertStore
ESP8266 BearSSL CertStore

Google Photo требует подключения по протоколу HTTPS. Последняя версия ESP8266, использующая реализацию BearSSL, требует некоторой предварительной обработки данных CertStore.

Я сгенерировал данные CertStore 18 апреля 2020 года, вы выполните его регенерацию, запустив:

python make_spiffs.py

Если вы используете ESP8266, выполните следующие действия для загрузки данных CertStore:

  1. Откройте Arduino IDE
  2. Подключите плату разработчика ESP8266 к компьютеру
  3. Выберите меню "Инструменты"
  4. Выберите загрузку данных эскиза ESP8266
  5. Дождитесь завершения загрузки

Шаг 6: как это работает?

  1. Подключитесь к предопределенной точке доступа Wi-Fi
  2. Получить текущее время с сервера NTP
  3. Сделайте запрос HTTPS для общей ссылки Google Фото
  4. Код ответа HTTPS 302 и включен адрес перенаправления в заголовок ответа
  5. Сделайте HTTPS-запрос местоположения перенаправления
  6. Прочтите список фотографий из массива Javascript в ответном HTML (HTML превышает 500 КБ, требуется некоторое время для чтения и разделения данных)
  7. Для каждой minitues случайным образом выберите фотографию в списке фотографий.
  8. Только для ESP8266: сначала попробуйте найти кешированный файл фотографии в SPIFFS.
  9. Сделать ссылку на фото HTTPS запрос
  10. Только для ESP8266: кешируйте файл фотографии в SPIFFS.
  11. Показать фото
  12. Напечатать текущее время на фото

Шаг 7: Наслаждайтесь

Наслаждаться!
Наслаждаться!
Наслаждаться!
Наслаждаться!

Пришло время добавить больше любимых фотографий в общий фотоальбом и поставить эти Google Фото-часы на свой стол.

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